The Next Career Step for a Lifelong Coder?
Posted on May 25, 2010
For today's blog topic I want to stray from my usual programming
tutorials and open-source updates to something I have been giving a lot
of thought to lately: my career as a developer. I wanted to share my
thoughts and hear from other people who may be in a similar situation in
their careers. Here's the scenario... I have built a good career over
the last 12 years, first as a ColdFusion developer exclusively, then a
manager/developer and, for the past 5 or so years, back to being a
straight developer specializing in both ColdFusion and, more recently,
Flex (for the record, I started my development career doing Flash and
Director stuff). I've worked hard to build a solid portfolio and a great
network and generally love what I do for a living. Nonetheless, I am
left wondering, what is the next step career-wise or is there a dead-end
on the developer career path?
For the record and for you
recruiters, I am not looking to leave where I am, just
looking ahead. Even my current boss asked me what my career goals are and it was
a question to which I had no good answer.
One thing that my
years as a manager taught me, its that I don't want to be a manager.
It's not that I can't handle it and, in fact, I think I did pretty well
at it, but I just don't enjoy it. It's always seemed to me an odd
paradox of developers that the next step for a developer seems to be a
career as an IT manager even though writing code does not seem to be a
great preparation for managing people and/or projects or dealing with
the many other issues (payroll, personnel issues, etc) that managers are
often tasked with. Many developer friends I have spoken to about this
topics seem to believe that, at their companies, you either move on to
management or you just stay where you are...indefinitely. That seems to
me a depressing choice to make at 35.
I've met some folks who
have been able to move up to positions as "architects," a position that
seems to stay grounded in code but take a higher level view of projects
and requirements. This sounds like an interesting career move, but
honestly these types of positions seem extremely rare. Most companies I
have had experience with are just in the process of updating their
development practices and honestly wouldn't know what to do with an
architect.
I'm sure there are others out there who are facing
similar dilemmas in looking ahead at their careers as I am. I'm happy to invest the time and money on training or even going back to school to
move my career forward over the coming years...but before you can commit
to something like that, you need a goal in mind. I have (half-)joked
that I have a 3 year plan to move my career to the next level, with the
first step in that process being figuring out what the next level is.
That's
my situation. So what's your career goal and how do you see yourself
getting there?
Comments
Before i moved to 360|Conferences, and doing Flex consulting, Architect was where I thought I wanted to be.
I really wanted to take higher level views of our problems, and help create solutions. They few times I get to play at the role, I think i did really well. But you're right, those roles are rare.
Great post dude! Something every coder should be thinking about.
Posted By John Wilker / Posted on 05/25/2010 at 10:49 AM
An interesting question and something I think everyone should consider from time to time.
A few thoughts not mentioned:
- Start a Company
--- Independent consultant
--- New Software, Service, Full Business
- Move to development in new industry, company, interesting place.
- Develop in New Medium (Mobile, Google TV, Etc)
- Get a Hobby and keep day job
Posted By Joshua Cur / Posted on 05/25/2010 at 10:51 AM
I'm in the same boat as you are except my job / manager didn't ask me that question and I'm 1 1/2 years older, it's one of those things always in the back of my mind.
I am considering looking into college courses, but I'm not sure what good it'd do.
Posted By Todd Rafferty / Posted on 05/25/2010 at 10:52 AM
Currently, the watered down steps are:
1. Junior Dev
2. Midlevel Dev
3. Senior Dev
4. Architect
5. Consultant
6. IT Management (very different from management, and blurs with #5)
7. Product Development
8. Company Owner
That's the pattern I've seen continually. The only 2 escapes from management I've seen is product development or Company Ownership. This could be just being an independent product developer like Nick Bradbury (of TopStyle, Feeddemon, and Homesite fame):
http://nick.typepad.com/
...or like Todd Sharp, ColdFusion dev behind SlideSix:
http://ria.dzone.com/videos/todd-sharp-coldfusion
...or larger endeavors like 37Signals:
http://37signals.com/
There are a variety of small software development shops who focus on creating products, whether for clients or themselves, but specifically view it as product development and NOT services.
The second option is company ownership. The difference here is that instead of doing coding, you lead. Leading isn't management; management is how you do something, not why. If you create a company (no, I don't mean an LLC for tax purposes), you usually have reasons for doing so. Maybe you're doing a startup, maybe you've got a large client base already and you're creating a consulting firm around it, or perhaps you've partnered with a large company to build a B2B product, and that was the catalyst to grow (a LOT of companies get started this way: "their first big client").
So yeah, either build products or start a company. Fuck the concept of stopping coding.
Posted By JesterXL / Posted on 05/25/2010 at 10:55 AM
Look into getting an MBA if interested. That's one way to get closer to the business drivers that command your skills as a developer.
Then whether you found your own company or join another one in more of a platform/product manager role, you can influence not only the business focus, but the technology focus as well, even rolling up your arms here and there pitching in on coding. That's the direction I put my money on anyway.
Posted By Rob Toole / Posted on 05/25/2010 at 10:58 AM
Working for somebody else is a dead end.
Basically, what you're describing is the consequence of letting fear stop you from pursuing your dreams. If you let fear drive your decisions, you will always be reactive and unhappy. You will be "forced" into management in order to move up/forward. In other words, you will be letting others dictate your life and career.
Until you sack up and fight through your fears, you will remain a victim and have no control over your future.
Posted By Steven Sacks / Posted on 05/25/2010 at 11:05 AM
Brian, good point for discussion and one I think of from time to time. Some incomplete thoughts and thinking aloud below.
Maybe its our society, maybe its the Western world but we seem to have a work environment where you have to get promotions or your stagnating. There seems to be no interest in creating people who are truly masters of what they do. And in a discipline -- programming/developing -- where the top people do TEN times the work of those at the bottom why is there not more respect for the craft?
From my experience most places would do better making their people better at what they currently do rather than encouraging them to do something else.
Posted By Sam Farmer / Posted on 05/25/2010 at 11:10 AM
It's not necessarily a move-up-the-career ladder, but if I were interested in making a move, I'd go take some unrelated courses (perhaps even pursuing a degree in an unrelated field), and hopefully draw some inspiration for a product I could use my programming skills to develop.
I think it's important for programmers to study non-technical or non-programming fields of study, because doing so gives us a much larger tool set to solve problems in those fields, as opposed to having people from those fields seek our services, or not even see the many sources of pain you could solve with programming.
If I were going to make a move, that'd probably be it, which I guess goes along the path of others' suggestions of "start your own company," but with more details of how you might escape the consultancy/service route and work for yourself on your own terms.
Posted By Sammy Larbi / Posted on 05/25/2010 at 11:26 AM
Architect (Web): 10+ years of full SDLC expertise; strong infrastructure (databases, web servers, the IP stack, etc), delivery, internal sales, security best practices, analysis (including financial such as ROI), and project management experience; and finally a breadth of programming languages under one's belt.
Now I have to admit: the above was pulled together from a 20-minute scan through a random sample of ~3,000 web architect (including UI, eCommerce, and SaaS as descriptors or Flex, CF, Java, .NET as languages) positions listed on Dice.
Most of these job posts don't sound too far off. It's also worth mentioning that the pay range looks like $100-150k/yr (some go much higher), which fits with the qualifications required.
Ultimately if you are actually missing anything from that list, and you very well may not be, it could hopefully serve as a step in the right direction.
In terms of my own career goals, it's Powerball winner or bust, my friend!
Posted By Sean M / Posted on 05/25/2010 at 11:47 AM
Brian - many of us went through those same questions. For me, it is even more about the fact that about every 5 years the technology changes and it is a treadmill to keep up.
Company ownership is definitely an option for some, but it does come with its own set of headaches. But if you are a creator (like me) who really loves to create solutions for people, then doing your own thing - no matter how big or small - is the path to take.
You get to make the decision on how much effort you want to put in, how much money you need to make and how much you get out of creating solutions that are yours and not some other company's.
I'd love to chat more about it with you if you want.
Posted By Paul Carney / Posted on 05/25/2010 at 12:36 PM
I've resisted the management path for years. I love to code. I have no interest in getting away from it, and I don't think that's refusing to evolve. The quality of my code, as well as my ability to architect, have grown tremendously over the years and will continue to do so. I feel like the best bet is starting a company/developing a product for yourself, or simply moving to a different company where you can face new challenges, work with new developers, some of which will hopefully be even more advanced than you and will provide more learning experiences). That way you keep things fresh, you continue to evolve, and you (hopefully) stay happy.
Posted By Thomas Messier / Posted on 05/25/2010 at 12:56 PM
[subscribe/]... (and Damn! I hate captcha.)
Posted By Chris Phillips / Posted on 05/25/2010 at 1:34 PM
I don't believe there's a higher goal then loving what you do. If you love what you do, you're happy doing it, and the folks you work for are happy having you do it, I see no reason at all to change careers.
If you're NOT happy being "just a developer", *then* it's time to consider other things.
I keep thinking about going into construction personally. I would enjoy the daily workout! =D
Posted By Jordan Michaels / Posted on 05/25/2010 at 1:50 PM
I was faced with the very same dilemma at the age of 35. My decision was to leave paid employment and set up my own company. I've been running my development and consultancy company for 9 years now and have never been happier in my professional life. I even do occasional work for my old company and 90% of my work is within the same industry as my previous job meaning I'm still in constant contact with all the people who've become friends before colleagues over the years.
Posted By Dave Boulden / Posted on 05/25/2010 at 2:01 PM
Great post! Been something on my mind for some time now being 41 now. What? I'm 40 and need a cardiologist, proctologist, and need to actually worry about the future? One of these subjects I missed in the Hollywood education! ha!
This would be my first comment on a blog in freakin ages even, damn that Twitter! Besides what others have said, Joshua's comment about
"Develop in New Medium (Mobile, Google TV, Etc)"
struck a chord and motivated me to comment. This was pretty thought provoking to me. Don't think in terms of platform, framework, product. Instead think in terms of medium; interesting. Tired and burnt with "oil on canvas", how about some "sculpture?"
Joshua's next note
"Get a Hobby and keep day job"
also struck me. As with many folks around here, computer schtuff was THE hobby we had that we got jobs doing. So it was easy to work 60hrs some weeks, its a hobby damn it! What hobbies have you all taken up, eh?
DK
Posted By Douglas Knudsen / Posted on 05/25/2010 at 2:22 PM
It's really nice to see the posting on this topic. I recently went to Flash/Flex conference and realized I'm older than most attendees.
I have the same dilemma. Being in interactive development field for about 12 years now, I am ready to get to the next stage, except the next stage is not so clear to me.
I have been touching many different languages and frameworks and I was focusing on RIA development last few years. I was hoping to be RIA architect but those positions are really hard to find in the town I'm in and I have been losing interest in development more and more.
I've been doing some thinking and decided to get into UX/ID field and be the brige between dev and design. I'll probably have to take some classes etc but at least I would be able to use what I learned doing RIA stuff.
Posted By Christy Larsen / Posted on 05/25/2010 at 3:04 PM
To reiterate what Jordan said in a slightly different way (and this quote is from a Rabbi if I remember correctly, just don't recall the name), "Happiness isn't having what you want, it's wanting what you have."
Like you I know I never want to be a manager, and even though I'm a bit older than you, I'm still having a great time being involved with coding day to day. But I've seen people younger than myself just get to a point where they're "done" with coding, and that's OK too. Different strokes.
For me, at least at this point in my career, the coding side of things is still so vast, and there's still so much I don't know, that there's always something new to learn and get excited about. That's what keeps me going for now. In another year or two (or 5 or 10), who knows.
I'm taking a class on doing voiceovers tonight so we'll see if that sparks a new career for me. ;-)
Posted By Matt Woodward / Posted on 05/25/2010 at 3:08 PM
Subscribing - currently have been thinking the same thing (blog post is waiting to be written).
Posted By Felix Tjandrawibawa / Posted on 05/25/2010 at 4:06 PM
Either you hit big at some point and end up checking your bank account while sipping on a margarita pool side, or you just work to the bone trying, cherishing the time you're not in front of the computer.
I say...Screw it.
Let's open up a bar and offer drink specials to developers.
Posted By Tom de Manincor / Posted on 05/25/2010 at 4:20 PM
FWIW, there's a few things I'd like to do if I decide to throw in the towel on coding/engineering management.
1. Consulting; specifically, going to broken dev shops and showing them how to get their process in gear, get set up with agile, CI, solid requirements process, retain talent. So many places seem to be failing in this area and just can't dig themselves out.
2. Teaching college-level CS would be fun. I'd teach it from the perspective of real programming jobs, i.e. homework with unit tests checked in to SVN or git repos when complete.
3. If I get lucky, my stock options at Highwinds go the way they are supposed to, and I can do whatever the hell I want to for a while afterwards, I wouldn't mind going back to school for electrical eng/electronics. Not sure what I'd do with that career-wise, although I'd love to start a company that built accessories for gadgets like iPhones (or even something as cool as a full-fledged mobile device).
4. If I ever get "early retirement" rich, I'd start a non-profit software consultancy offering apprenticeships to local Comp Sci graduates as an internship/postgraduate option. They would train under experienced engineers, and then we'd help them get placed at their next job when they were ready.
Posted By Maxim Porges / Posted on 05/25/2010 at 5:51 PM
Like someone above me said: Coding is a hobby. It just happens to be the hobby I get paid for. I rotate daily between family, coding, playing in a band, and writing short stories. That keeps me balanced. As long as I have three or four projects going at once I am happy.
Of course, I'm only 31; Ask me again in ten years.
Ok I'll be honest: my real plan is to come up with one great website idea; like that kid who made the milliondollarhomepage.
Posted By Dan Gaspar / Posted on 05/25/2010 at 5:53 PM
Oh, and on the architecture thing - that shouldn't be a rare position at all. Enterprise architecture is the most fun since you get to solve the entire problem - not just the software architecture, but the whole layout of the enterprise systems and services.
You might need to work for a slightly larger engineering team to come across these opportunities. Watch out for companies that have "ivory tower" architecture teams; those are the ones that have architects that don't code and just draw pictures in UML all day, and then a bunch of developers that can't design anything. What a nightmare.
Posted By Maxim Porges / Posted on 05/25/2010 at 5:56 PM
Very interesting topic. I started my MBA couple of years back when I started realizing the same things. I think it is also more of a personality trait. Some people are absolutely fine with working on the same job for years but I am not built that way. I agree with Maxim about going out and teaching companies how to manage projects with Agie/CI etc.
Posted By Qasim Rasheed / Posted on 05/25/2010 at 6:31 PM
Brian, this is a great question that I ponder at times myself. If you like the role of Architect, then my suggestion is that you start to learn about it and put such skills in practice in your current position. My manager likes to say that the best way to get a promotion is to do your work at that next level.
Posted By Tom Mollerus / Posted on 05/25/2010 at 7:32 PM
I have asked myself the same question a number of times over the years, been up the management ladder and now in my 50's I'm back into development.
The problem is you just can't beat it when you code up a solution to a tough problem. So if you still get that buzz why change?
Posted By mike hanson / Posted on 05/25/2010 at 11:34 PM
I dont see nothing wrong beeing coder for rest of life. The only problem I see is not to get payrise after 30.
Posted By Bubak / Posted on 05/26/2010 at 12:41 AM
Wow a lot of replies to this post, I guess many have this issue on their minds. The grass is always greener I guess. A couple of things I'd suggest:
1) Maybe ask yourself how best can you use your skills to serve others?
2) Come up with an idea, get started, get funded, have fun!
Posted By Darren Walker / Posted on 05/26/2010 at 1:49 AM
I'm in a similar position to you, just a couple of years younger... I've been doing contract web development for 9 years, except for a small amount of project management which I didn't enjoy.
In the last few years I've deliberately been working only 6 months a year, and taking the rest of the time to travel and learn new stuff (programming and other). I find I'm happier and healthier than ever, and I fully recommend it. That said, I do ponder my career trajectory and at the moment my only plan is to carry on like this until I come up with a good enough idea for a product that I can focus 100% on that and make some serious money.
Posted By Tim H / Posted on 05/26/2010 at 4:44 AM
Actually, I agree with many opinions above.
I think when you get at this point you should look at two alternatives: may getting into P&D area in your company, if they have one or just trying to reinvent yourself - creating your own business. Both are great alternatives, because you can put your efforts in something you've studied during your career. If you prefer, why not studies new technologies and propose them for new business?
Interesting post!
Cheers!
Posted By Gustavo Freitas / Posted on 05/26/2010 at 8:51 AM
Same boat here, 34 and pondering the next step. I'm curious, for those that have started down the MBA path, is it working out? I would imagine that could be an extremely valuable combination to have.
Posted By Rich Taylor / Posted on 05/27/2010 at 5:52 AM
Not sure what next career step is... but wanted to point out that in a large sense there is no choice but that there has to be a career change of some sort for the aged coder.
Even ignoring age discrimination for a moment [which is hard because it is rampant in our industry] - as you become a better and better coder, you do not get a commensurate increase in salary nor influence.
You know all those stupid things managers and colleagues were doing when you were 30 something? Well, when you are a 50 something coder your increased experience will just serve to reveal that it is a heckuva lot worse and more prevalent than you thought when you were 30. And you are still powerless to do anything about it [kind of like politics, huh? :-)]
I love coding - and starting my own company(s) was the right thing for me [it is tremendously fun and scary at the same time - kind of like a good horror flick]. Hope you all find the right career++ for you.
Posted By Michael Davis / Posted on 05/27/2010 at 9:43 AM
Great post! Also in 30s thinking the same thing. This is the pre-mid life crisis I guess. Actually, I remember reading all these "intro to computer consulting books" in the 90s that discussed the path to $300 an hour boutique jobs. I guess that would be about $400 an hour now. That's where I need to be.
Lawyers never stop practicing law. They just build a reputation and take on more profitable clients until they become a partner and make money off of their minions.
Posted By Justin / Posted on 05/28/2010 at 7:53 AM
That is something that I have thought about a lot as well. After starting web development as a hobby in college back in 1994 I have been winding down a long long road.
I have been a director at an advertising agency in charge of a group of developers on an account, I have been a Flash Dev, I have been a solutions architect and I have been just a plain old web developer (HTML, .NET, CF, XML, etc.).
I am currently just trying to absorb as much as I can so that I can go back to becoming a manager or even the owner of my own company. Eventually I am planning on just doing all management again and am possibly looking at getting an MBA to bolster my education background for management.
It is a long road and I think we will all end up where we want in the end.
Posted By Jeff Fall / Posted on 05/31/2010 at 7:09 PM
So glad to find this post and the many insightful comments. After 10+ years, I find myself approaching the end of a long and windy road through the land of development and wondering which way to go next.
I've dabbled in many different areas (front-end, back-end, management), languages (the list goes on) and jobs (corporate, small businesses, contracting, freelance). I've come to the conclusion that coding and development is my passion, but somehow I want more.
As one of you said, learning a new language and solving a new problem with code still gives you that buzz. But it's no longer enough for me.
All of you have offered some fantastic ideas. Personally, I like the ones about product development or coming up with your own site. Starting your own business sounds good, but a friend/developer who did that (about $1 million revenue per year I think) told me the other day that at 31 he is back to square one asking the same question: what's NEXT?!
Finally, I really like the idea of taking off 6 months out of the year, as one of you said. Isn't that how actors, artists and musicians operate? I also liked the analogy to lawyers and how they become partners.
Maybe all of the "seasoned" developers could band together and start a company made of the best of the best, like the top guns or navy seals. How can we differentiate ourselves from the cheaper, younger, aspiring newbies? How can we create a new market?
Posted By H. Cooper / Posted on 09/08/2011 at 8:57 PM
Well, despite what others have said there are two ways to go. You can become a specialist. Or you can become a project manager.
Posted By Another Thread / Posted on 09/08/2011 at 9:48 PM
The days of being just a web developer is over for a full-time position. If you are interested in the LAMP architecture, you should also be a creative designer. You must also be very artistic and create nice looking "Web 2.0" UI design. At my work place, I do Oracle (stored procedures, complex queries), and also MySQL for some opensource apps (like customizing a CMS modules, e-commerce tools, and so on). In addition, I do the front-end of microsites we have and some flash animation for the marketing projects. Since you have years of experience in software developer, doing the server-side backend should come easy. Not only should you focus now on the front-end (Javascript/AJAX, X/HTML, XML, and CSS) You should spend some time using Adobe Photoshop or Fireworks. Start building nice looking layouts. After that, try to create some Flash animation.
I'm both a developer/coder and designer, and that's how I got my job now. Rather than hiring a developer and a designer, my boss figured - why not hire 1 person who can do both and pay the person 1.5 times? And that's how it is going to be soon. Cuz if you're just a plain web developer, they could just outsource the project to India or hire some college students.
As a Lead Developer, you'll spend some time managing the offshore developers and manage projects. There's not much difference between an entry web developer or sr. web developer. It's all depends how fast and quickly you can produce.
And you might explore jobs such as Web Analytics, Web Mining Engineer, Web Application Architecture, and Web Application Developer.
Posted By Anonymous / Posted on 09/13/2011 at 6:27 AM
I think every serious web developer will ask him/herself this question one time.
well its best to understand why we ask ourselves this question.
I'll focus on two points that I think are the root cause:
1) Tired of working on projects without getting paid what you really deserve since
the QUACKS have saturated the market and diluted the PRICES.
2) Working on a project without knowing when the next project will come, and for
you to get one you need to compromise on the PRICE so that the quacks don't beat
you cause all they compete on is the PRICE.
Well after thinking about this it dawned on me that I can't change the market and if
I need to do what I love to do and still pay my bills I need to change my mindset
and how I play in this game (web development).
So what did I do,
I picked a couple of the so called quacks in my location trained them well and
employed them. (If you can't beat them join them or at least let them join you) Wink
This way I can concentrate on building my business by looking for more clients
since I now have more time on my hands and fewer quacks to compete with. Smiley
THE MORAL OF THE STORY
Have a plan to transition from a WEB DEVELOPER into a BUSINESS OWNER that owns
a web development Company. At least this has worked well for me. Cheesy
Posted By Anonymous / Posted on 09/13/2011 at 6:29 AM