For many of us, changing jobs seems like the best way to grow professionally or advance our careers. Not so for Edd Morgan, Senior Director of Engineering at BiggerPockets. During his first year in college, he became the startup’s first employee. Twelve years later, Edd reflects on his unusually stable career path and how he’s helped to grow the company into a thriving business with two million users.

It all started with a part-time job

In 2008, Edd began studying computer science at the University of Bournemouth in the U.K. Like many college students, he needed to find a way to make money for rent and living expenses. Edd came across a job posting from a startup that needed some...


Sometimes, innovation is born in the midst of a crisis. Unexpected challenges and a sense of urgency force companies to look for new ways of keeping the business going, even as the odds stack up against them. This was the case for one of our biggest customers Matalan, a major fashion and homeware retailer in the U.K. The company operates 230 brick and mortar stores across the country, and 30 international franchise stores within Europe and the Middle East. It also maintains a thriving online channel that runs on the SHIFT platform.


Heroku Streaming Data Connectors Are Now Generally Available

news , Product Management Director, Heroku Data

This summer, we announced the beta release of our new streaming data connectors between Heroku Postgres and Apache Kafka on Heroku. These connectors make Change Data Capture (CDC) possible on Heroku with minimal effort. Anyone with a Private or Shield Space, as well as a Postgres and an Apache Kafka add-on in that space, can use Streaming Data Connectors today at no additional charge.

Customers use connectors to build streaming data pipelines between Salesforce and external stores like a Snowflake data lake or an AWS Kinesis queue for integration with other data sources. They also refactor monoliths into microservices, implement an event-based architecture, archive data in lower-cost...


Incident Response at Heroku

engineering , Production Engineer

This post is an update on a previous post about how Heroku handles incident response.

As a service provider, when things go wrong, you try to get them fixed as quickly as possible. In addition to technical troubleshooting, there’s a lot of coordination and communication that needs to happen in resolving issues with systems like Heroku’s.

At Heroku we’ve codified our practices around these aspects into an incident response framework. Whether you’re just interested in how incident response works at Heroku, or looking to adopt and apply some of these practices for yourself, we hope you find this inside look helpful.

Incident Response and the Incident Commander Role

We describe Heroku’s...


How I Broke `git push heroku main`

engineering , Software Craftsman

Incidents are inevitable. Any platform, large or small will have them. While resiliency work will definitely be an important factor in reducing the number of incidents, hoping to remove all of them (and therefore reach 100% uptime) is not an achievable goal.

We should, however, learn as much as we can from incidents, so we can avoid repeating them.

In this post, we will look at one of those incidents, #2105, see how it happened (spoiler: I messed up), and what we’re doing to avoid it from happening again (spoiler: I’m not fired).


Browse the blog archives or subscribe to the full-text feed.