π Yes. That is my wife and kids. But I’ve no idea who the other guy is π Ps, this is an old image (circa 2024) but I like it π€
π Hello
Hello, my name is Mark and I work at Fastly as a Staff Software Engineer.
π Previously
- Staff Software Engineer at BuzzFeed
- Principal Engineer at BBCNews
- Principal Engineer at StormCreative
π€ Working Together / Testimonials
The following quotes are all genuine. I’ve never asked anyone I’ve worked with to say/write something nice about me, but I’ve had the good fortune to have built up wonderful relationships with the people I work with, and so they have responded in kind by posting nice things to/about me in public work Slack channels…
Product Support at BuzzFeed
"As smart as developers are, they are not always good at explaining things in a way that makes human sense. not you. you are an exception. you are A+"
-- Product Support at BuzzFeed.
I β€οΈ this feedback. It came from someone I was mentoring. She was interested in getting a better understanding of how to design and architect software systems, and also how to know what types of questions she should ask when investigating technical incidents.
Her feedback also hints at something bigger which I strive for: to help others to do their best work and to push/promote the good work other engineers do (including those from either a diverse background or minority).
CTO at Fastly
I just read https://www.integralist.co.uk/posts/fastly-varnish/ and itβs amazing
-- CTO at Fastly.
I mean... come on, what more could you ask for π
Engineering Manager at Fastly
"Hi Mark, your name keeps coming up (in a good way π) and I wanted to put a face to a name. Folks on the team like working with you. You're responsive and provide good and timely feedback."
-- Engineering Manager at Fastly.
I always aim to build meaningful relationships with the people I work with across an organisation. In doing so I hope to ensure that we are able to work as a cohesive unit, and provide great value to our users. But ultimately I like to be helpful (it makes me feel good), so this was a nice bit of unexpected feedback β€οΈ
Senior Sales Engineer at Fastly
"Thanks, I'm amazed that you always deliver top notch answers."
-- Senior Sales Engineer at Fastly.
Funnily enough I actually _didn't_ have the answer they needed. I wanted to redirect this person to where I thought would be the best place for them to get a solution (so it included as much historical context, and as many signposts, as I could provide).
A kind smile, a compassionate ear, and a bit of effort goes a long way in life.
Senior Sales Engineer at Fastly
"Hey Manβ¦ you are a true powerhouse in fixing issues and handling customersβ¦ iβm truly impressed by you! Thanks and keep it up!"
-- Senior Sales Engineer at Fastly.
I genuinely care about getting customers unstuck, so it's always lovely when someone notices the extra effort.
Senior Solutions Architect at Fastly
Hey Mark, thanks again for releasing the 4.0.0 version, last week! The customer already provided positive feedback. It's a pleasure to work in such a smooth way! π
-- Senior Solutions Architect at Fastly.
In this case my colleague was unfamiliar with writing Go and he was trying to contribute to a couple of different code bases that I was the core maintainer of, and for which I was helping guide him through and supporting/educating him on the various technical aspects of. It was a small change but one I really appreciated him taking the time to dig in and help implement.
Customer + CSE (Customer Support Engineer) at Fastly
Thank you for your output and all the information you've provided. We really appreciate it. We have applied your latest release on all our production environments and it's looking great and there are no unexpected diffs in our Terraform plans anymore. Again, thank you for your time and your help to understand and resolve this issue as your insights were really helpful.
-- Customer
Hey Mark, just wanted to say thanks a lot for helping out with the Terraform issue, really appreciated! π
-- CSE (Customer Support Engineer) at Fastly
We had a strange bug crop up in the Fastly Terraform provider that was causing havoc for customers. I dug into it on behalf of support, tracked down the problem, and ended up spotting a couple of other subtle bugs elsewhere in the pipeline while I was in there.
Nobody enjoys seeing unexpected terraform diffs in production, so I made sure to keep the customer posted with detailed updates while we worked through it. Tricky set of bugs to pin down, but getting their environments stable again was well worth the headache.
Director of Community at Fastly
I want to call out this great thread in the fastly dev forum and give a huge bravo to @integralist for being there, being responsive, and guiding the customer to the solution. Overall the thread is :chefkiss: because...
- It makes for a great image optimization use case/support-driven tutorial. - Is a display of how engaged our dev rel team is with the Community. - Is a display of how smart and kind our users are. - Uses the Fastly platform tools (like https://fiddle.fastly.dev/) to show our work!
-- Director of Community at Fastly
This was a really nice (and unexpected) compliment. I like to go the extra mile to ensure customers feel seen/heard and that they're supported (even if it means I can't give them an immediate answer and need to refer to another team's expertise first).
Developer Relations Engineer at Fastly
I just wanted to say that the care and attention you're putting into this work is making me enjoy my work, and I appreciate you.
-- Developer Relations Engineer at Fastly
I was touched by this feedback as I had been battling a particularly difficult project and this came at a time where I was emotionally and mentally exhausted. Just the pickup I needed π
Tier 3 Customer Support Engineer at Fastly
I want to thank @integralist for always answering any questions I (or others) have with so much detail and attention. Your answers usually long and full of thought and for that I am extremely grateful!
-- Tier 3 Customer Support Engineer at Fastly
This was posted in a Fastly #gratitude Slack channel and got lots of nice emoji reactions to go with it π
Senior Customer Support Engineer at Fastly
Thank you so much Mark for going above and beyond. I appreciate the details you provided.
later the next day...
Wow, this is amazing work Mark! Thank you so much for this thorough analysis.
-- Senior Customer Support Engineer at Fastly
A customer had reported an issue that we initially were not able to replicate. But after some thorough debugging (through _multiple_ internal systems) I was able to identify, explain, and document the source of the problem, then provide a resolution for the customer.
Security Architect at Fastly
Man, itβs nice working with you
-- Security Architect at Fastly
This certainly came out of nowhere π. He needed a bunch of information related to some security work I was doing (I was implementing SSO Single Sign-On using an OAuth PKCE flow for Fastly's CLI tool) so I gave it to him whilst also pointing out some oddities about the platform that I felt should be addressed.
Senior Principal Sales Engineer / TLS Manager / Sr. Principal Engineer, Core Systems at Fastly
I wanted to share feedback from NAME_OF_LARGE_CUSTOMER_IM_NOT_ALLOWED_TO_SHARE to give you positive feedback on our Terraform provider vs COMPETITOR's:
"The team were quite shocked at the difference between COMPETITOR's Terraform approach and Fastly....Fastly was a lot simpler, and just as powerful. Express my gratitude to the team for making the Terraform provider so awesome!"
-- Senior Principal Sales Engineer at Fastly
Itβs all @Integralist π
-- TLS Manager at Fastly
THIS πΌ
-- Sr. Principal Engineer, Core Systems
Piling on here with ANOTHER_LARGE_CUSTOMER giving kudos to the TF provider. π
-- Cloud Engineering Manager
I'm very grateful for this feedback, both from the customer and from my colleagues as I had been working really hard on improving the Terraform provider and up until that point hadn't felt that any one had noticed or cared, and so this helped boost my confidence in what I had been doing. π
Cloud Engineer at Fastly
This level of investigation deserves a medal @integralist. Thank you so much for your time and deduction!
-- Cloud Engineer at Fastly.
A question was raised, which wasn't relevant to the channel it was brought up in but I didn't want this person to go away without the appropriate support. So as well as redirecting them to the correct channel and explaining why I was redirecting them, I then proceeded to explain the steps/processes I follow when trying to figure out the thing they were asking about. This led to a long thread of details and links to code and documentation. As much as I could provide as a helpful send off.
Staff Product Manager at Fastly
Your code review is itself a work of art! Is there a hall of fame for code reviews.
-- Staff Product Manager at Fastly.
I take a lot of care in my PR reviews π.
Director of Developer Experience at Fastly
Lookβ¦ that was f***ing impressive. π
Thank you so much!
-- Director of Developer Experience at Fastly.
A customer was having issues with one of our tools when using Windows. Fastly pulled out all the stops to get me the access I needed to investigate and debug the issue properly and I was able to get a fix in place in a few hours, helping the customer realise what an asset Fastly is to their workflow.
Principal Engineer in Edge Networking at Fastly
You demonstrate, year in and year out, an excellent capacity to learn new systems and languages, pick up the responsibility of managing and being responsible for parts of our stack and technology and it looks like you work smoothly and effortlessly with our colleagues both in person / zoom and in slack / Jira / pull requests. Thank you also for your regular, consistent contributions and easy-going working demeanor. This is the sort of collegial professionalism and competence that makes Fastly a great place to work.
Principal Engineer in Edge Networking at Fastly.
This particular person was leaving Fastly (to retire) and I reached out to wish them all the best and to let them know what an honour it had been for me to get just a small bit of experience working with them. This was their response to me, totally unexpected last piece of kindness shared by this wonderful individual.
Staff Product Manager in Network Services at Fastly
I'm sharing a Very, Very Big Shout-Out to @integralist for his work on the Eng side of the Domainr + Fastly systems integration efforts!
DETAILS I CANT SHARE
This huge milestone will make operating and maintaining the Domainr service much more straightforward for the Domain Services Eng team going forward.
Thank you, Mark!
-- Staff Product Manager in Network Services at Fastly.
I also want to add that @integralist has done an amazing job on both documentation and tooling improvements for on-call.
As a member of the domain services team that is now responsible for handling on call and being onboarded to domainr codebase and systems, it has been a huge help in orienting myself.
He has also been super helpful in knowledge sharing with active pairing and helping out with presentations too!
We appreciate you Mark!
-- Staff Software Engineer in Network Management at Fastly.
Always nice to get some recognition from your peers for the hard work you put in and the care you have for the projects you work on.
Staff Product Manager (Network Services) / Sr. Principal Engineer / Sr. Engineering Manager at Fastly
Mark this is great! Immaculate, even. βββββ, 10/10 no notes. This is the Sistine Chapel of refactorings (seriously)
-- Staff Product Manager (Network Services)
Yep, this is #eng-winsβworthy and I want to shout it from the rooftops.
-- Sr. Principal Engineer
Love this!
-- Sr. Engineering Manager
I created a design document for how to improve the structure and tooling around secrets managements, especially related to certain applications the Domain Services team are responsible for. After much back and forth discussion I went ahead and started to implement a POC of my suggested approach, and I recorded a video to demonstrate the features and the design, all with the hope to gauge feedback and tweak as necessary, and the response was a lot better than I expected π
Senior Manager, Technical Documentation | Product Growth at Fastly
I wanted to take a moment to recognize Mark's recent help with a GitHub workflow implementation. I've been trying to teach myself some things about more complex GitHub interactions and this was on my list of goals for Q1 2025. Mark took the time to test an approach in his private repository to ensure things would work. What really made the difference was how he helped me understand how to adapt the workflow to my specific needs. His willingness to both gently mentor and troubleshoot, especially while busy and in an entirely different time zone than me made this successful. And he cheered me on to boot. I'm genuinely grateful for his support. This kind of collaborative knowledge-sharing makes our company stronger.
Senior Manager, Technical Documentation | Product Growth at Fastly
This was given as Workday feedback and it was really nice they took the time to do this. Not much more to say, other than I always like to ensure people feel supported.
Senior Software Engineer, Domain Services at Fastly
The amount of things I've learned from `@integralist` 's blog posts is incredible. Thank you so much! `:salute:`. Your blog is legitimately a gold mine in terms of information. Thank you for taking the time to write all of those posts, I learn something every time I look at them.
Senior Software Engineer, Domain Services at Fastly
The team had been discussing how to profile Go programs and I had written a blog post covering all the details years back that I thought would be useful to the team (who were new to Go). I'm always genuinely pleased to hear that my blog is useful to people.
Staff Engineer (formerly Engineering Manager) Logging Team at Fastly
Hey Mark, I am sailing into retirement next week and I wanted to pop in and say goodbye and thanks. I learned a lot from you and your written words. Whenever we got to work together I could always count on you providing feedback with grace and patience. Thanks for making Fastly a better place
Staff Engineer (formerly Engineering Manager) Logging Team at Fastly
I was genuinely touched that this person reached out before they took off for a well deserved retirement. It meant the world to me to know that I had made a positive impact on them and their time working with me.
Associate Software Engineer - Domain Services Team at Fastly
Thank you again for the ai run through, so cool to see the different ways it can be used ! Also you should definitely give a tech talk on this or something, not to be dramatic but my mind is blown , it was really cool thanks again!
Associate Software Engineer - Domain Services Team at Fastly
I spent a couple of hours with a new member of the team, guiding her around the various pitfalls of using AI, showing her the custom Skills I've built, and explaining my planning and coding workflows. I made sure to cover the key components for being successful with AI (such as context management), and was very pleased to discover she found it so useful and engaging.
Sr. Engineering Manager - Domain Services Team at Fastly
Ohhhhhβ¦.this is why we pay you the big bucks!
Sr. Engineering Manager - Domain Services Team at Fastly
A bit of a joke, obviously, but I'll take it π We ran into a slight snag where offboarding a user with admin rights broke our internal notifications. I managed to sort it out with a fairly simple tweak so everyone keeps getting alerts without any bother.
Senior Software Engineer - Domain Services Team at Fastly
oh man, I'm going to miss you on domain services :sadblob:
Senior Software Engineer - Domain Services Team at Fastly
A colleague I had built up a great relationship with was sad to see me move to a new team to focus on some critical company AI-related work. I reassured him I wouldn't be far away π
Sr. Engineering Manager - Domain Services Team at Fastly
Thank you so much for helping bring this together and making that one of the smoothest meetings I've been a part of!
Sr. Engineering Manager - Domain Services Team at Fastly
I was the designated tech lead for a multi-team initiative. I had to present our architecture design (over 6 months worth of work and collaboration and discussions...with some tension thrown in) to the CTO and SVP of Engineering. It was stressful to say the least π but I pushed through, and with some last minute tweaks managed (with the help of some very smart and compassionate colleagues) to get the architecture approved π
Customer of Fastly
Massive thank you to whoever was in charge of getting path-based routing out the door. It's making our VCL to Compute migration so much easier!
Customer of Fastly
This was shared with me by my line manager after the feedback bubbled up through various channels. I spent months designing, building, testing, and collaborating across multiple teams (which meant getting up to speed on parts of the infrastructure that were new to me). Hearing that it made a customer's migration so much easier was deeply gratifying.
π‘ Summary
Most of my work sits across multiple teams, taking systems from early design through to running them in production. I like getting the architecture clear before writing code, checking in with the folks it affects, and making sure the teams around me have the documentation and tools they need to build with confidence.
Beyond the technical side, a few core principles guide how I work:
- I care about the organisation I work for.
- I care about the people I work with.
- I care about our customers and their experiences.
- I'm passionate about programming and the openness of the web.
- I love getting the chance to learn and experience new technology.
π Connect
You can find me online at the following locations:
- linkedin.com
- github.com/integralist
- integralist.co.uk (well, you’re here already π)
ποΈ Brief History
Fastly (October 2020 - present)
I was an existing customer who wrote what was basically an absurdly long deep-dive on Varnish, VCL, and how Fastly works under the hood. Fastly noticed and hired me into the DevRel team to look after our developer tooling (the Terraform provider, CLI, and API clients).
During that time I also got to dive into some fun Rust work on fiddle.fastly.dev and worked cross-team to build a new authentication model for customer services.
By 2023, the tooling needed dedicated focus, so I moved out of DevRel into a new team (Customer Developer Tools) to look after the CLI and Terraform full-time without general DevRel distractions.
In 2024, I was dropped into a brand new "Domain Services" team (a team of one for about a year, lol) to integrate an acquired API (Domainr). That was quite the baptism of fire, as everything I'd touched at Fastly up to that point had been open source, so this was my first proper dive into our internal production platforms and deployment pipelines.
In 2025, I built a TLS certificate issuance service from scratch (empty repo all the way to production), wired up ACME on an async message queue, and stress-tested it until it stopped falling over. Along the way, I started designing a control-plane API for edge routing and helped review system designs across the team.
In 2026, I took that edge routing service over the line to general availability (sorting out the security review, alerts, runbooks, and disaster recovery so on-call wouldn't hate us). I also built a shared Go platform library that four production services ended up adopting, and helped steer the architecture for a major routing product across plenty of design reviews and debates with tech leads.
As of September 2026, I'm part of our Agentic Platform team. Now I spend my time building AI tooling for customers and internal teams, writing reusable agent workflows and harness plugins, and running talks and workshops to help engineers get past the hype and actually get useful work out of LLMs.
BuzzFeed (June 2016 - October 2020)
I joined as a Senior Software Engineer in a small UK 'core' team tasked with dismantling a ten-year-old Perl monolith and replacing it with focused Python and Go services.
I worked in the OO-INFRA group, basically acting as a bridge between pure ops and product teams. The goal was simple: build tools and services that got out of product engineers' way and let them ship faster.
In 2018 BuzzFeed promoted me to Staff Engineer after doing a lot of heavy lifting across our CDN caching, edge routing, and authentication layers.
In 2019 I moved into the Infra Edge team, looking after the front door of BuzzFeed's infrastructure: DNS, ingress, and rate limiting against whatever chaos the public internet felt like throwing at us that day.
I also mentored newer engineers, took regular turns on the on-call rota, and helped triage security reports coming through HackerOne (all while working remotely from the UK with the rest of the team based in New York).
BBC (Jan 2013 - June 2016)
I joined BBC News as a front-end and mobile specialist in the Core News team, moving into a senior role within a year.
The Tech Lead for BBC News Frameworks asked me over to help migrate the estate from legacy on-prem hosting onto AWS. We designed back-end microservices (mostly in JRuby back then), and in late 2014 I stepped up to Tech Lead for the team.
Near the end of 2015 I switched over to Principal Engineer. Being a Tech Lead meant a lot of spreadsheets, meetings, and line management; what I really cared about was getting stuck into gnarly technical problems with the team.
Storm Creative (Feb 2001 - Dec 2012)
I started here straight out of college and stayed for over a decade. In agency life you have to learn fast because every client wants something completely different.
I started out building client-side websites and Flash animations (ActionScript 3, good times), transitioned into back-end work (ASP.NET, PHP, and Ruby), and eventually became Tech Lead and Digital Media Manager leading a small team of four engineers across all our client projects.
π Impact
βΉοΈ INFO
Everything below has been accomplished as a fully remote worker, balancing family life with a genuine desire to do excellent work for my team, our customers, and the broader engineering community.
π§° Developer Tools & Infrastructure as Code
I’ve been the primary owner of Fastly’s Terraform provider and CLI for several years. I drove the provider from an unstable pre-release state to a production-ready v1.0.0 (praised by a Principal Engineer as “a HUGE milestone”), then led a from-scratch rewrite onto a modern framework to resolve long-standing architectural issues. Along the way I delivered a 70% reduction in Terraform plan times and introduced automated validation to prevent API breaking changes from reaching customers undetected.
I designed and implemented SSO authentication (OAuth PKCE) for the Fastly CLI, built interactive tooling to generate OpenAPI schemas so developers couldn’t accidentally break our code-generated API clients, and shipped auto-generated Go and Rust API clients from those same schemas. I also created training modules, best-practice guides, and Stack Overflow support to ensure customers could confidently adopt these tools.
I also delivered a new domain management API family across our Go SDK, CLI, and Terraform provider simultaneously, keeping everything in lockstep for launch. I replaced a creaky legacy administration CLI with a modern Go tool, and built an internal web UI for our certificate platform that eliminated support-page timeouts through hierarchical caching and query optimisations.
At BuzzFeed I built a Go CLI tool that automated CDN (VCL) deployments, transforming what had been a risky, specialist-only process into something any engineer could do safely. I also built tooling to automate API documentation generation via GitHub hooks, keeping docs permanently in sync with code.
βοΈ Platform & Systems Engineering
At Fastly, I built a TLS certificate issuance and renewal service from an empty repository all the way to production. I wrote the discovery and design docs, led the architectural review, and implemented ACME (RFC 8555) over an asynchronous message pipeline (NSQ) to unify multiple certificate authorities under a single API. I also sorted out retry queues, dead-letter handling, and multi-region failover, load testing it beforehand to catch concurrency and DNS bottlenecks before customers did. Along the way, I built secret synchronisation between 1Password and HashiCorp Vault to clean up undocumented legacy credentials.
Next up was a multi-region control-plane API for edge routing configuration. I took it through general availability, managing the security review, SLOs, runbooks, and disaster recovery testing. I also tracked down a tricky read-after-write replication bug, added a dedicated authorisation layer, and redesigned index rebalancing out-of-band so large configuration reorders wouldn’t hammer the database with write amplification.
To stop teams reinventing the wheel, I built a shared Go platform library (covering logging, tracing, HTTP clients, database metrics, and health probes) and migrated four production services onto it. I also helped steer cross-team migrations, like swapping out Kubernetes ingress controllers across three production services, moving container registries, migrating CI off Jenkins, and standardising health checks across our Go services.
When I joined the Domain Services team as the sole engineer, I took over Domainr, built out CI/CD pipelines with Terraform Cloud and GitHub Actions, implemented CUE-based config validation to prevent bad deploys, and automated domain registry operator logins. I’ve since handled a steady run of top-level-domain and registrar migrations, and pushed protocol-level fixes upstream into the public zone and registry-protocol libraries the domain industry depends on.
At BuzzFeed I designed and built a global rate-limiting service providing DoS protection at the edge, architected the migration of HTTP routing from our CDN to an internal “perimeter” service (enabling a multi-CDN strategy), and led the development of a critical routing service that democratised routing changes via simple config files, removing a major bottleneck. I co-designed a modern authentication system using AWS Cognito (including the Go reverse proxy, JWT validation decorator, and password hashing library that underpinned it), and replaced NGINX+ with the open-source equivalent during a HackWeek, saving $60k per year in licensing. I also led the decomposition of a 10-year-old Perl monolith into Python and Go microservices.
At the BBC I co-designed and co-implemented the “Mozart” platform for dynamic page composition (a key step in the BBC’s move to AWS), served as Tech Lead for the General Elections platform (ensuring a reliable experience for millions of users), launched BBC Newsbeat v2 (the first major BBC News product built entirely on AWS), and rebuilt the Market Data financial service.
π Reliability & Operational Excellence
I’ve always cared a lot about making sure on-call doesn’t suck. Over the years I’ve written plenty of runbooks, set up SLOs and alerting, and put together disaster recovery plans that people can actually follow when things catch fire. At BuzzFeed, I ran an initiative across hundreds of microservices that cut ~$40k in metric costs, and wrote a tool to spot unused metrics so teams could tidy them up without guessing.
I added graceful shutdown logic in shared Go and Python web server libraries to prevent dropped requests during deploys, built smoke-testing tools to de-risk CDN migrations, created bots to track partner maintenance windows so on-call engineers weren’t caught off-guard, and set up multi-cloud round-robin delivery for static assets. I also built an operations Slackbot in Go that let anyone in the company manage incidents and pull up runbooks directly from Slack.
At Fastly, I built end-to-end monitoring for our certificate services from the ground up: Go binaries, scheduled Kubernetes jobs, Slack and email alerts, Grafana dashboards, and step-by-step runbooks. I added alerts for stalled message consumers and caught auth and protocol errors that standard synthetic tests completely missed. I also reworked service boot sequences with backoff retries so a flaky database or cache wouldn’t block a deploy, and partnered with storage teams to right-size resource requests across three services.
π€ AI-Assisted Engineering
I build and maintain open-source extensions for the Pi coding agent harness,
including pi-subagents for
in-process multi-agent orchestration,
pi-statusbar for real-time
telemetry and token metrics, and
pi-btw for side-conversations.
Before settling on Pi, I spent time maintaining a fork of OpenCode where I added
roughly a dozen features (sub-agent cost reporting, model overrides, unified
diff reviews, autocomplete). Not for the want of trying, those improvements
never landed upstream because the project had hundreds of PRs sitting stale with
an uninterested maintainer, and I quickly realised OpenCode had too many deeper
issues to be viable long-term.
To keep agents from wandering off or losing context on non-trivial work, I built
an open-source skills framework.
It was recently adopted by Fastly’s Agentic Platform team to help standardize
how we build agent tooling. The key shift was moving away from ephemeral chat
prompts and toward durable filesystem artifacts: a coordinator skill like
architect delegates work across dedicated sub-skills (to-spec, to-plan,
to-adr, and to-tasks), generating version-controlled specs, vertical slice
execution plans, and step-by-step TDD task lists. This prevents context drift,
makes the agent’s work fully auditable, and lets engineers inspect and tweak
artifacts at every stage.
I treat agent workflows like any other software system: constantly testing,
evolving, and cutting out friction. My daily setup includes adversarial design
stress-testing (grilling), cross-model consensus, automated codebase pattern
matching (precedent), and stacked PR management with gh stack. Alongside
building tooling, I run internal tech talks, workshops, and 1:1 shadowing
sessions to help other engineers get past the hype and use agents reliably in
day-to-day work.
π§ Leadership, Mentorship & Culture
I’ve served as Tech Lead across a few different teams: BBC News Frameworks (where I mentored engineers into senior roles), BuzzFeed’s Site Infrastructure Resilience team, and bootstrapping Fastly’s Domain Services team as a solo engineer. I led the internal API Versioning Working Group at Fastly, contributed to API design guilds, and ran working groups focused on documentation quality (including building tools to automatically check README standards across repos).
As a design authority at Fastly, I write technical designs for complex projects and work through reviews with tech leads across different orgs until everyone is confident in the plan. I like catching architectural snags early, like spotting multi-tenant traffic isolation gaps before code gets written. I also spend time unblocking pull requests across other teams’ repos and rewriting local dev guides when setups become outdated.
Beyond formal roles, I run lunch-and-learns, share video walkthroughs of complex systems, and spend time helping newer engineers find their feet. At BuzzFeed I introduced standard PR templates, helped establish Python linting standards, and set up service contracts so teams had clear expectations between services.
I was voted “Developer of the Year” at the BBC, won awards for innovative Docker-based CI and for my published book “Pro Vim”, and was invited to speak at Mozilla’s Paris offices alongside representatives from Google, Apple, Microsoft, and the W3C. I also organised a public speaking event with Sandi Metz, strengthening the BBC’s presence in the London tech community.
π¬ Customer & Community Impact
Customer problems have always been my main driver. I’ve tracked down tricky bugs spanning multiple internal systems to get customers unblocked, built public tools to help developers test Compute cache semantics (which ended up exposing an edge-case bug in the caching layer itself), and worked out ways for open-source forks to run CI safely with secret access.
Whenever possible, I prefer fixing bugs upstream rather than bodging a workaround locally. That has included sorting out ACME protocol challenges, adding CAA record support to Ruby DNS libraries, fixing XML parser bugs, and submitting patches to public zone and registry databases.
I’ve published articles in Smashing Magazine, NET Magazine, and NetTuts, been interviewed by InfoQ about BuzzFeed’s monolith-to-microservices migration, and maintained open-source projects like go-elasticache and BBC’s Imager.js (responsive images before srcset existed). I’ve given conference talks on CDN architecture, HTTP routing systems, and responsive image techniques.
Customers have praised the Fastly Terraform provider as “a lot simpler, and just as powerful” compared to competitors, which led to a lovely chain of internal shout-outs across sales and engineering leadership attributing the provider’s reputation to my work.
π€ Talks
Living on the Edge (Video): Presentation on our use of Fastly CDN and an internal service golang proxy service I built called “Perimeter”.
Site Router (Video): 80 minute presentation on BuzzFeed HTTP routing service abstraction.
BBC Talks (Slides): different presentations I gave while at the BBC.
Imager.js (Slides): Talk I gave at the Mozilla offices in Paris (which included speakers from: Google, Apple, Microsoft, Adobe, Opera, W3C and Akamai).
ποΈ Interviews
π Published
I’m a print published and self-published author; I’m also a tech reviewer and am a published author for different popular online organisations (you’ll find lots of technical articles on my own website as well):
Apress
- Pro Vim (Nov 2014)
- Tmux Taster (Nov 2014)
- Quick Clojure: Effective Functional Programming (August 2017)
Packt
- Tech Reviewer Grunt Cookbook (May 2014)
- Tech Reviewer “Troubleshooting Docker” (May 2015)
LeanPub
- Programming in Clojure (Jul 2015)
- Python for Programmers (Jun 2016)
Fastly Blog
Author Overview:
https://www.fastly.com/blog/mark-mcdonnell
- How to configure your Fastly services with Terraform
- Bootstrap a Compute@Edge project with Fastly Fiddle
- Compute@Edge: Go support has arrived!
Fastly dev.to
- Better Fastly API clients with OpenAPI Generator
- How Fastly deploys Gatsby CMS websites to GCS using GitHub Actions
BuzzFeed Tech
- I wrote a three part series on BuzzFeed’s core HTTP routing service (built upon NGINX+) called “Scalable Request Handling: An Odyssey”:
InfoQ
NET Magazine
- 8 ways to improve your grunt set-up (Nov 2014) (PDF)
Smashing Magazine
- My author page
- Building Software with Make
- How To Build A CLI Tool With Node.js And PhantomJS
- How To Build A Ruby Gem With Bundler, TDD, Travis CI & Coveralls, Oh My!