Search Results

so far empty...

Loading

How to create a Software Engineering Career Ladder

  • 9 Minutes
  • 0 Comments
Two people sitting at a table reviewing performance on a clipboard over coffee.
  • Views: 444

If you’ve ever worked for a company where a clear path of progression was not available to you, you know how difficult it can be to figure out if you are on the right track. Even if you put the conversation about compensation aside, knowing if you are fulfilling the expectations of your role is critical to your success. While some people might be content in their current role, everyone will want to understand the next-level options and how they can get there at some point. If you have heard the phrase ‘keep doing what you’re doing’ more times than you can count, then you know how important this is.

Creating a career ladder for your Engineering Team starts with examining the company and culture that you want (or already) have. You can begin by identifying traits that support your company’s values. Next, create a list of the behaviours that align with the development culture you are trying to establish. Finally, of course, there will be some aspects of technical ability and some around soft skills that you will want to include. Brainstorm as many different traits that you want your team members to possess and grow and improve over time.

Examining Company Values

Everything should tie back to the company values, so the career tracks are no different. The company’s founders have set a tone for how they want the company to operate so, therefore, support those values with every opportunity. Let’s look at a simple example of Microsoft’s corporate values and see what we could glean from it.

“Respect – We recognize that the thoughts, feelings, and backgrounds of others are as important as our own.

Integrity – We are honest, ethical, and trustworthy.

Accountability – We accept full responsibility for our decisions, actions, and results.”

https://www.microsoft.com/en-us/about/corporate-values

How could you measure an employee’s performance against these values? Respect and integrity are likely traits you want everyone to exude from day one, so combing them and evaluating employees directly against them sounds appropriate. You could expect entry-level roles to communicate to others respectfully and honestly. In contrast, you could expect other more experienced leaders in the company to hold others accountable for such behaviour and find new ways to promote understanding. Accountability or ownership is also a great trait to include. Each level of your ladder generally requires different levels of responsibility that you should be able to measure for an individual. In addition, you could expect people on the higher rungs of your ladder to seek new responsibilities and proactively take ownership, which alone would be a good indicator that someone is potentially ready to move to the next level.

Development Culture

Company culture is constantly being discussed and is essential for employee satisfaction and retention. The development culture is another equally crucial layer to developers and engineers. Perhaps you want to focus on speed and innovation. In contrast, maybe you desire detail and quality. Do you place a high value on automation? Do you employ techniques like pair programming or test-driven development? If you have something like an Engineering Handbook already developed for the teams, you can easily pull many traits from there. If you don’t have something like this in place, it might be a good idea to develop that first so that the career track can enforce those principles. Remember, the list of qualities you want to evaluate people against should relate to how you want them to work.

Technical and Soft Skills

Hard and soft skills are the more obvious elements of a career track. You will most likely have a specific callout to technical quality and execution. As a developer or engineer, there is an expectation for you to be able to meet specific foundational skills getting more advanced and refined as you progress up the ladder. The soft skill requirements, such as communication, are the generic traits you likely want every single employee to exhibit. Whether someone chooses to stay on a purely technical path or wants to progress into management, they will inherently become someone others will look to for guidance. So naturally, you’ll wish for effective communicators, but what other traits are essential to your organization? What about attitude, respectfulness, and honesty? Do you want them to be flexible or motivational? It wouldn’t be feasible to measure someone’s performance effectively against dozens of soft skills, so pull out the ones that best support the culture you are trying to establish.

Paths to Follow

Once you have a rough list of ideas together, you will need to identify how many different tracks you require. For example, most Engineering departments will likely need at least two to start, a developer/engineering track and a management track. Depending on the size and anticipated growth of your teams, you might need to define other paths such as data, DevOps or QA if those are relevant to you. You might decide to focus on the single engineering path to start, but some people might also want to know the options for lateral movement. Although you might not require many people on the management side (for example), having a defined track will allow people to know what options are potentially available to them and what the expectations of that role would be. As the organization evolves, so will these paths, so don’t be afraid to get it wrong. New tracks will emerge as your needs change, and the responsibilities for each will change also.

Progression Steps

At this point, you’ll have a thorough list of traits important to the organization and the culture you want to establish, as well as the number of paths you need. Now you need to determine how many rungs you wish on your ladder. A lot of the giant tech engineering ladders have many steps. For example, Google has nine levels, from Software Engineer I to Senior Vice President. Amazon has six, while Microsoft has 13. Next, you’ll need to consider the approximate level each of your current team members is at and the desired number of steps that make sense since you will need to fit them all into this template at some point. At a minimum, you should be able to provide everyone with a clear path, upwards and potentially laterally, to the next level or two. Even if you don’t publish the entire trail to the top of the organization immediately, getting a rough idea of what that might look like is a good idea. You could approach it like many other organizations by loosely capturing each level’s scope of responsibility into areas such as; feature, project, team, organization, company and industry.

Bringing it all together

You have a lot of ideas and loose thoughts by now, so it is time to form this into something with a bit of structure. If you think of it in spreadsheet terms, think of each path as a tab, each level within that path as a column and the various traits you want to measure as rows. In addition to the characteristics, you could add a couple more rows for things like typical experience required, the scope of general responsibilities or the official job title.

Now comes the most time-consuming part, filling in each of those matrixes. Generally, each step will require more expertise and accountability, but more trust and autonomy are returned. So, if you pick a row and work from left to right, the first point will be the bare minimum requirements, and the far-right will be the ideal end goal. For example, if the trait you are working on is ‘Collaboration’ and you have four levels, perhaps it looks something like this:

  • Level 1 – Participates in team activities and offers contributions to improving methodologies
  • Level 2 – Drives team conversations and holds each other accountable for responsibilities
  • Level 3 – Fosters relationships with other teams to establish effective ways of collaborating
  • Level 4 – Establishes best practices for inter-team collaboration

Now is also an excellent time to think about the current habits of the existing teams and ensure any behaviours you would like to see change have a chance of being included here. For example, let’s say you find there is a tendency for some developers to toss their code over to a QA and then absolve themselves of ownership from that point on. In that case, although subtle, ensure that ownership of the code they write stays with them through production deployment and monitoring. Include something like this at an early level “Takes responsibility for their code through design, implementation, testing, monitoring, bug fixing and improvements.” Now you and the team members will have a clear baseline of expectations of their role.

Also, consider responsibilities that overlap between lateral moves to other positions. For example, suppose you have an Engineer IV and an equivalent Manager IV. In that case, there are responsibilities and traits that both should share to ensure the transition between these paths is possible. For an item such as ‘Team Building,’ a shared responsibility could be “Aids in recruiting and interviewing and hiring across all teams.”

Once you have filled in all the blanks, give yourself a well-deserved pat on the back. Having a rough career track complete is the most significant hurdle. From here, you would likely need to refine and review with senior leaders and human resources to address their concerns and ensure alignment. You should also check and update all of these paths regularly, at least yearly, to ensure it still aligns with your ever-changing business. After presenting this roadmap to your team, you can now have much more purposeful conversations about where they are in the company and how they can progress.