I'm always amazed at the number of people who take a job because it's steady employment, or don't choose to leave a job when they're no longer learning. Eric Sink's Career Calculus is an excellent essay on the value and necessity of continuing to learn throughout your career. He lumps all learning together. I think there's a natural progression throughout a technical person's career, and of course, you can make your own progression.
At the beginning of my technical career, I focused on my functional skills: how to be a better designer, debugger, unit tester, coder, all-over software developer. When I transitioned into testing, I refocused on my functional testing skills: how to be a better tester. This is the time you learn new tools and technology skills.
When I realized I was not interested in learning more than just technical functional skills, I started working on my project management and people management skills. It doesn't matter which functional skills you start to improve once you've been working for 5-6 years; it only matters that you are ready for the next step.
Once you've been working for 10-12 years, it's critical that you continue learning about how to adapt your functional skills to new domains and new tools/technology. Otherwise you become like someone I met a few weeks ago, who said she was a “Cobol programmer.” She had not learned any other functional skills, such as design skills, or other languages or anything other than Cobol programming. She had not increased her value to her employer.
Now that I've been working over 25 years, I'm focused most on my people skills, so I can improve my facilitation, consulting, and marketing. But I still keep learning new domains and how they are similar and different from other domains.
Here's a table of how I've seen a bunch of successful people manage their careers over time:
|Career stage||Functional skills||Domain expertise||Tools/technology||Industry|
|early (first few years)||high focus on technical functional skills||moderate to high focus on learning the product domain||high focus on learning how to effectively use the tools and technology||typically, low interest in industry expectations|
|middle (next 10-20 years)||high focus on technical functional skills that help improve domain expertise, OR high focus on new functional skills for career move, such as into management, marketing, service, and so on||high focus on learning the ins and outs of the product||moderate focus on how to use different tools and technology more effectively or adapt them to current environment.||moderate focus on industry expectations|
|later (hey, I don't intend to retire…)||high focus on previously ignored functional skills. For highly technical people, this might mean people skills||May focus on a particular domain, or adapt previous domain expertise to new domain||It's critical once you've worked for a while to continue to learn new tools and technology. Otherwise, you're seen as a dinosaur||typically, higher focus on industry expectations|
Note that the columns are not mutually exclusive. You don't have to choose one column and focus on that. For many of us, learning is something that starts in one place (maybe functional skills) and continues organically to some other place (such as domain expertise or tools). The key is to keep learning.
I've made some unfortunate choices, and ended up with only jobs, not a place to learn as part of my career. I tried to move out of those jobs into more learning opportunities. If you're a manager, I hope you think about how to help your staff with learning opportunities. If you're a candidate or employee, think about where you'd like to learn next. Then go out and actively pursue those opportunities. The more you learn, the less of a commodity you are to your employer. And my personal philosophy is that life is way too short to waste it on non-learning jobs.