Tuesday, Jun 7, 2005, 8:06 AM in The Spout
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.
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
Tuesday, Jun 7, 2005, 8:38 AM
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... :-)
Tuesday, Jun 7, 2005, 9:24 AM
Tuesday, Jun 7, 2005, 9:47 AM
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
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
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
I am on the path as;
Developer -> IT Director
Sadly now, I am away from coding...
Wednesday, Jun 8, 2005, 11:52 AM
Thursday, Jun 9, 2005, 10:00 AM
Thursday, Jun 9, 2005, 9:01 PM
Wednesday, Jun 15, 2005, 5:55 AM
Gary (41 and still writing code):
Monday, Jun 20, 2005, 11:36 PM
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
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
Saturday, Apr 23, 2011, 1:45 AM
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.!!
Saturday, Jul 16, 2011, 4:23 AM
Saturday, Jul 16, 2011, 6:31 AM