Breaking down software engineering career frameworks
by David Morgantini
Career frameworks have been helping software engineers grow for years. When I started looking at frameworks for software engineering, I noticed that there were a number of different approaches, but very little guidance on why you should choose one over another. In this blog post I’ll help you to understand three types of career frameworks, explain why you may choose to use each of them, provide examples for you to look at and give you guidance on how you can build your own.
Scaled assessment framework
A scaled assessment framework is a generic set of skills relevant to a particular job. Often, a scaled assessment framework will identify a set of skills (say Java, communication, etc) and the person being evaluated is rated on a scale presented independently of the skills themselves. This scale could be simple such as 1 - 5 or more complex such as awareness, proficient, expert.
A scaled assessment framework is generally used to identify an individual’s experience with a particular technology or skill. The output of this type of framework is an effective way to communicate the experience that an individual has across a wide variety of skills and is very helpful for identifying who has experience with different technologies. As such, you’ll find people use this type of framework in their CVs, and professional services companies may use one when exploring team layout options and for sales purposes.
Experience and competence are two totally different things and often are conflated within a scaled assessment framework. It is easy to express your experience on a scale (ie: I worked 5 years with Java) but much harder to express your competence on a scale (ie: I am 5/5 or ‘expert’ with Java). Software engineering skills should always be based on competence, rather than years of experience. This can lead to a stressful experience for the individuals evaluating themselves as reaching a decision can be challenging. The subjectivity can also result in disagreements between team members and their mentors or managers and provides very little useful guidance on how each person can progress in their careers.
How to build one
A scaled assessment framework is the most straightforward career framework to build. It requires you to identify a range of skills, both specific (ie: Java) or broad (ie: Listening skills), that are important to your organization. These skills can be written without much additional detail as the scale contains the details of competence for each skill. The scale, therefore, requires some context to help an individual evaluate themselves effectively.
A career ladder highlights the key skills and behaviours that an employee is expected to demonstrate at each level of their career within an organization. For example, at the bottom of a career ladder you would see the skills required to be considered a ‘Junior Software Engineer’, and nearer to the top, you’d see those expected of a ‘Senior Software Engineer’. A career ladder can be used to help individuals understand the skills they need to demonstrate in order to reach the next level in their career. That said, each rung is not a checklist for promotion but rather a trigger for conversation and thus the skills shouldn’t be overly detailed or specific.
The goals of a career ladder are focused on communication. They communicate both what is expected at each level of an individual’s career and the core values of the team. A well-constructed career ladder can significantly improve retention through clear and concise communication of what it takes to get to the next level and can provide people with an understanding of the general areas that they need to improve in or grow.
The primary drawback of a career ladder is that they do not offer a clear and actionable set of steps for individual growth. As the skills, by necessity, are quite generic they cannot represent the individual growth paths of, for example, a web specialist versus a back-end specialist or any of the other technical specializations that are available in a modern technology company. Additionally, a key challenge faced by many career ladders is the split between individual contributor and management. Either a software engineer will have a singular path for career growth, which leads to management, or there needs to be a split in the career ladder. Both of these solutions are sub-optimal as they force the employees down rigid tracks for progression. Companies should instead support flexible paths for growth, that allow individuals to pursue a combination of management and individual contributor skills that are in-line with their own personal goals and those of the company.
How to build one
Building a career ladder is a challenging process that can take a team quite a bit of effort. It requires a clear, well-understood definition for each rung in the career ladder as well as the key skills and behaviours that fit within that rung. One particular challenge for building a career ladder is providing the appropriate level of detail for each skill without being too granular. My suggested approach is to take an existing career ladder and modify it for your organization, paying close attention to the granularity and suitability of each skill.
A growth framework differs from the previous two approaches because of its focus on the progressive growth of skills. A growth framework is generally driven by a model for skills acquisition such as the Dreyfus model or an influence based skill model. This model for skills acquisition is used to represent growth along the y-axis of a grid (e.g. starting at novice and going all the way up to advanced). A set of categories or skill areas are used across the x-axis of the grid to represent the broad set of areas within which a person can grow. Finally, these categories are filled, according to the growth model, with discrete and specific skills that enable a ‘yes’ or ‘no’ response.
The main goal of a growth framework is to provide clear and actionable growth objectives. As they are more granular than the other two types of career frameworks they provide a more structured approach to growth and are focused on identifying gaps at both the individual and team level.
The biggest drawback of a growth framework is how difficult they are to build, manage and use over time with a large team. Ideally, you want to be able to track and visualize growth whilst adapting the growth framework to the changing technology landscape. To scale a growth framework over a certain number of engineers you need to use tool support as demonstrated by multiple companies who have built open source tools that support their own growth frameworks. Another key drawback for this style of career framework is that, whilst it communicates how to grow, it doesn’t show which skills are required for each grade (e.g. ‘Senior Software Engineer’) in your company.
How to build one
This is the most challenging type of career framework to build as it requires a significant understanding both of the key skills that are required for an organization, and an understanding of how an individual can grow their capability in each of those skills. Building a growth framework is a three-step process. The first involves deciding on a growth model that provides the levels of growth required. Then you need to identify a set of categories that are important to your organization, and finally, you need to come up with meaningful skills for each category and level.
Choosing the right one for you
It is clear that having a career framework for software engineers is critical to the successful scaling of a modern technology company. To build an effective career framework you need to understand your goals and how much you want to invest in building one. I’ve built a small table to help compare the differences between the types of frameworks below.
|Scaled assessment framework||Career ladder||Growth framework|
|Building one is||straightforward||complex||highly complex|
|Communicates||key skill requirements||skill requirements per grade||growth path for key skills|
|Evaluation subjectivity||very high||high||medium|
|Career path||allows for individual flexibility||singular or branching||allows for individual flexibility|
|Identifying skill gaps||at a high level||at a very high level||at a detailed level|
|Conversations||do not enable conversations||enables career conversations||enables growth conversations|
I don’t recommend using a scaled assessment framework, except in the case of a professional services company looking to very cheaply communicate skills at a general level as part of their marketing or for use in a CV. When it comes to making a decision between a career ladder and a growth framework, the decision becomes more nuanced. If communication of career levels is your primary goal, a career ladder is going to give you the best value. If you are looking to build a growth culture in your organization it is incredibly helpful to lay out a variety of options to help people choose the career path that fits them best.
Our aim at SkillsMap is to reduce the cost of creating a growth culture in your organization. We've built the SkillsMap tool to make it easier for companies to build, start using and get value from growth frameworks, career ladders, or a combination of the two. With our tool, you can define the skills in a growth framework that are expected for each of the rungs of the career ladder at your organization, giving you the best of both worlds. We've also created a generic software engineer growth framework that you can adapt, so you don't have to make your own from scratch. If you want to get started with SkillsMap, or are interested in the many other ways it can help you, please request a free trial below.