The adventure begins!

How a side project became a movement that created real cultural change

Gusto was born as a promise to make payroll easy for small businesses in the United States. Payroll and taxes are extremely complicated domains, so to keep laser focused on our customers, we consciously kept our sights on small businesses. As Gusto grew, and our customer base grew, so did the desire from our customers to stay with us long term. Growing businesses have different needs, and we saw an opportunity to evolve alongside them—to build features and functionality that were still seamless for companies with 5 employees, but could scale to serve businesses with hundreds of employees.

We care about our customers and want to ensure we keep meeting their needs even as those needs change. Engineers were building performance into our work naturally, but we knew we needed to do a lot more to coordinate our efforts and keep up with our increasing demand.

Starting the conversation

In November 2020, my coworker, Glen Oliff, and I had the idea to start the performance guild, a place where we could coordinate engineering efforts, learn from each other, and have people ask questions and get help. At Gusto, we use the term guild to refer to a group of people who care deeply about a subject. We have a frontend guild, a ruby modularity guild, domain specific guilds, and others. Creating a performance guild to bring together the engineers who were already passionate about this topic was an easy way to find people interested in this work.

The first thing we did was organize a monthly meeting and a corresponding Slack channel. We didn’t have a lot of formal speakers initially in this monthly meeting, so we gave many of the talks ourselves. But by the third month, we had started to gain some traction. As more people heard about the guild, engineers from around the organization began coming to us with topics they wanted to discuss or present.

We paired a lot with our Developer Experience team to get relevant logs, dashboards, APM tools, and other observability tools enhanced with performance specific information. We doubled down on our investments in this kind of tooling, even creating some of our own, so engineers could have easy access and insights into areas that could use improvement. We also put safeguards in place, like automatically killing database queries that ran for too long. By getting the right information to the right people, we were able to greatly increase our ability to be proactive and respond to events.

To make sure learnings weren’t relegated to Slack history searches, we created an internally documented space to be the one stop shop for everything performance related. It contains meeting recordings, helpful articles, case studies of past issues, and a whole lot more. To make it easy to get to, you just go to go/performance into your browser!

Building momentum

With all these things in place, it spurred a whole new set of insights into our system, and engineers felt even more empowered to find and fix issues. We gained a lot of momentum over the course of 2021, with people posting anytime they made an improvement to a page or a job in our channel, which started to happen multiple times a week. These wins would then be celebrated at the next monthly guild meeting, to highlight and give credit to individuals putting in the hard work. Eventually, I brought this to our Engineering All Hands meeting, and now every month we highlight all the performance fixes from the last month in front of a group of hundreds of Gusto engineers. It’s helped get even more engineers involved in the efforts.

We also decided to kick off a performance guild book club, and read The Complete Guide to Rails Performance by Nate Berkopec. We jokingly said that we should bring Nate on to help with our issues, but that joke turned into actually talking to our CTO about it, and I’m happy to say that here we are in 2022 with Nate as a full time Gustie!

To make sure we could keep the momentum going and onboard new engineers into our new best practices at Gusto, I created a formal course that walks through each of the tools we’ve added and the basics on how to use them. It launched in March 2022 and became mandatory for all existing and new engineers.

At the same time, performance metrics became part of a larger initiative focused on building specific quality principles into our product. This really felt like the moment my side project, that turned into a grassroots engineering effort, was formalized as full blown requirements for the department.

Looking to the future

Where do we go next? We want to continue moving in the right direction and even accelerate efforts where we can. We are actively working on improving some of our highest traffic pages and doing additional research into areas of improvements for our largest customers. We’d like to find ways to utilize the tools we’ve put in place to be even more proactive, instead of reactive.

Looking back on the last year and a half, it’s incredible how many engineers have stepped up to make our site faster for our customers. Gusto won the editor’s choice award from PC Mag for the payroll for small businesses category, and they had this to say about our performance:

“Gusto displays a cute little pig named Penny while many screens are loading. Penny is running fast, but I didn’t see her as much as I did the last time I tested Gusto. Gusto has improved its performance speed quite noticeably.”

What I personally learned from this experience is that as an individual contributor on Gusto’s engineering team, if you’re really passionate about a topic, you can drive real change in the organization. If that sounds like something you’re interested in, consider joining our team!