Senior Software Engineer
I love solving difficult problems to simplify people’s lives.
I happily live in Edinburgh, Scotland and will never consider relocating for work. I’m happy to work remotely from my home here and travel regularly to anywhere in the world. Recruiters: do not contact me if this is not possible in your organisation.
- mikemcquaid.com (written articles, projects and talks)
- github.com/MikeMcQuaid (my open-source projects)
- stackexchange.com/users/3692/mike-mcquaid (my StackExchange answers)
Extensive experience in Ruby, Rails, Git, Bash/shell scripting, Qt, C++, C, MySQL and CMake. Productive with other languages and technologies in days.
Porting software between Windows, Mac and Linux. Administering Linux servers, automating Windows and Mac machines. Advocating for, designing and implementing CI systems.
Widespread experience contributing to open-source software and getting patches accepted upstream.
GitHub (2013 - Present)
Senior engineer improving the GitHub.com site and subdomains. Previously improving GitHub for free and open-source software, improving the GitHub platform for developers inside and outside GitHub, improving the quality for GitHub Enterprise through release management, engineering and improving manual QA, CI, packaging, deployment, automation and ChatOps for the release process. Previously on service, ops and application on-call rotations for GitHub.com.
Homebrew (2009 - Present)
Lead Maintainer. Invented Homebrew binary packages (bottles), fix users issues, plan roadmap, teach new maintainers and contributors and develop features in Ruby and Bash. Started a successful Kickstarter project which was funded in two hours to create a Jenkins CI system for Homebrew. Installed servers into data-centre and keep them running.
AllTrails (2012 - 2013)
Full stack engineer developing Rails/MySQL back-end and Coffeescript/SASS front-end for AllTrails and AllSnow. Developed features, APIs and optimised performance. Setup Jenkins CI and automatic Chef deployment for Rails and mobile applications HockeyApp deployment. Managed and improved AWS EC2 infrastructure.
KDAB (2009 - 2012)
Technical team lead providing international Qt/C++ cross-platform consultancy. Led teams who always delivered on time and in budget. Generated successful sales leads and sold a six figure contract. Travelled internationally to train software engineers, solve hard problems and kick off projects to consistently positive customer feedback. Created a new Buildbot/CPack based CI system which replaced the previous one to improve company productivity.
Mendeley (2008 - 2009)
First employee and lead developer for Mendeley Desktop. Setup all Linux servers and software systems. Created a workflow focused on quick deployment and high quality through automated Buildbot builds, tests, CPack packages for Windows, Mac and Linux. Designed, ran technical interviews and personally recruited three engineers.
Ported Qt/MSVC++ application from Windows to CMake, macOS 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 in C on the IBM Cell Processor. Taught others about and setup Subversion version control, Buildbot continuous integration and Trac issue tracker. Won a place on the graduate scheme.
Google Summer of Code (2007)
Wolfson Microelectronics (2006)
Wrote battery driver, improved Auxiliary ADC C++ code for Intel XScale on Windows CE. Wrote WM8711 Linux kernel driver in C which was released in 2.6.26. Improved AC’97, I2S audio drivers and fixed a noisy LCD issue.
Git in Practice (2014)
An opinionated intermediate/advanced Git book published with Manning Publications in September 2014.
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.