Over the years I’ve come up with a basic approach to my career:
- Figure out what I want from life, and how work can support that;
- Use role models and writing to imagine possible futures;
- From those, map out the skills and capabilities I want to develop;
- Lean on my current work environment - or change it - to support my development.
From time to time I talk with colleagues and friends about this. These are some
notes to make sharing easier.
I’m writing about software engineering, systems engineering, and adjacent
careers. Mainly for individual contributors, because that’s what I know best.
We are on the hook for managing our own careers: a common mistake for less
experienced engineers is believing that their manager will do this. Sometimes,
managers will be a help; often they won’t.
We’re not fundamentally limited by our current roles, skills, whatever.
I think about what I want my work to enable in my life.
For some people, that’s wanting to travel, or to learn specific things, or to
settle down in a beautiful place, or to found a company, or things related to
family, or all of the above.
My personal list is rather general at this point, but well tested. I want to:
- Support my family in a good life;
- Help other human beings do things that are meaningful to them;
- Work with teams I trust;
- Be trusted in turn with a high degree of autonomy;
- Learn a great deal;
- Solve interesting problems;
- Leave things better than I found them.
This is in rough priority order. Had I thought about this more clearly, earlier
in my career, I think the order might be different. At times, particularly when
changing jobs, I might have had more specific ideas. Many companies and types
of work can support everything above. Some simply can't.
I like having this list because it helps orient me around the things that I
need or am looking for. If I can check off everything above, or I am making
positive progress, then I feel like my career is in a good place. If there are
things lacking, maybe I need to take action to fix that.
It also makes the classic “where do you see yourself in five years?” feel
somewhat tractable. :o)
Drawing a map
We have a starting point, but assuming that we want to meet some specific need,
how do we figure out what moves to make, where to go?
I like to have a map, a way of identifying the gaps between where I am and my
I often use role models for this - colleagues current and former, industry
people I respect. What do I value about what they do and how they behave? What
do I want to be when I grow up? :o)
Another useful resource is published "job ladders". These are a good way to
look at the things various organizations value and how they see careers
It’s worth having a think about how much you value the skills and capabilities
listed, and how different companies’ ladders differ, particularly at senior
Finally, there’s an expanding literature around how senior engineers work:
There’s a lot to like, to learn, and to model in all of these.
Filling in the gaps
I tend to think in terms of skills and capabilities.
Given all of the above, which skills do I have but could develop further? Which
do I lack entirely? What capabilities do I think my role models have that I
don’t? Which do I value the most? Which would have helped me in my recent work?
Which will enable me the most in future?
Now I have a list of specific things I want to be better at: the beginnings of
a plan! I look for ways I can manoeuvre myself into work that will stretch me
in those skills, build those capabilities.
Where I think it will be useful, I advertise! Let my manager, my mentors, my
team know that I am trying to develop these skills. Can they help me find
opportunities to improve? If I can find ways to work directly with some of the
people I find inspiring, on those specific kinds of work, even better.
Note that this can form a good basis for annual or quarterly goals, so that’s
another pain out of the way. ;o)
While you work on your plans and your goals, pay attention to what’s going on
Keep notes on what’s working and what’s not: in your own work, your team, your
org, your production systems. This can be a useful source of ideas for specific
projects or development opportunities.
If you can, find ways to make your goals work with those of the people around
you. Developing your career can and should be something where everyone
I have a particular perspective, and I’m certain I am missing a lot: I
generally think in terms of skill acquisition and deployment, and I’m not sure
how well any of this will apply to different kinds of work or different kinds
of people. Take all of my advice with a grain of salt. We’re all just working
- Think about what you want out of life, and try to make your career serve
- Imagine possible futures by using role models, formal career “level”
guides, and the best writing you can find on being an engineer.
- Move towards those possibilities by mapping out a path in terms of skills
- Ask for help getting what you want, and try to make it work well with what
everyone around you wants.
With thanks to Tanya Reilly and Niall Richard