Drew McLellan

Hello, I’m Drew, a software engineer from Bristol, south-west UK.

I’ve built a career straddling the front and back end of web development, building fast and reliable software platforms capable of delivering carefully crafted and well considered output to the browser.

Over the last twenty-something years, I’ve turned my hand to all sorts of problems that usually come down to how to edit, store, manipulate, transform, and performantly deliver content over the web. From localised Flash-based games for kids to modern SaaS solutions for public speakers. In the middle I built a self-hosted CMS product used by tens of thousands of web designers to deliver content managed projects to their small business customers.

Outside of work I enjoy photography and audio visual nerdery (my Zoom set-up is second to none) and am the chairperson for one of the largest Bristol running clubs and have competed in marathons, triathlons, and road cycling events.

Jump to

Skills & tools

Back-end
Heroic levels of PHP, MySQL, great JavaScript and Node.js, Git.
Postgres, Redis, Varnish, Beanstalkd.
Perl, ASP, SQL Server, Subversion, CVS.
Jest, Vitest, Playwright, Storybook.
Basic Linux server administration.
Front-end
HTML, CSS, JavaScript, TypeScript.
Vue, Pinia, React, Redux.
jQuery, ActionScript, Lingo.
Tools recently used
Circle CI, Travis CI, DeployBot, Beanstalk, GitHub.
Stripe, Paddle, Paypal, Chargebee, Omnipay.
Laravel, Slim Framework, PHPUnit.
Nuxt, 11ty, Metalsmith, Jekyll, Fractal.
Vite, Gulp, Grunt, Webpack, Sass.
Solr, Elastic Search.
Apache, nginx, Varnish, Puppet.
Netlify, Amazon AWS, Microsoft Azure, Rackspace Cloud.
Docker (local dev), Vagrant.

Contact

You can email me with drew@allinthehead.com.

Work History

Staff Software Engineer, Snyk

—present

I was promoted within Snyk to the position Staff Software Engineer following the success of our decomposition efforts.

My focus remains on the frontend problem space.

Senior Software Engineer, Snyk

I worked on an internal Frontend Enablement team supporting engineers within the R&D organisation to ship frontend projects. This involved setting standards, providing tooling, and supporting teams through education, recruiting, mentoring, and pairing.

In 2021 I helped facilitate an internal restructuring, creating a new back-of-the-frontend team to work in tandem with the Design Engineering team to provide a unified Frontend Platform within Snyk.

As Team Lead, I was involved in hiring Staff Engineers into the team, and delivering an abmitious project to decompose the Snyk user interface from an existing monolithic application into a dedicated frontend SPA.

Management of the decomposition project within my team saw me collaborating at Manager and Director-level meetings, conducting briefings, and holding weekly Office Hours sessions to ensure effective colloboration with the rest of the department.

Senior Frontend Engineer, Netlify

I worked as a Senior Frontend Engineer at Netlify on the core team for developing and maintaining the React/Redux-based UI at app.netlify.com.

During this time I worked as a lead on developing new features, as well as supporting colleagues in testing, code reviewing, and building out their own.

I was involved in the definition, research, and decision making process for several key architectural decisions for future iterations of the codebase, and participated in collaborative design review meetings throughout each week.

I spent time within the Netlify Community forums helping customers troubleshoot issues. I also participated in a regular on-call rotation, being available to respond 24/7 to service support incidents for one week in every six.

Podcast producer, Smashing Media

—present

I work on a freelance basis for Smashing Magazine developing, producing, and hosting the Smashing Podcast. This involves finding and researching guests, recording interviews and news segments, performing audio post-production, and co-ordinating with the Smashing Magazine team to publish an episode every two weeks.

Subject editor, Smashing Magazine

I worked on a freelance basis at Smashing Magazine as an editor for Web Platform articles for the magazine. This involved finding authors, identifying topics, and developing articles for publication.

Director, edgeofmyseat.com

When I joined edgeofmyseat.com we were primarily an outsourced development partner for multiple web design agencies. I developed a PHP/MySQL CMS based on common themes and requirements that were coming up in client projects.

Due to the success of that larger platform, I built Perch, a commercial CMS product designed for those design agency clients to be able to implement themselves for smaller budget projects. We launched Perch on general sale in May 2009, and it has been a large part of our income for 10 years. I handle ongoing development and maintenance of the system, as well as day-to-day customer support.

In addition to CMS projects, I built an e-commerce platform, web asset management system and volunteer management system for a UK-based arts festival client. The system handled millions of pounds of ticket sales and solved all the scale and reliability problems the organisation had around ticket price-increase deadlines with their previous solutions.

In 2018, I developed Notist, a portfolio platform for public speakers. Notist hosts slide decks, resource links, video links and social feedback for presentations.

I have worked in Laravel to develop a REST API to deliver a branched questionnaire learning system for an online training company.

Front-End Engineer, Search Innovation, Yahoo!

At Yahoo! I worked as part of a small incubator project within the Search Innovation department to create new products around local search. After one of our prototypes got commissioned, I took over a team lead for four front-end developers, liaising with design, engineering and product management leads to schedule features and plan sprints.

When I left Yahoo! the product was many months into development but unfortunately never launched.

Senior Web Application Developer, Oliis

At Oliis I worked on FreeAds.co.uk, which at the time was one of the UK’s largest free-listing ad sites. This legacy PHP application operated at surprisingly high scale, and a lot of my work involved making performance and usability improvements. The platform had to be improved very slowly and incrementally, from both a technical and a political viewpoint, with a fragile codebase and internal resistance to change.

Freelance Developer, edgeofmyseat.com

In 2004 I began taking on development projects for edgeofmyseat.com outside office hours. Principally I worked on an international car rental booking system with management of vehicles, selling locations, franchising levels, mark-up and retail rates in multiple currencies and jurisdictions. The system exposed an XML API for franchises to develop their own custom booking interfaces. Classic ASP and SQL Server.

Senior Web Developer, Mirashade

Mirashade was a design and multimedia agency, where I joined a team of web designers, film makers, 3D modellers and UX designers to build out the back end of web projects. Switching to a PHP/MySQL stack, I developed an in-house CMS used for multiple client projects, and an MVC web application framework.

IT Manager, DKNI

DKNI was a full service design and marketing agency, with the IT department being responsible for all web development as well as maintaining computers and networks. I was brought on as a manager, with just one direct report.

My main contribution here was developing a content management system (ASP and SQL Server) to be used as both the basis of regular client websites, and the as foundation of a platform for celebrity fan sites, where membership was purchased with reverse-billed SMS micropayments.

I also developed a SaaS micro-CMS which enabled the editing of static, remote HTML pages through content definitions stored in HTML comments.

Senior Web Developer, Designation

Designation was a design and branding agency. For most of my time there I was the lead technical developer working with a team of multidisciplinary designers on a range of client projects.

One notable project was Cubeez.com, an immersive educational game-based world for preschoolers in support of an animated TV series. With a front end built entirely in Flash 5, I designed an architecture to enable all text content to be translated and delivered from the back end via XML, mostly directly over HTTP from SQL Server’s XML interface. I learned lots about content encoding.

We also built an online marketplace for used jet airplane engines, and I learned about the importance of clear and careful user interface design when a director used an email marketing tool I’d built to sent a test message to the live customer list.

Web Developer, Multiactive Software

At Multiactive (now Maximizer Software) I was responsible for taking over the maintenance and development of the websites and ecommerce store for the EMEA region. I worked in HTML and Perl, and while I was there created the company’s first intranet to much 1990s fanfare.

Freelance Web Developer, (part time)

While in school I built projects for small local businesses and organisations.

Projects

Dreamweaver

In 1999 I started using Dreamweaver as an HTML editor and found Macromedia’s usenet groups for the product. I took to the product easily, so then spent time helping other users with their questions on usenet. This lead to creating extensions, writing articles and eventually books. Around 2000 I was made a Macromedia Evangelist for Dreamweaver.

The Web Standards Project

In 2001 I joined The Web Standards Project to form the Dreamweaver Task Force with Rachel Andrew. Our remit was to work with Macromedia to improve the standards compliance of the defaults within Dreamweaver, so that without intervention the software would create valid markup.

Within WaSP, I worked with the team to put together the Browse Happy campaign, which encouraged the wider web-using public to upgrade their browser to one with better security and standards compliance.

As Press Officer in 2005 I was responsible for the public launch of the Acid2 browser test.

From 2006-2008 I took over a joint leadership role of WaSP alongside Kimberly Blessing. We created initiatives such as WaSP Street Team.

Microformats

From around 2006 I was involved with the microformats community, including participating in discussions around formats and taking an particular interest in social network portability.

I evangelised the use of microformats through contribution to community discussion, blog posts, barcamps and conference presentations. I created several microformats-related tools, including browser bookmarklet linting scripts, authoring extensions for Adobe Dreamweaver, and an open source PHP parsing library called hkit for many of the main microformat types. I was a volunteer microformats admin until around 2011.

24 ways

Between 2005 and 2019 I ran 24 ways, an annual web design and development article site which published 1st—24th December in the lead up to Christmas. The content aimed to promote a standards-based and user-focused approach to designing and developing websites.

Operating annually for 15 years, we have published articles from authors such as Chris Coyier, Sarah Drasner, Brad Frost, Val Head, Lara Hogan, Jeremy Keith, Una Kravets, Mina Markham, Harry Roberts, Lea Verou and Jeffery Zeldman (to name but a few).

Alongside my friend Anna Debenham, I led a small production team to research, acquire, edit and publish the articles each December.

Open source

I’ve built a released a few tools under an open source license. Currently the most widely used is a mailchimp-php, a PHP interface to the MailChimp API.

In the past I've released hacks to patch PNG transparency for IE6 and developed a technique to use Flash in an XHTML page and still have it validate. I’ve released free extensions for Dreamweaver, and made small contributions to many open source projects when encoutering bugs and shortcomings. See my GitHub profile for more.

Writing

Below is a selection of published articles and books that I have worked on, either as an author or as an editor.

Optimizing Performance With Resource Hints

2019

Author. Smashing Magazine.

Understanding Subresource Integrity

2019

Author. Smashing Magazine.

HTML5 Input Types: Where Are They Now?

2019

Author. Smashing Magazine.

Dynamic Social Sharing Images

2018

Author. 24 ways to impress your friends.

Measuring Performance With Server Timing

2018

Author. Smashing Magazine.

Logging Activity With The Web Beacon API

2018

Author. Smashing Magazine.

All That Glisters

2017

Author. 24 ways to impress your friends.

Taking Device Orientation for a Spin

2016

Author. 24 ways to impress your friends.

Solve the Hard Problems

2015

Author. 24 ways to impress your friends.

What It Takes to Build a Website

2014

Author. 24 ways to impress your friends.

URL Rewriting for the Fearful

2013

Author. 24 ways to impress your friends.

HTML5 Video Bumpers

2012

Author. 24 ways to impress your friends.

Creating Custom Font Stacks with Unicode-Range

2011

Author. 24 ways to impress your friends.

Finding Your Way with Static Maps

2010

Author. 24 ways to impress your friends.

Working With RGBA Colour

2009

Author. 24 ways to impress your friends.

Easing The Path from Design to Development

2008

Author. 24 ways to impress your friends.

Performance On A Shoe String

2007

Author. 24 ways to impress your friends.

Transparent PNGs in Internet Explorer 6

2007

Author. 24 ways to impress your friends.

Writing Responsible JavaScript

2006

Author. 24 ways to impress your friends.

Tasty Text Trimmer

2006

Author. 24 ways to impress your friends.

Edit-in-Place with Ajax

2005

Author. 24 ways to impress your friends.

Auto-Selecting Navigation

2005

Author. 24 ways to impress your friends.

Practical Microformats with hCard

2005

Author. 24 ways to impress your friends.

Easy Ajax with Prototype

2005

Author. 24 ways to impress your friends.

Very Dynamic Web Interfaces

2005

Author. O’Reilly Media XML.com

Web Standards Solutions

2004

Technical Reviewer. Dan Cederholm. Friends of Ed/Apress. ISBN 1590593812

Dreamweaver ASP Web Development

2003

Co-Author. Glasshaus/Apress. ISBN 1590593499

Designing with CSS in Macromedia Dreamweaver MX 2004

2003

Author. Macromedia DevNet, Macromedia.com

Dreamweaver MX Instant Troubleshooter

2003

Co-Author. Glasshaus. ISBN 1904151299

Flash Satay - cross-browser, standards compliant Flash

2002

Author. A List Apart Magazine, alistapart.com

Five steps to more professional pages with Dreamweaver MX

2002

Author. Macromedia DesDev, Macromedia.com

Tableless Layouts with Dreamweaver MX

2002

Author. Macromedia DesDev, Macromedia.com

Dreamweaver MX Extensions

2002

Technical Contributor. Laura Gutman. New Riders Publishing. ISBN 0735711828

Dreamweaver MX Web Development

2002

Author. New Riders Publishing. ISBN 0735713081

UltraDev 4 Bible

2001

Technical Editor. Joseph Lowery. Hungry Minds. ISBN 0764534874

Public Speaking

Understanding oEmbed

November 2019

PHPSW Lightning Talks, Bristol, UK

Measuring Performance with Server Timing

November 2018

BristolJS, Bristol, UK

Push Button, Receive Beacon

July 2018

BristolJS, Bristol, UK

HTML5 Constraint Validation

April 2018

BristolJS, Bristol, UK

Static Site Generators, PHP and The Cuban Revolution

April 2018

PHPSW Lightning Talks, Bristol, UK

HTML5 APIs You’ve Never Heard Of

April 2017

PHP Yorkshire, York, UK

HTML5 APIs You’ve Never Heard Of

March 2017

ConFoo Montreal, Montreal, QC, Canada

Mastering PHP Payments with Omnipay

March 2017

ConFoo Montreal, Montreal, QC, Canada

HTML5 APIs You’ve Never Heard Of

December 2016

ConFoo Vancouver 2016, Vancouver, BC, Canada

Securing Distributed Software

September 2016

PHPSW Security, Bristol, UK

Learn to Love Regular Expressions

October 2015

Future of Web Apps London, London, UK

Building Ecommerce Projects with Moltin

July 2015

PHPSW eCommerce, Bristol, UK

Getting To Grips with Regular Expressions

February 2015

ConFoo 2015, Montreal, QC, Canada

Turning a Side Project into a Thriving Business

February 2014

The Product Owner, Oxford, UK

Perch CMS Template Engine

September 2013

RDG Geek Night, Reading, UK

Back To Front Performance

October 2012

Future of Web Apps London, London, UK

The Original Hypertext Preprocessor

April 2011

PHP Community Conference, Nashville, TN, USA

Cost Effective Web Development

October 2010

Iceweb, Reykjavík, Iceland

Strategies For Progressive Enhancement

September 2010

Think Vitamin JavaScript Conference, Virtual

Making Your Content Discoverable with Microformats

September 2009

Future of Web Design Tour Glasgow, Glasgow, UK

Making Your Content Discoverable with Microformats

September 2009

Future of Web Design Tour Belfast, Belfast, UK

10 Cost Effective Web Development Techniques

May 2009

twiist.be, Leuven, Belgium

Using RGBA Colour The Bagpuss Way

January 2009

Oxford Geek Night 10, Oxford, UK

What Brian Cant Never Taught You About Metadata

August 2008

Geek in the Park, Royal Leamington Spa, UK

The Clangers Guide to Microformats

June 2008

Oxford Geek Night 7, Oxford, UK

Content Management Without The Killing

May 2008

@media 2008, London, UK

How to Be a URL Womble

July 2007

Oxford Geek Night 3, Oxford, UK

Can Your Website Be Your API?

July 2007

Institutional Web Management Workshop, York, UK

High Noon Shootout: Design vs Implementation

June 2007

@media 2007, London, UK

Can Your Website Be Your API?

April 2007

The Highland Fling 2007, Edinburgh, UK

Can Your Website Be Your API?

October 2006

Web Standards Group London Meetup, London, UK

WTF: WaSP Task Force Panel: Getting the Job Done Right

March 2006

SXSW Interactive 2006, Austin, TX, USA

How to Create a Good Website for Your Open Source Project

June 2005

LUGRadio Live 2005, Wolverhampton, UK