My name is Joseph Wynn. I'm a full stack web developer with a focus on performance and accessibility. My experience is with high-traffic, high-availability distributed systems at companies like BBC News and Time. I maintain some open source projects (github.com/wildlyinaccurate) and occasionally blog about my experiences (wildlyinaccurate.com).
I lead 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 system. The components are exposed as HTTP endpoints and assembled by a page composition service.
I oversaw technical delivery of projects including 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 related features.
The tech stack included Node.js, Ruby, Go, AWS (EC2, ELB, S3, DynamoDB), 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.
The tech stack included PHP on the Zend 2 framework, 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.
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.