(cross-posted from Into Thin Air)
5 months ago I was the only Gusto engineer in Denver. Now we have 6. All of us are new to the company, and most of us are coming up to speed on the frameworks we use here at Gusto (React, Rails, etc.). Our vision is that Denver-based teams will operate autonomously, owning important pieces of our product. Realizing that vision is made complicated by the fact that there are no tenured engineers here. We’re all “Gusto newbies.”
Our first fully-autonomous team is attached to our payroll product. Most of our Payroll Care team is in Denver, and it makes sense to establish a development team here that works closely with that team. But the payroll domain contains our oldest, and most battle-hardened code. Coming up to speed on that domain is tricky given all of the edge cases that are covered within it.
So, how do we build an effective payroll development team in Denver when its members are all newbies?
The answer: ask tenured engineers to temporarily attach themselves to the team to help it come up to speed.
Attaching Tenured Engineers
Most of the engineers who have been with Gusto for > 2 years worked on payroll. After all, payroll was the product for a good chunk of our company’s lifetime (we used to be called “ZenPayroll”).
So we asked an engineer named Akhil, who was employee 35-ish at Gusto, to help bring our new Denver-based team to coding proficiency by de-mystifying the Payroll system for us. Akhil agreed to fly to Denver for three days a week and dedicate his time to pairing with us as we work on payroll-related features.
And it has been awesome.
Within the first week we shipped two features to Production. And Akhil has been instrumental in helping us in both understanding the nuances of our design patterns, and providing context around why certain architectural decisions were made.
We also established a program that will see three tenured, SF-based Gusto engineers move to Denver for a three-month period. They will amplify what Akhil has been able to do with our Payroll team, standing as code-related Subject Matter Experts for new engineers we hire into our Denver team.
What We’ve Learned
Paradoxically, we’ve learned that having strong ties between our two offices is salient to bringing our Denver-based engineering team to a state of autonomy. We have an always-on portal between the two offices to facilitate impromptu conversation. But more importantly, having SF-based engineers take time to be physically present with us in Denver has been hugely helpful, and this an approach I’d recommend to any company looking to set up a new engineering location.