
Ask HN: Career trajectory for software developers - quietthrow
For people who start as software developers, what is the usual career trajectory ? while being a developer at 25 is one thing its quite a different thing being one at 35, 45 and 55. At the latter stages of the game, you have a family (hopefully) and are more set in your ways (read less agile or fluid) when it comes to change and you are competing against 20 year olds who will out work you (for various reasons) for sure but also be more comfortable with the trends current at that time. Not to mention the rise in the # of software developers coming from other aspiring nations and business work shifting to cheaper places due to the excessive need for optimization or effectiveness that business   go for (although thats a different story).<p>So with this context, I&#x27;d like to ask how one should look at the role of software developer in the long run. Should one change their work - go from software developer to managing people in a engineering capacity to leading business eventually or just keep developing software ? The latter just seems a little bit unnatural. What does the community think ? do you guys see it the same way ?
======
moocow01
Ill try to field this one being that Ive kind of moved around to a handful of
different categories of companies and am constantly scratching my head over
this. This is the best of the more realistic options from what I can tell...

1) You move to management (engineering, project, product, etc). This one is
perhaps quite popular but I think few truly enjoy this move and usually get
jammed into middle management. It seems prestigious, pays more, less hours but
it can be mind numbing to someone who went into software for the creative and
exciting aspects of tech. I think probably many find this is a good way to the
midlife crisis. Sorry to be so pessimistic.

2) You become a consultant. Lots of folks do this and will do it as long as
they are successful. You usually have to work in more enterprise environments
but many realize that is where some of the really tough interesting problems
are. Pretty good option for Java/Systems/Network engineers. If your a
specialist in Rails or social gaming you may find this one tougher.

3) You get into big corp as a full-time engineer and walk up the Principal
Engineer / Architect technical latter. Usually pretty good stability, pretty
good pay - relatively comfortable for those who like it.

4) You get tired of things and move out of the field. Where to?.. anyone's
guess. Could be tech related, could be totally unrelated. Perhaps we don't
like to admit it but there is usually a lot of BS in many software development
companies (yes even startups) and at 30, 40, or 50 you realize life is too
short to be standing up in a SCRUM everyday (sorry I hate SCRUM - my personal
bias).

5) You get really lucky and become really rich somehow (stock options,
whatever) and retire early. Everyone thinks this will be them - in reality
highly unlikely. Many in software do well but plan on always needing an
income.

6) You start a non-startup software business. Perhaps an ISV with a side of
consulting or open source or something like that. This one can be pretty fun
for those who really truly enjoy software.

~~~
quietthrow
Good post. Thanks for chiming in.

so the main options from a employment perspective are: 1) Change tracks and
slide into management - mid management to be specific. 2) Consult/Freelance 3)
Progress the technical ladder - Principal/Staff/Fellow engineer.

Some questions: a) Could you elaborate on the pros and cons of 1 and 3. b)
what about progressing into Sr/Exec mgmt as opposed to mid management - do
they mostly want mba types and hence not an option for developer types or is
there a progression from mid to exec mgmt but its the same as your #5 - get
really lucky (besides having the right skills) ?

(Also couldn't agree with you more - why is mid management so glamorous all of
a sudden ?!?)

------
LarryMade2
There are computer developers (not just software) who are working into their
70s. Guess it all depends on how you view your career and what things you are
doing.

While the 20 year olds may be able to type faster and use newer tools, they
lack the expert wisdom gained from decades of hands-on experience. From my
perspective (I'm 48) I see the industry having to reinvent some wheel or other
every 10 or so years, a lot of stuff developed years ago is being written all
over again for microcomputers, then the web, then netbooks, now mobile, and
soon Google glass, add in in-car apps etc. For us guys who wrote that sort of
stuff earlier in their career it's old hack to do it again and also improve
upon the old designs with new capacity connectivity and technologies.

As far as transitioning out, there's a lot of skill and experience that comes
with age, many people start a new business or career at retirement based on
their knowledge, hobbies and/or experience. You will find many famous authors,
painters, cartoonists, etc. got their start later in life.

Long run? Have a hobby or three, keep learning, hone your craft, do stuff,
think of what you want to become as you get older. Don't rely on a particular
industry to always keep you employed/happy/busy. Never think that after a
certain age you can't do anything else, you can always do something different.

~~~
quietthrow
"Don't rely on a particular industry to always keep you employed/happy/busy."
+1

You are right, as you age you can always do something different and thats the
crux of the question; stay a dev or gracefully exit out of it and do something
more age and/or experience appropriate. If the latter what are some options.
At 48 (assuming you are a developer) what is your experience like finding
employers who will pay you ,more for your experience and skill rather than
knowing a specific technology ? is it harder to find people who appreciate
'refined wisdom' or is very easy. if the latter how do you go about finding
those jobs - is it a volume business - you keep applying constantly and only
move when the fit is absolutely right ?

------
lifeisstillgood
I see writing software as a strong analogy to writing human languages. Over
the next generation or so software will have finished eating the world - just
as literacy ate the world starting sometime after 1451 and progressing to
around 1870 (printing press to UK universal education).

In that period literacy was a defining difference - it went from an ability
that guaranteed a place at the top of society to a skill that got you a job to
a skill you could barely exist without.

The same will happen to coding skills. Right now coders rule the labour market
- our lines go in different directions to pretty much every other skill
category in this recession.

But it will be different for our children and grand children - so the best
lesson is to make haste for the upper levels of society - combine
social/business skill with coding and build a legacy of the traditional sort
for your children to inherit

Ps Buy land north of Toronto would also help

Pls Stay away from "managing" \- read V. Rao on new forms of labour and
management - very inciteful IMO - basically the VC model will apply internally
to large companies and the senior dev model to small distributed teams

Management as we know it now is a legacy of the Industrial Age

~~~
quietthrow
I tried googling V Rao and didn't really see a book. Is it a book or an
article ? Could you provide a link please ?

~~~
lifeisstillgood
[http://www.forbes.com/sites/venkateshrao/](http://www.forbes.com/sites/venkateshrao/)

------
hkarthik
I think there is a natural tendency for developers over time to evolve from
being contributors to being leaders.

Leadership may not carry a management title. A leader may simply be a senior
person who does the following:

1) Knows and understands the system at a deep level, including many of the
historical decisions that took place.

2) Guides and reviews the work of the less experienced developers who come on
board.

3) Is relied upon by upper level management to make sure work is scoped
appropriately and technical roadblocks are handled before they become a
problem.

4) Can design and architect new features that have achievable goals because
you have the right context to know how to implement them in your current work
environment with all its given constraints.

I think being a developer and staying technical through out your career means
at some point you have to be comfortable with the above responsibilities.
Maybe it will be at a company you stuck with, or maybe it will be a company
you started.

------
quietthrow
This post has made it to the top of the Ask page without any comments. I hope
people put their thoughts down even if they dont have an answer. My goal has
been to start a discussion and explore the different perspectives people have.
Please feel free to add comments with your opinions. You have till about 12:00
after which this post be buried 4-5 pages down and hence will have little
visibility and in turn chances for gathering some answers/opinions

------
rekwah
Forget the norm. Pick an area which you enjoy, hone your craft and the rest
becomes irrelevant.

If you're good at (coding|managing|leading|motivating), it won't matter how
young or how cheap others are. You'll be better.

Disclaimer: I'm 25. What the heck do I know?

~~~
quietthrow
I partially agree with the first part of your comment. But I will add that as
you progress in life, you encounter a different kind of complexity which has
impacts on what you can do and and what you like. Things change. What was once
fascinating no longer is. What you knew once is now obsolete and hence you
have to sort of start again but at the same time you realize you are may be
more risk averse than you used to be. Perhaps for the right reasons. In any
case change is a constant in life and the crux of the question is how best to
adopt it without obliterating your existing world.

------
31reasons
Regardless of what answers you may get here, stick to some of the good
principle in life that will keep you happy:

1\. Do what you love.

2\. You are never too old to learn new things

3\. Keep working till you keep ticking.

4\. Save money for "retirement"

5\. Have a family

6\. Be more social

7\. Give

8\. Stay hungry Stay foolish

9\. Meditate

10\. Eat Good Food.

