Recently, SendGrid celebrated five years since we formed the company. Five years and over 270 billion emails later, I want to share some of my thoughts on some key lessons I’ve learned along the way.
Design For Failure
One of the biggest mistakes we made in the initial creation of SendGrid was focusing on getting a feature working, and then moving on to the next piece. While this was all well and good at low scale, once you have millions of messages going through the system every minute, the “one in a million” error cases start happening very regularly. Even just putting in proper error handling isn’t good enough; the system as a whole needs to be designed to work effectively when there is a failure, otherwise things grind to a halt, and it gets very hard to recover afterwards. Our current designs start with “and what if that service has problems” and branches off from there, making sure that when some internal piece has an issue, our customers are minimally impacted.
Don’t Look Down
I remember in the old days I would often look at the stats counters and see how much email had gone through the system. I had to give that up pretty quickly after we launched, because the numbers got large enough that they all blurred and lost meaning. People often ask me what I think about the volume of email we deliver, and honestly I try not to.
Much like glancing down while climbing the mountain can make you fearful of the fall, thinking of the volume of traffic processed can make you worry about the ramifications if something goes wrong. Like the climber and his rope, I trust in our design, I trust in our monitoring, and I trust in our people. I prefer to look up to where we are going, rather than worrying about where we are at.
One of the things I have enjoyed the most about being with SendGrid from the beginning is seeing the company grow. In 5 years, we have grown from 3 people to over 250. I think the best part of this for me has been seeing the value that each person brings to us as they start.
One of the key lessons I learned after starting SendGrid is that the problems with email are not as much technical issues (its been around for over 30 years) as much as people problems. Most of the reason SendGrid exists is because spammers (people) have made the administrators of email servers (people) put tons of hurdles in place that anyone wanting to send email (people) have to jump through, making it a giant pain. As much as we can put technology in place to deal with these hurdles, there is a huge personal component to the email ecosystem. I’m really proud of the team that has been built here to work through those, and how dedicated they are to helping deliver the worlds wanted email for our customers.