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.