Resume

Resume

πŸ—’ Yes. That is my wife and kids. But I’ve no idea who the other guy is πŸ˜‰

πŸ‘‹ Hello

Hello, my name is Mark and I work at Fastly as a Staff Software Engineer.

πŸ“œ Previously

🀝 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).

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 work hard to ensure customers get the support they need. This feedback was the result of another example of my work ethic.

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 materialize in the Fastly Terraform provider that was causing some issues for customers. I investigated on behalf of CSE as I'm the core SME (Subject Matter Expert) for Terraform and I not only resolved the specific issue but managed to identify a couple of other unnoticed bugs elsewhere in the system which I worked cross-team to help get resolved.

It was important to me that this customer (like all our customers) got their issues resolved as quickly as possible, with frequent updates to keep them in the loop and extra detailed explanations so they were better informed. It was a tough set of bugs to identify but I was pleased for the customer when they confirmed their services were all good again.

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.


πŸ’‘ Summary

I ideally want to get across five fundamental aspects about me:

  1. I care about the organisation I work for.
  2. I care about the people I work with.
  3. I care about our customers and their experiences.
  4. I’m passionate about programming and the openness of the web
  5. I love getting the chance to learn and experience new technology

πŸ”— Connect

You can find me online at the following locations:

πŸ—‚οΈ Brief History

Fastly (October 2020 - present)

I was a former customer of Fastly, and had become well known for publishing probably the longest known article on the subject of Varnish, VCL and Fastly's implementation.

I joined Fastly to work within its new (at the time) Developer Relations team helping to manage, support and be the core developer for their suite of API clients (inc. orchestration tools such as Terraform and Fastly's own Terraform provider, and the Fastly CLI).

While working within the Developer Relations team I had the opportunity to work on critical Rust projects such as https://fiddle.fastly.dev and to work cross-team to develop a new authentication model for customer services.

In 2023 it became apparent that the tools I was responsible for maintaining were becoming even more important for our customers and so I was able to move from DevRel into my own dedicated team (Customer Developer Tools) to continue to support them without having to also support the various DevRel related projects and services.

In 2024, I was brought into a new team (a team of one for about a year) called "Domain Services" to help onboard and integrate a new API Fastly had acquired. This required a significant amount of time and effort as (up until this point) I had only worked on open-source projects at Fastly and this was my first exposure to the internal systems and deployment platform and pipelines.

BuzzFeed (June 2016 - October 2020)

I joined as a Senior Software Engineer as part of a new 'core' UK dev team. We were responsible for decommissioning a 10yr+ legacy Perl monolithic application stack over to individual Python and Go services.

I was working primarily within BuzzFeed's OO-INFRA group, which sits somewhere in-between traditional infrastructure/operation teams and engineering teams building user facing products. Our motivations were to make the lives of our fellow engineers easier by building tools, services and abstractions that enabled them to work more quickly and efficiently.

January 2018 BuzzFeed promoted me to Staff Software Engineer, after helping to design/architect, develop and maintain some of BuzzFeed's key infrastructure and software (CDN, caching strategies, routing behaviours, and security/authentication related concerns).

January 2019 I moved over to the Core Infrastructure team (which consists of separate sub teams). I was part of the 'Infra Edge' team, and we were responsible for strengthening and securing our edge infrastructure and applications. The 'edge' is the surface area of our infrastructure that is in direct contact with the public internet. It includes DNS and the various services that accept ingress traffic from the Big Bad Internet. It is essential to our business that our Edge be a resilient and security-focused layer of our infrastructure.

Each year I participated in different working groups and mentoring programs, and became part of the 'on-call' rota, and handled interactions with the Hackerone program.

⚠️ NOTE
I'm a remote worker and my team resides primarily in New York, so good communication, focus and work ethic was essential.

BBC (Jan 2013 - June 2016)

I joined BBC News as a client-side/mobile specialist within their Core News team. Within the year I had moved into a senior engineering role. The (then) Technical Lead for the BBC News Frameworks team requested I join them in order to help the organisation transition from its current platform over to one built upon the AWS platform.

I started in the Frameworks team building and designing back-end architecture for different microservices hosted upon the AWS platform, and we developed these services primarily using JRuby. In October 2014, I was offered the role of Technical Lead.

Near the end of 2015 I decided to change roles to Principal Software Engineer, as my previous role involved more meetings and handling line manager duties, whereas I wanted to focus my time more on helping my team solve technical problems.

Storm Creative (Feb 2001 - Dec 2012)

I started working at the agency Storm Creative straight out of college. I was always focused on learning and improving my skill set - both technical and communication skills - the latter helped me communicate better with both clients and other stakeholders/colleagues.

I progressed upwards through the organisation, moving from initially being a client-side web developer (this included doing animations utilising ActionScript 3.0) to becoming a server-side developer (ASP.NET, PHP and Ruby), then onto becoming a Technical Lead across all projects and finally becoming the Digital Media Manager responsible for my own team of four engineers and overseeing all aspects of our projects.


⚠️ WARNING

From here on we get deep into details. It’s not necessary to read on unless you’re really interested in what I’ve been up to πŸ™‚

I should also stress that I try my best to add things I’ve been doing, but the reality is I do a lot of different types of things for my employer that I can’t share or I forget about πŸ˜… so this isn’t meant to be exhaustive.


πŸš€ 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.

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 led the engineering effort for “Ascerta”, a TLS certificate issuance and renewal service built on an asynchronous messaging pipeline (NSQ). I integrated multiple certificate authorities, implemented secrets synchronisation between 1Password and HashiCorp Vault, and designed multi-region redundancy strategies. I also led “Blue Ribbon”, a major path-based routing project, authoring the core API design and driving the technical implementation. 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.

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 consistently improved the operational health of the teams I work with. I’ve authored on-call processes, defined SLIs/SLOs/SLAs, built monitoring alarm suites, written disaster recovery plans, and created runbooks. At BuzzFeed I led a cost-reduction initiative across hundreds of microservices that saved ~$40k in metric costs, and separately built tooling that identified unused metrics across all services, dashboards, and monitors so teams could efficiently clean up.

I implemented graceful shutdown logic in shared Go and Python web server libraries to prevent data loss during deploys, built smoke-testing services to de-risk CDN migrations, developed bots to automatically track partner maintenance windows so on-call engineers weren’t caught off-guard, and designed multi-cloud round-robin solutions for high-availability static asset delivery. I also built an operations Slackbot in Go that let anyone in the company manage incidents and access runbooks directly from Slack.

🧭 Leadership, Mentorship & Culture

I’ve served as Tech Lead for multiple teams: the BBC News Frameworks team (where I mentored engineers into senior roles), BuzzFeed’s Site Infrastructure Resilience team (where I led disaster recovery planning), and as the sole engineer bootstrapping Fastly’s Domain Services team before growing it. I led the internal API Versioning Working Group at Fastly, contributed to API design guilds, and ran cross-team working groups on documentation quality (including building tooling to programmatically track README standards across all repos).

Beyond formal leadership, I organise lunch-and-learns, champion communication practices rooted in Radical Candor, create video tutorials for complex systems, and consistently invest time in onboarding new engineers. I designed and implemented standard PR templates adopted org-wide at BuzzFeed, proposed and rolled out Python linting standards, and introduced service contracts to document expected behaviours across teams.

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

My work is consistently driven by customer outcomes. I’ve resolved complex bugs that spanned multiple internal systems to get customers unblocked, built public tools to help customers validate Compute cache semantics (which also uncovered a bug in the underlying caching implementation), and implemented solutions for open-source fork PRs to safely run CI with secrets access.

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 specifically praised the Fastly Terraform provider as “a lot simpler, and just as powerful” compared to competitors, and feedback like that has been shared across sales and engineering leadership. One customer’s endorsement prompted a chain of internal shout-outs from a Senior Principal Sales Engineer, TLS Manager, Sr. Principal Engineer, and Cloud Engineering Manager all attributing the provider’s quality 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

Packt

  • Tech Reviewer Grunt Cookbook (May 2014)
  • Tech Reviewer “Troubleshooting Docker” (May 2015)

LeanPub

Fastly Blog

Author Overview:
https://www.fastly.com/blog/mark-mcdonnell

Fastly dev.to

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

Smashing Magazine

NetTuts