Building structure

Creating an Engineering Career Framework

A good career framework has many benefits for an Engineering team. It provides engineers clarity and visibility on the expectations of their and other roles. Frameworks are also for managers to as a guide for career conversations with their teams.

Putting a framework together is not something you want to rush but, equally so, it may not need to be exhaustive either, depending on your team.

In creating and rolling out a career framework for an Engineering function there are questions to ask and steps to take along the way. Here was my approach…

Understand what you need

As creating a framework can be a time consuming task, ask yourself what do you really need? What outcome are you looking for?

This primarily comes down to the needs of the team. Are engineers unclear on their responsibilities? Are they asking about career progression opportunities?

Depending on the size of the team and how quickly you’re growing you can begin to understand what you need.

For a previous team, we had 12 engineers across 3 teams but we were in the process of doubling the number of engineers. The engineers who had been there a number of years were ‘Software Engineers’ but we were hiring engineers at Senior and Lead level. This meant titles were not aligned correctly. There was also limited documented career progress structure and it was unclear on the expectations for each role.

From this, I knew we needed a fairly robust career framework that was detailed enough to provide clear guidance on the roles available and their responsibilities. It needed to provide guidance for the managers of the team too. If this was a smaller team, something simpler would have been sufficient.

Put your draft together

To start with, you have to decide on the roles you want for career progression. It could be as simple as Software Engineer, Senior SE, and Lead SE. You may need other roles too but this is the first important step.

Then, getting started on the framework was the hardest part for me. I struggled with what approach to take which resulted in a few false starts.

There are plenty of career frameworks from other companies online, can’t we simply copy one?

I don’t like this approach because any framework should be relevant to your company and culture. The details and expectations should closely match the daily work of engineers. We also have company values that I wanted interspersed throughout the framework.

Using other frameworks for inspiration is a good idea though! This helped me to get started.

To structure the framework I was looking for areas of focus that more granular responsibilities would flow from. Looking at other frameworks helped guide this thinking process and helped create a shortlist of areas to choose from. From there I narrowed it down to 5 main areas: Engineering, Execution, Leadership, Strengthening, Domain Experience.

Having these main areas made the next steps easier because the focus was narrower. I created 3-5 sub-areas under each area to narrow it further and then was able to work on the responsibilities for each role.

Detailing the responsibilities for each role and area takes consideration. It’s these details that engineers will be compared against and the focual point of discussions. We want these to be fair but equally challenging for each role.

We always want to set the bar high, so have an idea what excellence looks like. What are the core skillsets you’re looking for? What technical skills are expected? How should people act in and across teams?

It’s not an easy process and takes understanding of your teams and how you want to grow.

Hopefully, after this you should end up with your first draft framework.

Get feedback

Feedback is an essential part of the process. Having different perspectives helps fill in gaps that may be missing.

Getting feedback was a fairly quick process once the initial framework was first drafted. I had feedback from my manager (the CTO) and also my direct reports, the managers of the teams. This provided more thinking and discussion which resulted in a more robust framework.

I also worked with the People team, as we were growing they were planning for company wide structures and career matrixes. We were able to align our thinking so different projects complemented each other.

The rollout

Once the framework was ready it was rolled out to everyone. This shouldn’t be a surprise for your teams but ensuring there’s a clear understanding of the framework and any other changes as part of the rollout is essential.

This started with getting everyone together where the career progress structure and framework was explained. It can be a lot of information to take in so the main takeaway was encouraging people to read through the framework and share any thoughts/questions.

Overall, the career framework was a success. Engineers enjoyed having clear responsibilities for each role and it started many good career conversations. Some engineers copied their role’s responsibilities into trello boards or another sheet, to then add comments and direct further conversations.

Also, I was able to realign some people’s titles and even give promotions based on the new structure which was a desired outcome from the beginning.

Making the framework public was also a good decision. It helped with recruitment so potential new hires can see how we’re structured and the responsibilities across the team.

The framework is here (as long as it’s still available).

Going forward

No career framework is set in stone. It needs to evolve as the team and company changes, this is where continual feedback is encouraged.

Gentle reminders are part of the course! Making sure engineers are aware of expectations and that managers are using it to guide conversations with their reports.

Creating a career framework can be a daunting task but it’s worth the effort with the visibility and clarity it provides.

If you’re looking for inspiration, here are some other frameworks and resources that may help.



Leave a Reply

Your email address will not be published. Required fields are marked *