I was pretty baffled when I first learnt about Netflix’s philosophy of hiring exclusively senior software engineers. What? No room for my beloved new grads or mid level engineers? How very square of them!**
I recently left my job as an engineering manager at Lyft. As I’m mulling over my last 2 years in engineering leadership, I’ve come to obsess over what I call the “inverted triangle” team composition problem in tech. One of the challenges that engineering managers face is building a team composed of engineers at the right level of seniority. But let’s not get ahead of ourselves! Before we dive into team composition, let’s talk about the seniority bands in tech companies.
Roughly speaking, seniority in engineering spans across 4 bands. We have the mighty staff engineers (SE) who are experts in the fields and are responsible for setting the technical vision and overseeing multiple projects on the team. Then we have senior engineers (SR) who will typically lead a large, complex project and are expected to be able to run the day to day operations of the team (if summoned to do so). Mid level Engineers (M) have typically been in the industry for 2–5 years and work on sub-features of projects. For e.g. a senior engineer responsible for building the purchase flow for Crypotokittens may break up the project into several features (and example of a feature may be to fetch the available token balance) which can be picked independently by a mid level team-mate. Junior Engineers are typically new to the industry and operate on tasks rather than projects or features. For e.g. to display the available token balance, one of the tasks might be to make an API call that returns the available tokens.
Here is another fun fact — the senior engineer level is considered to be the “terminal” level at many tech companies. What this means is that every junior or mid level engineer is expected to get promoted to the senior level within a recommended timeline. At Lyft, the recommendation is 24 months for a junior engineer to get promoted to mid-level and 30 months for a mid-level engineer to get promoted to the senior level. Once an engineer reaches the senior level, they can choose to stay there indefinitely (if that’s what they wish to do).
Finding the right makeup of a team is complex since it depends on factors such as the technical…