Senior Software Engineer
I love solving difficult problems to simplify people’s lives.
I live in Edinburgh, Scotland and will not consider relocating for work. However, I’m happy to work remotely from my home here and travel regularly to anywhere in the world.
No recruiters, please.
- +44 (0)773 405 2864
Porting software between Windows, Mac and Linux. Administering Linux servers (virtual and physical), Windows and Mac machines. Passionately advocating for, designing and implementing CI systems.
Considerable experience contributing to open-source software and getting patches accepted upstream.
The University of Edinburgh (2003 - 2007)
Git in Practice (2014)
An intermediate/advanced Git techniques book published with Manning Publications in September 2014.
FOSSASIA (keynote speaker, 2016)
- Advanced Git (and GitHub)
- The Foundations of Git and GitHub
Gran Canaria Desktop Summit (2009)
JavaOne Rock Star (2014)
The JavaOne Rock Star Program “recognise[s] speakers for their outstanding session content and speaking ability”.
UK Open Source Awards (2014)
Shortlisted for the person/project prize.
GitHub (2013 - Present)
Senior Software Engineer improving the GitHub platform for developers inside and outside GitHub. Previously improving the quality for GitHub Enterprise through release management, engineering and improving manual QA, CI, packaging, deployment, automation and ChatOps around the release process. Primary on-call rotation for GitHub.com.
AllTrails (2012 - 2013)
Full stack engineer developing Rails/MySQL back-end and Coffeescript/SASS front-end for AllTrails and AllSnow. Developed features, APIs and optimized performance. Setup CI and automatic deployment for Rails and mobile applications. Managed and improved AWS infrastructure.
Homebrew (2009 - Present)
Lead Maintainer. Invented Homebrew binary packages (bottles), fix users issues and develop features. Started a successful Kickstarter project which was funded in two hours to create a CI system for Homebrew. Installed servers into data-centre and keep them running.
KDAB (2009 - 2012)
Technical team lead providing international cross-platform consultancy. Led several teams who always delivered on time and in budget. Generated successful sales leads and sold a six figure contract. Regularly travelled internationally to train software engineers, solve hard problems and kick off projects to consistently positive customer feedback. Created a new CI system which replaced the previous one to improve company productivity.
Mendeley (2008 - 2009)
First employee and lead developer for Mendeley Desktop. Setup all servers and software systems. Created a workflow focused on quick deployment and high quality through automated builds, tests, packages for Windows, Mac and Linux. Designed, ran technical interviews and personally recruited three engineers.
Ported Qt/MSVC++ application from Windows to CMake, OS X and Linux. Proposed, implemented the successful rewrite of problematic contracted legacy code creating a faster application and happier users. Designed, implemented the REST XML protocol used between Mendeley Desktop and Web.
BT (2007 - 2008)
Created record-breaking high-performance network analysis applications on the IBM Cell Processor. Taught others about and setup version control, continuous integration and issue trackers. Won a place on the graduate scheme.
Google Summer of Code (2007)
Wolfson Microelectronics (2006)
Wrote battery driver, improved Auxiliary ADC code for Intel XScale on Windows CE. Wrote WM8711 Linux kernel driver which was released in 2.6.26. Improved AC’97, I2S audio drivers and fixed a noisy LCD issue.
Cycling, guitars, cooking, cinema, politics, photography, philosophy and skiing.