June 7, 2005 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.