20+ Career Development Goals for Software Engineers

For software engineers, it can be a struggle to set meaningful career development goals for themselves. With so many performance cycles starting at the beginning of the year, chances are that you or your team are trying to figure out some growth goals for the next quarter or year.

If you have a great career ladder, you can start there. But it’s still hard to turn that into something you can actually do in your job. These are often high level (by design) so it can be difficult to translate that into a tangible goal.

Here’s a framework that I use to categorize career development goals, and plenty of examples that you can use.

This is all based on 4 Ps of being a software engineer: People, Projects, Process, and Partnerships.

People

Want to show leadership, have influence over your team, and help others succeed? Some growth opportunities on the people side might be:

  • Leading onboarding of a new employee

  • Participating in interviews (or training others how to interview)

  • Mentoring a junior engineer

  • Volunteer to lead a brownbag session

  • Share your learnings from a conference you attended

  • Find a great training opportunity for your team

  • Offload some of your knowledge to other employees so you can go do other stuff

Projects

These goals are all about getting stuff done and strengthening your execution skills, including your subject matter expertise.

  • Attend a training or a workshop to deepen your own skills (just make sure that training relates back to a business priority).

  • Lead a roadmap project or take ownership of a collection of projects (like security-related stuff, migrating to Typescript, or becoming the expert on a 3rd party API).

  • This could also include things like choosing a vendor for an external pentest.

  • Improve CI/CD build times

  • Propose a stability/reliability project.

If you have a goal of paying down technical debt, here’s a guide on how to pitch the project.

Process

Just enough process helps teams move faster because people don’t have to try to figure out what to do next - they can just follow a set of standards, and everyone knows what to expect. You might consider:

  • Leading the bug triage process

  • Proposing a new way for marketing and sales to get informed about new releases

  • Getting more involved in product discovery

  • Running sprint ceremonies.

  • Figuring out holiday on-call schedules

  • Improving your post-mortem template

  • Figuring out the right way to do architectural review before you start building.


Partnerships

You don’t work in a vacuum, and sometimes work that crosses department lines can be very visible, like working on sales/marketing enablement to prep for a big release. More visibility means more people seeing your great work, and a stronger argument for promotion or a comp bump. You can also consider

  • Becoming a point person for another team that depends on your work, like customer support.

  • On the product and design side, join customer calls or user research interviews.

  • I also count community involvement here, so speaking at a meetup or conference, blogging more, or mentoring someone from the community.


Check out my course on Measuring Development Team Performance if you’re interested in setting goals to help your team have more impact.

Previous
Previous

Should we use CODEOWNERS?

Next
Next

Does my team need a Definition of Done?