I started working (for monthly wages) at the age of 21 after completing my undergraduate degree on Computer Science & Engineering. In Sweden, the age at which one can withdraw one’s pension fully is 63[1]. So, for practical purposes, I am going to consider this be my retirement age. This gives me a 42 year career.

The Great Advice

There is a blog post titled the 40-year career by Will Larson[2]. (If you’ve somehow stumbled on this blog post, there is nothing useful here. You should stop reading further and go read the blog instead). The author talks about five key characteristics that defines a career.

  • Pace
    • Sustaining the years without burnout, existential crisis, depression or other issues.
  • Profit
    • Keep an eye on your Financial stability and growth
  • People
    • Develop and nurture professional relationships
  • Prestige
    • Building your brand, reputation and trustworthiness
  • Learning
    • Be pro-active in getting better at your job

All great advice to maximize one’s career. One cannot go wrong with this approach. One’s goal should be to find avenues to improve on each of these five characteristics throughout their career. Find work within or outside your company that it would result in a bigger bump in some of the characteristics while not negatively affecting the rest.

The Stages

From what I’ve learned so far, I would divide a person’s career span in to 3 stages based on their tenure. Each stage can be divided further for deeper analysis (for example, like the Geologic Time Scale[3]) but it won’t be that useful.

Early-career (0 - 10 years)

Finding out what you are made of. Punching up. Burning the midnight oil. Churn code. By the late-early career stage, you’d probably know everything that is to know about general purpose enterprise software development process.

Mid-career (10 - 25 years)

This is the period when the developer’s career reaches a diversion. There will be 2 paths to choose from. One to continue specializing in engineering and become a leader in that or switch to people and project management. A role in management is a welcome one because it is a break from routine, gold & glory, an use of one’s innate leadership skills. The problem here is - in enterprise, general purpose software development - there is only so much difficult problems to solve. Majority of the problems are people related. So, you make better impact in management than with engineering.

Late-career (25 - 40 years)

Frankly I have not personally seen anyone who are this tenured and be an individual contributor. Either they are a “Director of/Head of/Senior staff of/VP of” Engineering or a CTO or the equivalent on the management ladder. This doesn’t mean that being a Individual Contributor (IC) is impossible. I assume, it is at some level involves saying ‘No’ to offers & opportunities to become a manager and relentlessly updating yourself with advancements in the field. I will know in 8 years time.

The Value of Experience

I feel that the expectation that one would grow linearly throughout their career is misguided. I am going to put my neck on the line and claim that there are no problems (both people and technical) in general purpose, enterprise software development that requires a person with 40 years of experience. It doesn’t mean experience is not useful - every problem requires a certain level of exposure and experience to succeed. There is also the issue having the right experience and not just ‘experience’ (“10 years of experience vs 10 times of 1-year experience”)

It is scary and liberating at the same time. Scary because - seniority doesn’t guarantee wisdom or the right to reverance. Liberating because - the race is less meaningful, you will have all the time you need to ‘reach’ your preferred role. You don’t always have to try harder & newer all the time.

Now, there are those who becomes the chief scientist/architect/CTO/CEO mid-career, and spends their late-career in the same role or as an investor or just quit early to pursue other interests. One could argue that becoming an investor mid-career and doing that throughout your late-career is as routine (or not) as being a IC/Manager.

Bottomline

My career is 42 years long. It is near impossible to keep changing my title/role every 3-5 years for 42 years. The realization is liberating (and scary). I am looking forward to the next 25 (or so) years of my career. It will be fun.

[1] - https://www.pensionsmyndigheten.se/other-languages/english-engelska/english-engelska/applying-for-a-pension

[2] - https://lethain.com/forty-year-career/

[3] - https://en.wikipedia.org/wiki/Geologic_time_scale