This year, 1upHealth adopted a defined career ladder for our software engineers (SWE) which has, in turn, led to tangible cultural improvements and outsized product improvements that are helping solve our customers’ largest data challenges.
By setting objective expectations for how each level of engineer should be operating, our engineers better understand what’s expected of them now and what’s expected of them to reach the next level. Setting clear, objective expectations has also made our managers’ jobs easier, as they now have something concrete against which to evaluate their people. Additionally, our career ladder has improved the diversity of our engineering organization by taking much of the subjectivity out of the performance evaluation and promotion processes, two areas where typically underrepresented groups often feel unfairly judged.
It’s within this fair, positive, and culturally diverse environment that engineers are able to operate to the best of their abilities – resulting in a market-leading health data management platform that solves our clients’ biggest health care challenges.
Rather than walking you through the specifics of 1upHealth’s career ladder, as many of the details are specific to our teams, I instead want to share a general sense of how we view our engineering levels and what we expect of engineers at each level. Our levels are heavily influenced by Silicon Valley engineering culture and, in particular, by Twitter and Cloudera.
A high-level look at 1upHealth’s 8-step career ladder
The 1upHealth engineering career ladder defines a series of levels that start with “total n00b” and end with “industry luminary.” A very explicit intent of our engineering career ladder is to make sure that engineers have a full and rich growth path that does not require moving into management. I cannot emphasize enough how important it is to have a growth path for engineers other than management. Forcing an engineer into management in the name of career growth when they’d rather be coding is doing a disservice to that engineer, to the team they’re forced to manage, and to the organization as a whole. Individual contributors (IC) are highly valued within 1upHealth engineering.
For each level, the ladder breaks down expectations into five areas:
- Technology: Command of the tech stack and tools
- System Design: Architecture of classes, system, and libraries
- People: Relationships with coworkers and other teams
- Process: How you get work done; level of engagement with the development process
- Stewardship: How you demonstrate ownership
Depending on the level, more emphasis may be placed on one area versus another. Typically, the earlier levels are more focused on technology and the latter levels are more focused on design and process. Stewardship is evergreen.
A closer look at 1upHealth’s engineering levels
Let’s talk about the expectations for each level of 1upHealth’s engineering career ladder.
Associate Engineer (IC1)
An Associate Engineer is not quite ready to take on the full set of engineering responsibilities. The most common scenarios are folks coming from a career change or students who have not yet completed their education. The primary expectation for an Associate Engineer is that they learn quickly. Delivery is nice, but the work delivered by an associate engineer is typically more for the learning value than because it’s on the critical path. The scope of work that an Associate Engineer takes on tends to be well-defined, bite-sized, incremental changes. An Associate Engineer is expected to rise to the level of SWE I within a year.
SWE I (IC2)
A SWE I is the canonical junior engineer. They take tickets as input and produce good quality code as output. The scope of their work tends to be well-defined incremental changes. Their primary job is to learn by doing work that moves the team forward. Ticket velocity is typically expected to be high. A SWE I is typically expected to rise to the level of SWE II within 2 years.
SWE II (IC3)
A SWE II is a mid-level engineer who’s able to take on broader scope and more ambiguity than a SWE I, but not quite ready to own larger scale work on their own. A SWE II has mastered the process of delivering improvements through to production and is fluent in reviews, debugging, testing, and writing high quality code. Ticket velocity is typically expected to be high.
The SWE II level is where the expectations of the role start to expand beyond writing code and closing tickets. A SWE II is expected to be able to do modest design work and should be actively involved in the operation of the team, including code reviews, mentorship, team processes, and working to improve the quality of the code overall and the delivery of the team. A SWE II is typically expected to rise to the level of Senior SWE within a couple of years.
Senior SWE (IC4)
A Senior SWE is a fully capable, self-sufficient engineer who’s able to tackle most any project that gets thrown at them. A Senior SWE should set an example of what high quality delivery looks like and should hold the rest of the team to the same bar through code reviews, mentorship, teaching, etc. A Senior SWE should be able to take a loose set of requirements, work with the product manager to refine them, produce a design, scope the work, delegate tasks to a project team, manage the delivery schedule, and deliver a high quality result on time that meets the definition of done. Overall impact is high, as is ticket velocity, but the volume of their work may not be fully represented in ticket velocity alone.
A Senior SWE is expected to play an active role in the success of the team across all aspects, including code reviews, mentorship, team processes, code quality, product quality, delivery, etc. A Senior SWE should proactively identify opportunities to improve the software, the processes, and the skills of the team. A Senior SWE should be very outcome-oriented, looking at their work from the perspective of how it impacts our customers, our company, and our Engineering team. A Senior SWE looks beyond their own work and enables the team as a whole to be more effective.
Staff SWE (IC5)
A Staff SWE should be a paragon of delivering high quality outcomes on schedule. A Staff SWE should be able to take or create a rough set of requirements, refine them into a multi-quarter, multi-person project, produce a design that meets the requirements and also solves for scalability, supportability, extensibility, etc., organize the team around a robust delivery plan, and deliver on schedule to a rigorous definition of done. A Staff SWE should be a partner to the Product team, helping them recognize opportunities and refine requirements. A Staff SWE should also recognize technical trends and opportunities, and translate them into development projects that can be included in the team’s roadmap. A staff engineer should set the bar for the team in terms of code quality, effective processes, strong definition of done, etc. A Staff SWE’s productivity may not be represented in their ticket velocity, but should be represented in the successful delivery of team goals.
Staff SWE is the level where the focus starts to shift towards leadership. Beyond delivering projects, a Staff SWE should be collaborating across teams, both where work crosses team boundaries, but also in the broader interest of the Engineering community, such as through mentorship or design reviews across teams. They should also represent the company’s interests externally by participating in industry working groups. A Staff SWE should have influence over the team’s roadmap, helping to set the technical direction for the team and guiding the Product team. A Staff SWE should operate as a team captain, working to optimize the output of the team across code and code quality, designs and design quality, process and efficiency, skills and capabilities, and quality and supportability of the final product.
As a heuristic, a Staff SWE tends to embody at least two of the following three traits:
- High velocity producer of high quality code
- Accomplished architect with a history of good design choices
- Team leader focused on upleveling everyone in the team and the operation of the team itself
Senior Staff SWE (IC6)
As an equivalent level to Director, Senior Staff SWE is a role more focused on leadership than on individual contribution. While they still make technical contributions, particularly in the area of design, a Senior Staff SWE’s primary role is to make the rest of the team more effective and uplevel the engineers around them. The scope of a Senior Staff SWE generally encompasses multiple teams, and it’s not uncommon for a Senior Staff SWE to report to a Director or higher.
A Senior Staff SWE is also expected to be visible outside the company, such as through patents, blog posts, conference talks, and/or industry working group leadership. A Senior Staff SWE should be focused on challenges and problems that impact the entire Engineering organization and that directly impact the success of the company.
Principal SWE (IC7)
A Principal SWE should be able to successfully tackle the most challenging technical problems across the full domain of the engineering organization, including projects that may span years of development effort. A Principal SWE is also expected to impact the business beyond just the scope of engineering. In addition to being a leader in the engineering organization, a Principal SWE should be able to run cross-organizational initiatives, identify ways to improve the company’s strategic, business, and operational performance, and use their relationships and expertise to facilitate business opportunities for the company. A Principal SWE helps set both the technical vision and product vision for the company and operates as a member of the engineering senior leadership team.
Distinguished SWE (IC8)
A Distinguished SWE has all of the technical capabilities of a Principal SWE, and also stands out as a leader in the broader industry, often sought out as a speaker at external events. The work of a Distinguished SWE is often sweeping in scope and/or without precedent in the industry. They operate as a member of the senior leadership team to drive the success of the company cross-organizationally.
Creating a culture of results
At 1upHealth, we’ve worked hard to create a working environment where all engineers can do their best work. As a result of our career ladder approach, we’ve created a fair, positive, and diverse culture where employees can thrive and market-leading software is developed – in support of our customers’ biggest data challenges. My job as a leader is to make sure every member of the engineering team is empowered to solve those challenges and sees personal growth in doing it.
To continue the conversation around 1upHealth’s engineering culture or market-leading software, connect with me on LinkedIn.