About me 📝
Hi there! I’m Matthew Riley MacPherson, a software engineer and public speaker living in Edinburgh, Scotland. I’ve worked in open source for nearly a decade, so most of my work is available on sites like GitHub.
I care a lot about accessibility, code quality, copy-editing, and design. I automate processes so people spend their time on work that requires human thought, not repetitive gruntwork.
I’ve worked on everything from small business blogs to shipping Firefox and WordPress to hundreds of millions of people. I created localForage, a popular offline storage library because I care about developers too.
Having worked with Django, Rails, Node.js, React, Drupal, and WordPress extensively throughout my career, I love learning new things and am well-versed in existing tools. I write thorough, thoughtful tests because I’d prefer to be the one to find bugs in my software. I do the same for documentation, because I’m not the only person who will need to use my code.
I love working on open source software, and I love working on products that democratise distribution and publishing. I will always fight against the consolidation of platforms on the web, because I don’t want more technology monopolies to limit people and small business’ control of themselves.
Work experience 💼
April 2018–January 2019
Worked at Automattic as a WordPress Core Developer, chiefly on Gutenberg, the new WordPress editing experience. Served as the Accessibility Release Lead for WordPress 5.0, one of the biggest WordPress releases in history, and worked to improve WordPress’ editing experience for all users.
Worked on all aspects of Gutenberg: from API design and developer documentation; to prototyping and implementing new features. I worked to drastically improve Gutenberg’s end-to-end tests to prevent regressions and maintain a fast development pace.
I retain core commit access to WordPress and also worked on other Automattic projects, including WordPress.com.
Senior Software Engineer, Mozilla
May 2011–April 2018
Worked on large-scale Django apps like mozilla.org, mozillians.org, and React rewrite of addons.mozilla.org. Spoke at conferences and organised developer workshops in over a dozen countries from Brazil to Malaysia. Worked on Firefox’s transition to WebExtensions including core browser code shipped to nearly half a billion users.
Lead Front-end Developer, ViewPoint
July 2010–May 2011
I built a fast and engaging map interface for ViewPoint, a Canadian real estate start-up offering a better property browsing experience for home buyers. We dealt with various government and industry datasets requiring extensive testing to ensure data imported correctly.
I wrote and thoroughly documented a PHP API used across the site, migrated the site to the new Google Maps API, and improved the speed and user experience of the site. Being a start-up, our team was extremely small. To account for this, I wrote extensive automated UI tests to ensure the site worked well in spite of limited code review.
Web Development and DevOps, Nova Scotia Government
September 2006–July 2010
Originally hired as a summer intern, I was asked to stay on full-time as a web developer, server administrator, and software consultant at Nova Scotia Government. I worked on tools that allowed novice web developers to easily create government web sites that inherited a common look and feel, resulting in a much more consistent experience across government sites.
I worked with everything from Windows Server to Linux–ASP (classic!) to Ruby on Rails. I helped teach many government web developers (who were previously copywriters and had become web developers by chance) how to develop accessible and responsive sites. I advocated for more open source software, leading to widespread adoption of Drupal and WordPress throughout government instead of SharePoint. 😱