Hacker News new | more | comments | ask | show | jobs | submit login
Ask HN: Career trajectory for software developers
32 points by quietthrow on June 26, 2013 | hide | past | web | favorite | 12 comments
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).

So with this context, I'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 ?

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.

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 ?!?)

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.

"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 ?

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

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 ?

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.

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

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?

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.

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.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact