My name is Joseph Wynn. I'm a full stack developer and engineering team lead with a focus on performance and accessibility. My experience is with building high-traffic, high-availability distributed systems at companies like BBC News and Time Inc. I maintain some open source projects (github.com/wildlyinaccurate) and occasionally blog about my experiences (wildlyinaccurate.com).
At SpeedCurve I've been able to take my passion for web performance even further. I build features that help people understand their performance, using statistical analysis and data visualisation to extract meaningful information from millions of data points.
I led the engineering team rebuilding the front page of BBC News with a rigorous focus on performance. The new front page is significantly faster, and drives better user engagement: bounce rate is down 2% and weekly return visits are up 9%. The front page is built with Node.js, composed of React components that are shared through an internal open source effort. The components are exposed as HTTP endpoints and assembled by a page composition service.
Working closely with product teams and business analysts, I oversaw technical delivery of projects. This included managing stakeholders, defining the technical architecture, and building continuous integration pipelines. I developed core features, mentored developers, defined code structure, and worked closely with other teams to deliver integrated features.
Tech Stack: Node.js, Ruby, Go, AWS (EC2, ELB, S3, DynamoDB), and Docker
I introduced a Git workflow that streamlined our deployment process and reduced defects by cutting releases from a single branch and enforcing code reviews before merges.
Tech Stack: PHP (Zend), PostgreSQL, Lucene, ElasticSearch, and deployments to EC2 instances
At Time Inc. I worked on building out a new API-driven mobile web site platform. During this project I became interested in automated testing as a way to improve the quality of our products. I wrote a smoke test tool that uses PhantomJS to check for common page-level errors, and takes a screenshot of each page to aid manual visual checks. This helped catch bugs quickly, and enabled us to deploy the platform several times a day with confidence.
Working in a small close-knit team I architected and built a web interface used by bookmakers around the UK to monitor and set pricing in real time. To support legacy browsers, I chose to implement a long polling mechanism to achieve the "real time" functionality.
I also worked closely with Chroma's clients to create bespoke modules for the ExpressionEngine CMS, including an interface for managing email campaigns using the Campaign Monitor API, and a membership management tool for Racing UK Club.
Using the CodeIgniter PHP framework and Doctrine ORM, I helped to build a booking and scheduling system used by tourism operators around New Zealand.
I was also involved in architecting and building a secure file sharing application using the Dropbox API.
Based on my experiences transitioning to a team lead role at the BBC, this is the survival guide I wish I had many years ago. It contains techniques for growing a happy & successful team, as well as tips for dealing with some of the pressures that come with being a team lead.
Written from the perspective of a tinkerer who is peeking under the hood, this book explains some of Git’s core concepts including basic object storage, commits, branches and tags. It also contains in-depth explanations about the different kinds of merging in Git.
An analysis of the (then) forthcoming HTML5 specification. The summary of this publication was displayed at the first annual CITRENZ conference, along with a live demonstration of some the new Google Chrome APIs.
Below is a collection of my most popular open source work. You can visit my GitHub profile for a more complete picture of the open source work that I do.