Setting goals to advance your software engineering career


It’s 2025, a new year. If you work for an established tech org your manager will likely ask you to set goals. Engineers and managers alike often dislike goal setting - viewing it as a box ticking exercise. In this article I’ll share my thoughts on making goal setting worthwhile. These are things I’m putting into practise myself.

Understand your motivation

We often go about goal setting the wrong way, especially within a company environment. Your manager suggests you set goals, so you set some based on your current work and perhaps previous review. This is backwards. Your first step should be to decide what you want to achieve this year and in your career 3-5 years from now. Of course, things change fast. 3-5 year goals will evolve over time. The point is to understand what you want to accomplish and have goals that motivate you. A good manager should have these conversations with you. If they don’t, you can do it yourself.

Ideally you have a top level, long term goal. Getting promoted from Senior to Principle Engineer is a great example (I'll use this example in the rest of the article). Then you’ll break this goal down into sub goals or key results which get you closer to your main goal.

Use a growth framework

Ideally your company will have a career framework to help you create goals that align to career advancement. A growth framework (AKA growth ladder or progression framework) is common for established engineering orgs. Think of them like a map of the engineering career paths with expectations for each role. Here’s a great example from Monzo.

When setting goals, I recommend focusing on two areas:

  1. Look at your current position and do an honest review of yourself (ideally using manager and peer feedback) to identify gaps or weaknesses. You should adopt goals to address these first to ensure you’re high performing at your current level
  2. Look at the position above (where you’d like to be promoted) and do the same honest evaluation. Adopt goals to reach that next level. These goals will be stretching. You may also need to work with your manager to find opportunities. For example if you want to move into people management you’ll need to be given the opportunity to manage people.

Ensure you review these goals with your manager and both agree they are the most effective goals for moving you closer to promotion. This also sets the expectation with your manager that you are interested in promotion.

If your company does not have a growth framework you can ask your manager to outline the requirements for your role and the role above. For bonus points - you could push your company to create a growth framework or even take the lead on creating one.

Discuss with your manager

Once you have a set of goals it’s important to review them with your manager and ask them for any additional goals they would recommend. This has two benefits:

  1. Your manager knows you well and can help identify gaps. For example, you might set yourself a technical goal like ‘get an AWS certification’ but your manager knows the thing holding you back from promotion is actually your inability to write clearly.
  2. It makes your intentions clear to your manager. You are setting expectations about what you want. You should not assume your manager is working to get you promoted. Telling them what you want increases the chance of it happening.

Peer reviews

Another source of input is peer reviews. Like manager reviews, peer reviews help uncover blind spots. Areas you didn’t know you needed to improve.

When asking for peer reviews, don’t just ask people you know will review positively. You want critical feedback to improve. You should see it as a chance to improve challenging relationships.

Aim to get as many peer reviews as possible. This maximises your feedback (which helps improve your goals). It also reflects positively on you. If many people take the time to write you feedback it shows you are a valuable team member.

Make goals measurable

Now let’s turn our attention to writing goals. I’m sure you’ve heard that goals should be SMART - I won't go into detail here but the important part to focus on is - goals should be measurable. To illustrate, here's a common goal: ‘improve Python skill’. The problem is, how will you know if you've succeeded? A better goal would be ‘complete 5 features in python’ or ‘leave comments on 10 Python PRs’. The more specific the better. An even better goal would be ‘design & implement the new messaging system in Python by April’.

Checkin Regularly

Another failure mode I see is setting goals but not revisiting until the next annual review.

You should revisit goals regularly yourself and with your manager. To do this, I recommend keeping a doc or spreadsheet with all your goals so you can track progress. Update frequently. This helps you understand if you are on track and shows your manager you are serious. Here’s a simple example:

  • Implement new messaging system in Python
    • [11-3-24] Created initial architecture plan
    • [12-3-24] Shared plan with key stakeholders
  • Be a leader in the company python community
    • [3-12-24] Shared news about Python 3.13.1 release and helped update Dockerfile

I hope this was useful. Email me if you'd like feedback on your goals - I'm happy to help.

Grok The Biz

Subscribe to join the monthly newsletter.

Read more from Grok The Biz

“The person who writes down the thing has tremendous power. Independent of their formal role in an organisation. One of the ways you find up and comers at a tech company is by seeing who wrote down the plan. That doesn’t mean that they came up with everything and that doesn’t mean they had all the ideas. If they were able to organise their thoughts and have the energy and the motivation and the skill to communicate it in a written form. That stands out.” - @pmcarma I'm not a natural note...

This month I challenged myself to run better 1:1s. I’ve been in the industry for 13 years so I’ve done a lot of 1:1s. Either as a manger and with my manager. But lately I felt I could do better. My 1:1s were often stilted and unproductive. I felt I was just going through the motions. Bad 1:1s are a waste of time for everyone and cause people to feel unsupported. This month I tried to improve. I interviewed friends in the industry and consumed some great content. Here’s what I learned: 1....