twoshortplanks
Résumé Contact

Mark Fowler's Résumé

Experienced cloud engineer specializing in cloud cost analysis and effective cost reduction who is used to operating at all levels of the business from technical to C-level conversations.  Proven track record in delivering multi-million-dollar yearly savings whilst improving customer experience and reliability.

Previous Employment

Staff Engineer, CircleCI, Telecommute, US (2020–Present)

As a cloud CI/CD provider CircleCI can in many ways be seen as a value-add reseller of AWS and GCP compute and storage systems, and the effective margin it can charge on these costs is fundamental to the viably of the company.  I joined the newly formed “CoGS” team with the remit of getting these costs under control and meeting aggressive targets.

I was able, through a combination of deep cost analysis, tackling of low hanging fruit, and a series of longer-term projects, to achieve several million dollars of savings a year.  I have been involved at all levels of the process.  As an example of the technical work, I individually implemented a Docker storage plugin to transparently cache and restore on demand customer images to object storage to replace a expensive volume storage solution.  I have been integral in planning costs for large operations, for example I recently was personally responsible for costing decommissioning several data centers and moving workloads inside AWS and costing the various cost reduction strategies that were necessary to make this cost effective. I am also involved at the business level, for example working with AWS in relation to the Enterprise Discount Program.

During my tenure at CircleCI I was also seconded to the Execution team, the team responsible for running the customer jobs on the cloud compute, storage of artifacts, and the collection of job output, and (where necessary) streaming to the customer’s browser.  This means I have day to day experience in running microservices at scale (both within Kubernetes and within untrusted customer environments), spinning up and shutting down many thousands of instances an hour, scaling up and down at extreme scale, protecting against third party misbehavior and abuse, and metric and tracing of complex distributed systems.  Though this work I have interacted with customers at multiple levels from dealing with simple feature requests to high pressure incident response (both for cloud systems and working face-to-face with customers supporting on-prem customer incidents).

On a technical level during this time, I have been mainly programming in Go with Postgres and Redis, though I have also had the opportunity to produce work with JavaScript (and React), Java, Clojure, Python, and Perl and support many other languages and environments.  I have employed many tools including Cost Explorer (and other third-party solutions), Snowflake, Mode, Looker, and the humble spreadsheet and slide deck.

Senior Programmer, MaxMind, Telecommute, US (2015–2020)

Working as a developer on MaxMind’s two core products, their well-known geolocation databases and their fraud analysis services.  During this time in addition to making numerous improvements to the complicated process that builds their IP databases, I also spearheaded the development of a transaction review tool to allow customers to classify transactions as fraudulent or not and feed this information back into MaxMind’s AI classification models.  I was heavily involved in MaxMind’s shift to the cloud, moving dev environments to virtual machines, the initial “lift-and-shift” of production systems, and the subsequent move to Kubernetes.

From a technical level, I mainly worked in Go, Perl, and (where necessary) C, and supported a plethora of API libraries in a range of languages.  In addition to MaxMind’s own binary IP database format, I also spent considerable time optimizing Postgres for rapid storage and categorization of a large number of financial transactions.

System Architect, OmniTI/Circonus, Telecommute, US (2012–2015)

Creating the Circonus SaaS monitoring solution.  Personally designed and created the customer API for configuring the system allowing the customers to set up and enable metrics on new systems automatically.  Whist at OmniTI I helped with (and spoke at) Surge, OmniTI’s industry renowned conference on operating at scale.

While most of my coding was in Perl, most of the work I did on Circonus was integration work (with JavaScript, Lua, and other parts of the system) and complex Postgres work (triggers, stored procedures, PSQL, custom plugins).

Head of Architecture, Photobox, London, UK (2007–2012)

An advisory technical role where I helped define work for the three scrum teams responsible for the Photobox website, turning conversations with marketing and print engineers into actionable technical requirements and implementable strategies, and reviewed and monitored the work as it was produced.

As Head of Architecture, I was responsible for “Saving Christmas” each year as traffic doubled year-on-year and grew by several orders of magnitude for a few weeks compared to the rest of the year, resulting in over a million euros of business each evening. I lead the team that implemented a “burst to cloud” solution without a rewrite and re-architecture of the code.  By allowing on-demand transparent temporary transfer of compatible users from the traditional data center to EC2 instances, each instance individually running cut down versions of all the required services and recording all activity for later replay in the data center, my team was able to temporarily shift the majority of the load from the datacenter and prevent downtime.  Because each year Photobox invests so heavily in supplies, labor, and machinery expecting large orders, avoiding downtime literally saved the company from financial ruin.

Head of Technology, Fotango, London, UK (2003–2007)

Acted as the head of technology reporting directly to the Chief Operating Officer with all technical staff reporting to me via three department heads.

In this role I oversaw the launch “Zimki”, the world’s first Platform as a Service, a per-JavaScript-op billed service that was a precursor to both AWS’s Lambda serverless platform and the rise of server-side JavaScript since popularized by node.

I balanced this work with demands of Canon, Fotango’s parent company, with my staff delivering and running bespoke products such as a photo sharing website and a printouts-by-mail printer demonstration website.

Head of Research and Development, Profero, London, UK (1998–2003)

Building solutions for a digital marketing startup during the “dot-com” era.  During this period I implemented many unknown technologies that are now commonplace:  Ad servers capable of tracking users to determine if they subsequently visited a client site after only viewing a banner for it or to display a different advert after they’d been seen the previous one too many times; Dynamic adverts featuring real-time news updates, and interactive adverts with games in them; Real-time competitions where the nation was directed during the most popular television show of the period to all visit a website within the next five minute period (and not have the servers fall over!); Live webcam competitions.

Other Previous Employment

Education

2:1 BSc Computer Science, University of Bath, UK
‘A’ Levels in Mathematics, Further Mathematics, Physics, and Chemistry
9 GCSEs, including French

Other

References available on request.