One of our core values at Duo is “Engineer the Business.” Just as we engineer, iterate on, and improve our product, we apply that same mentality to the processes, systems, and tools that power our organization.
Since I joined Duo in February 2015, we’ve had a ladder for software engineers to follow as they progress in their career. We use the ladder as a tool to evaluate promotion readiness, overall job performance, and hiring placement. As we’ve grown from $10M to $100M+ in ARR and scaled our Engineering department from 20 to 100+ employees, our ladder has gone through a number of iterations.
We recently released a new major iteration of the ladder that we’re publishing here today. Our goal in sharing the ladder is to provide another example to the tech community of how effective career pathing can be done. We’re not claiming to have all the right answers, but we’ve reflected on our past successes and failures to arrive here.
This is our third major iteration of our software engineer ladder. Each revision has been effected by our Engineering department reaching a new challenge of scale. The rest of this post outlines the principles that have formed our new ladder.
Released but Not Finished
While we're considering this new ladder “released” for Duo engineers, we recognize that there may be remaining bugs to work out. We plan to iterate on the ladder going forward; eliminating bugs, adding enhancements and more examples over time. Just like our product, our work in creating clarity around employee career paths is never complete.
Standing on the Shoulders of Giants
We use the work of many open source software projects as engineers at Duo. Similarly, we’re proud to build on the work of others in designing an engineering organization.
Google “Engineering Career Ladder” and you’ll find a myriad of results. We studied the ladders of many best-in-class tech companies to help inform our new ladder.
In particular, we found that the approach of the ladders from Rent the Runway and the Rands Leadership Slack closely resonated with how we were already evaluating our engineers in their careers. Comparing their ladders, you may find numerous phrases that are exact matches in ours - we give credit where credit is due.
Fewer With Focus
Our previous ladder featured over a dozen categories that we used to determine engineering levels. Instead of creating clarity, this level of granularity sometimes created a rigid list of things to be checked and behaviors that were applicable to only some domains.
Now, instead of dozens, there are just three total categories of behaviors:
These are the three areas where we evaluate our engineers in practice.
We believe the example bank is our unique contribution to the compendium of engineering ladders. We provide real examples of Duo behaviors and results that we want our engineers to emulate. In our public ladder, we’ve changed names and some project specifics. In our internal ladder, we link to specific documents that were the output of the engineer’s work.
The goal of the examples section isn't to put a single engineer on a pedestal or forever cement them at a level. Rather, we want to highlight actions that accurately reflect that level. Using real behaviors allows other engineers to dig into the project worked on or talk to the individual who completed it. Examples lead to richer career conversations between an engineer and their manager. Here’s an example from the technical category:
- B.R. researched storage solutions to replace MySQL as a general event log store at Duo, presented them to an Architecture Review Board to attain organizational buy-in and then led the implementation of the system.
The bank of examples is designed to grow over time as managers add to it. It enables the last result below.
Less Domain Specific
Our old ladder was heavily skewed towards full-stack developers, the primary type of developer we employed at its creation. The descriptions in the new ladder are flexible enough to be applicable to our growing diversity of technical foci: Mobile, Cloud, Windows, SDET, Production Engineering. The example bank mentioned above allows us to highlight specifics for every domain.
Engineering the business is core to who we are at Duo. Our new software engineer ladder meets the needs of where we are now and where we’re going over the next phase of building an enduring organization. We’ve modeled it after other best-in-class tech organizations.
Our goals were to focus on fewer categories to simplify how we evaluate engineers, provide examples of real behaviors that we want others to emulate, and create a ladder flexible enough for our diverse engineering domains.
You can review the ladder here, and feel free to copy and modify it for your own organization. Happy career pathing!