About Me

Hello, world! I’m Jonathan Hall, a software developer and DevOps advocate originally from the midwest United States, living in the Netherlands since 2015.

I remember the day I wrote my first line of code. I was eight years old, and the night before I had been falling asleep in the bedroom adjacent the living room where my father had his Commodore 64. I kept hearing the computer make strange beeping noises, so I got out of bed and went into the living room to inquire.

“I’m typing in some programs from the computer manual. Go to bed, and tomorrow you can take a look,” was his answer.

Commodore 64 User's Guide Back then, computer manuals were actually meant for reading. They weren't just a “quick start guide”, that everyone knows nobody reads.

So the next day, I began reading through the Commodore 64 User’s Guide, which was more than a User’s Guide, it also contained an introduction to Commodore 64 BASIC.

I had quickly finished all the programming examples, and was hungry for more. Thus began my regular visits to the public library, to borrow every book on BASIC.

Through high school I ran a small dial-up Internet Service Provider in the small town where I lived. This lead to an interest in the operational side of IT–server and network management, monitoring, logging, and all that is entailed.

Jump ahead to 2006, and I landed a job at a local IT services company, as the network engineer for DoubleCheck Email Manager, an e-mail spam filtering service. My first week on the job, the company botched a software upgrade, which brought down nearly 150 customer servers over Thanksgiving weekend. In picking up the pieces of this botched upgrade, I learned the value of scripted, reproducible deployments, proper testing, and much of what is now called “DevOps”.

I continued to work on that project for 9 years as the project lead, and successfully refactored the software to a modern framework, moved it to our private cloud, and more important, automated deployments, added logging, monitoring. The end result was that rather than being dreaded, for fear of another “Black Friday” incident, upgrades were routine, sometimes happening multiple times per day.

By now I have experienced many similar successes in other companies. Some more or less drastic.

  • At DoubleCheck, I transitioned the team from a highly manual, ad-hoc release process, with no tests in place, and a lead time of weeks, to a reproducible build, with high test coverage, and lead time of minutes.
  • In 2015, Booking.com’s 1,000+ developers had no code review process, or even the tools to do so when desired. I lead the initiative to test various code review tools, and settled on GitLab as the choice to give teams the flexibility to adopt code review processes.
  • At Teamwork, I helped streamline the test suite for one of their core products, to be more robust and reliable, allowing for more frequent and safer releases.
  • Starting in 2017, I helped Bugaboo transition from a distributed, outsourced development team of approximately 25 developers, with a lead time of 4 weeks, with no logging or monitoring in place, and frequent downtime, to an in-house team of 10, with a lead time of less than one day, with logging and monitoring in place, and a proper incident-response process.