Note: This is the first post of a 2-part series.
As with any tech startup just getting off the ground, Gusto started with a very small engineering team in 2012. Communication overhead was low and very little got in the way of us writing code and building our initial set of features. We moved quickly and built a functioning payroll backend at a blistering pace.
But as our company grew, so did our code base and the complexity of problems we faced. Instead of pumping out new payroll features everyday, we found ourselves figuring out how to scale to thousands of businesses, finding ways to catch fraudsters, getting a growing number of back-end services to talk to each other in a developer-friendly way, and catching all the unforeseen edge-cases that happen when you move billions of dollars through an antiquated payment system.
At Gusto, each engineer is treated as an owner of the features they build and getting lots of input from teammates is important to us. But even with our collaborative team culture, as our team grew communication inevitably became more difficult and consensus became harder to come by. Furthermore, our user base grew beyond just business owners to also include accountants, employees, contractors, and even internal teams. We found ourselves being pulled in different directions and it was not always clear how to best prioritize our time.
While none of these issues were hair-on-fire type problems yet, we knew they would continue to grow. At Gusto, we love experimenting with things that can make us work better, so we decided to try out ideas to proactively curtail the challenges of scaling our team and product.
One of the things we’ve done is write down a set of shared, fundamental principles to help us navigate the complexity. Just as all the theories of Euclidian geometry are based on a small set of simple axioms, we wanted our engineering principles to be the set of "truths" we rely on to help guide us through tough problems and decisions.
After many iterations, we came up with the “Gusto Engineering Principles and Values.” It’s a framework that we can turn to whenever we’re faced with a difficult decision, whether it be about how to best architect something, how to prioritize our time, who to hire, or how we interact with each other.
As the Gusto Engineering Principles and Values began to take shape, it evolved into something more than just a framework for making better decisions. It also turned into a document that reflects who we are and who we aspire to be in the future.
In the next few weeks I'll write part 2 of this post, where I'll share the process we went through to come up with this document, starting with our small retreat!
Download the Gusto Engineering Principles and Values pdf.
Comments on Hacker News.