Career Path for Developers?

"Pete" email me the following questions:

"I'm a senior software developer, age 34, specializing in C# development for Windows Forms / ASP.Net, having come from a VB background. Having had some (if not most) of my enjoyment of development sucked out of me by my current employer, I'm contemplating my next career move.

"Thing is (and it's not just me, several of my colleagues concur), where do I go from here? What is the career path of a software developer? I.e. junior developer, senior developer, guru, author,...? Is there such a thing as a career path for a developer (or anyone, these days)?

"I surmise that developers such as myself (4th / 5th gen language developers) may actually be the first at the crest of this particular wave - I guess COBOL developers could have migrated into hardware / system maintenance, but what for folks like myself? I can't see myself being a developer until I retire (31 years later), but I don't really want to move into management either (perhaps software delivery manager, but not a full-blown person manager).

"Or maybe this is just a mid-life crisis. Maybe those COBOL programmers were thinking the same thing. Maybe you've thought the same thing, and said 'Sod it, I'll just learn as much as I can and write books.' Maybe my malaise is indicative of the general malaise within IT at the moment (still suffering from the dot com crash, companies more interested in fixing up their offices than investing in IT, etc), companies not knowing their arse from their elbow when it comes to IT spending, etc.

"We live in a world of ever-increasing technology, yet seem to be doing less development? Obviously there are still very clever people out there writing code for phones, text delivery. HDTV innards, etc., but is software development becoming stagnant? Are we still doing the same things with new tools? Why do we still not have modular development? Why are there many standards for Web Services? Where are the really, really cool applications?"

"Pete," those are all fine questions. I think there are a ton of interesting things to do for software developers in the world and being a part of a big company development machine is only one of them. I've done most of the rest (I consider Microsoft to my last job in this industry), so I can recommend start-ups, speaking, shared/open source development, consulting and writing as all valuable, interesting and fun experiences (although, as you might imagine, each of them has their downsides, too).

Or, even if you wanted to stay as a developer, I can recommend different kinds of software to be refreshing, e.g. I've spent a lot of time on code-based developer tools and now have moved to model-based developer tools (that's not a big shift, mind you, but hey, I'm growing! : ). Maybe you'd like to switch away from front ends to back ends or to databases? Maybe you'd like to switch from imperative to declarative or logic? Maybe you'd like to go all the way on front ends and build games? Or maybe you'd like a platform like a mobile device better? (I personally lust after this one!)

Your malaise-related questions are good ones, too. It seems like you've identified a bunch of "problems" in the IT industry. You've got two ways to handle this problem: ranting or doing something about it. You've done the former. Maybe you'd like to put on your "start-up" goggles where "problem" == "opportunity," bring some of your friends along and roll up your sleeves? Are you brave enough to risk the kid's college fund to follow your heart? I've done it a coupla times and there's nothing like it.

Comment Feed 17 comments on this post

David Cornelson:

I think this is a fundamental shift in the way people view their jobs and I include myself in that shift.

We no longer view our jobs as something we work hard at forever and ever. We view our jobs as a part of our overall health. If we see our jobs becoming overly difficult for political, financial, or even personal reasons, we tend to go into a "funk" and determine that the only course of action is a change.

But I think there are different ways to handle this and the results can often be surprising. We can stick to our jobs, do the best we can, and maybe that manager will move on and you'll get a better one (my sister Kathy has done this for 35 years at IBM...sometimes she loves her job, sometimes it's just a job).

But I think part of the problem is that most corporations don't show the same loyalty they used to. We see pension systems getting tossed out for cash or huge swaths of people getting fired because the company needs to generate a larger profit this quarter than they did last year.

So my advice to Pete is this:

"You're not alone. We all feel that way at various times in our career. It's a cycle and you will go through it over and over. But remember that if you continue to work hard and teach yourself new things, the feelings will pass and you will renew your passion for whatever job your in. And unless there is some horrific reason for leaving your present job, take your time on that decision. Sometimes your feelings will mend and the right choice will be to stay."

Tuesday, Jun 7, 2005, 8:35 AM

Andrew Webb:

I've asked myself the same questions that Pete is asking from time to time over the last 20 years. It's natural. The course of a career never runs totally smoothly. My answer is to forget about "career path" and to do what you love doing. For me that means staying in the trenches and carrying on developing - but not shirking the occasional management role if that's forced upon me. It also helps to have an area of development that especially suits you - for me this is Windows Forms application development. I.e. stuff that will be consumed by the end-user, as opposed to writing tools. I also have a strong interest in batch processing. I'm 44 and still going strong, but I do admit to periodic doubts and hiccups along the road. Stick with your groove, man, so long as you enjoy it. Look at Warren Buffett; the stockmarket has tremendous ups and downs, but he sticks with his investing because he likes it and he's good at it.

Tuesday, Jun 7, 2005, 8:38 AM

David Ing:

...and the ironic thing I was just thinking that there are far too many opportunities and interests than there are hours in the day; and how unfair that all is.

On average you have about 600,000 hours to spend, so my 'advice' would be make sure you do the most you can with them and try to have a good time as you can manage along the way.

Developing software is indeed changing fast, but then it always has been hasn't it? I think in this point in time we probably have more opportunities than any other time before it, and that Chris is probably right: You probably won't regret rewiring your brain one more time and taking a plunge. But if it goes wrong, do blame Chris and not me - it's his weblog afterall... :-)

- David

Tuesday, Jun 7, 2005, 9:24 AM

Don Huan:

I would start my own business. Don't you wanna be your own boss? ;-)


Tuesday, Jun 7, 2005, 9:47 AM

Alex James:

I highly recommend the 8th Habit by Stephen Covey, it is basically about this very issue.

You need 4 things out of your career to get out of your malaise.
1) Use your 'talents'
2) On something you are 'passionate' about
3) That you think is a 'good' thing to do
4) That other people will 'value'

I think quite often we either have the first three or the last one, it is hard to get all four.

Your challenge is to find a job with the first three which still pays!

Tuesday, Jun 7, 2005, 10:05 PM

Michael Wells:

All psychotherapy and support-group-ness aside, "Pete" does raise a good point though. What is the career path for a developer? I've had some interesting discussions about this and my own mental model includes these options;

Developer -> Director -> CTO

Not for the inflexible; basically a complete spectrum shift on the creativity scale, and the flexibility scale. Developer reports to one person, CTO to many. Developer has low political concerns, CTO has heavy political concerns. Developer ignores cost; CTO faces it every day. Developer stays awake all night debugging code for the deadline; CTO lays away all night praying the code has been properly debugged. I prefer the former. On the other hand, at a very fundamental level, both roles still deal with numbers and problem-solving.

Developer -> Project Manager

Has the perk of responsibility, respect, and sometimes better pay without the downside of being a true management position. You get the chance to right the wrongs, build a good team that -likes- working for you, and fix all those horrendous problems with the spec that all of your predecessors [having never understood software design] totally botched. Bonus: you can still play coder in your spare time.

Developer -> Architect

Not a bad move. Still highly technical, but the problems you solve are much bigger and more vague. Personally I love corporate architecture; you can work mondo magic and save millions. The big problem is proving it to those covering the bills.

Developer -> Guru/Specialist

Another fun one; become THE expert in a small core set of key technologes. Depending on your org, that could be XML/XSL, RSS, C#, profiling and performance tweaks, HttpModules, basically anything your corporation relies on, that isn't likely to go away. It seems generally safer to secure a role in a niche acronym-based technology, than to become the on-site super-expert for a broad technology like C#. Reason is, the folks above you can't measure the value difference between two C# developers, so it's difficult to justify paying you a lot more than the guy who graduated yesterday. On the other hand, if you're the only guy who knows how to generate RSS feeds, or apply XSL transforms... your job is safer and your value is all too clear.

Developer -> Consultant

This takes some work to do well. By consultant, of course, I mean an independent work-for-yourself consultant. There are lots of pros, and also quite a few cons. I hate invoicing, but I like getting [and keeping] 100% of the checks. I hate taxes, but I like the 2 month vacations between gigs. Still highly recommended if you're willing to learn the skills, and can market yourself well.

Wednesday, Jun 8, 2005, 4:12 AM

Chris Sells:

I'd also recommend:

Developer -> Start-Up
You get to sink yourself heart and sole into every aspect of not just a problem, but the market and customers for the solution as well. Everything you do *really* matters. The upside is years, you can scale your income beyond the number of hours in a day and even if you fail, you learn and become more attractive for the next thing.

Wednesday, Jun 8, 2005, 10:47 AM

Mert Sakarya:

I have asked the question at

I am on the path as;
Developer -> IT Director

Sadly now, I am away from coding...

Wednesday, Jun 8, 2005, 11:52 AM

Chris Sells:

BTW, this thread made me do the math. I've been a full-time software guy for 24 years, 18 of those professionally. Wow. Almost time to start writing those novels. : )

Thursday, Jun 9, 2005, 10:00 AM


I'm 36 and have asked the same questions -- I think we all do at some point. The one thing that no one is mentioning which I've seen in my career all too many times is ageism. Most companies believe that the hotshot new programmer is a better value in terms of skill, aptitude, attitude, drive, and of course money than the graybeard veteran. Of course, we all know that this is pure BS. Most of us have worked with a graybeard guru that is a walking compiler and find ourselves having the utmost respect for the wealth of knowledge/experience they've acquired over a career dedicated to honing their craft. Sadly, most of corporate America middle management doesn't view it this way and sees these master craftsmen as aging dinosaurs with exagerated salaries and out of date skills. Consequently, many people, myself included, start feeling a bit restless usually by their mid to late 30s that they're going to get painted with the same brush and feel compelled to "sell out" and go into management or change careers. It's a shame because we really, as an industry, need to be treating software development as a career profession not unlike many classical trade professions (e.g. woodworking, metalworking, construction, etc.) where you have a clear notion of apprentice->journeyman->craftsman->master. In many trades, acheiving a "master" level of skill takes the better part of your career.

Thursday, Jun 9, 2005, 9:01 PM

Greg Robinson:

What about Project Management, CTO and the like? I do PM, CTO and development work. Plus I do book reviews and have co-authored a book. All keep the fire burning.

Wednesday, Jun 15, 2005, 5:55 AM

Gary (41 and still writing code):

This is such an American thread. Why oh why do you have to have a career path? Is getting a promotion going to make you a better person? Think of all those plumbers, electricians, professors, authors, cobblers etc out there who are still doing what they love at the end of their lives as they were doing shortly after they started. Software development remains to this day fundamentally a cottage industry, like being a cobbler. Change your job by all means if that's what you want to do. But then it's a different job. One of the most inspiring programmers I ever met was a 68 year old grandfather who'd literally started programming before they had operating systems, and he was still doing it and refused to retire. And believe me, he was a good coder.

Monday, Jun 20, 2005, 11:36 PM

Warren S:

The problem is that there are actually too many software developers right now. Norman Matloff has done some studies and found that most CS grads do NOT get jobs writing code. They get jobs testing software or other things they really don't want to do. And the glut of developers coming on line from India has lowered the income of software makers. This glut may be temporary, as the size of the population probably can't grow as fast as they make computers.
But the Indian developers plus the dot-com bomb has taken the wind out of my sails, that's for sure. I'd be happy to code til the day I die or have to retire but the job market just isn't what it used to be. Electrical engineers have a similar problem if you read up on it.

Sunday, Jun 26, 2005, 6:27 AM

Margaret Stead:

Hi Guys
It is a little irritating to say the least to see Covey et al repackaging what I've been shouting about since 1991. If you can find the job that you'll love - the money will follow - what they neglect to explain is how does one do that?

I've been showing people how to find the job of their dreams and get that job effortlessly (well almost) since I can remember. Luckily for me, my careersnet site has a methodology that none of these new kids on the block have figured out.

If you are interested in finding out more - you can email me for a test drive, margaret at **********dotcom

Monday, Jul 4, 2005, 9:08 AM


Hey - I am definitely glad to discover this. cool job!

Saturday, Apr 23, 2011, 1:45 AM


Hi, I'm doing my BSc(Hons) in Software Engineering now, and later i will do my MSe(Hons) Software Engineering.
What i have plan for my career is :
Software Developer--> Senior Software Developer--> Team Leader --> Project Co-Ordinator-->Assistand Project Manager-->Software Development Project Manager..!And it end here.!
Dats all i want to share.!!

your Opinons.!

Saturday, Jul 16, 2011, 4:23 AM

Chris Sells:

good luck!

Saturday, Jul 16, 2011, 6:31 AM

comment on this post

HTML tags will be escaped.

Powered By ASP.NET

Hosted by SecureWebs