Who do you want to be when you grow up?

So, you’re young and you’re a programmer. Maybe even a successful one. You have a cool job: the salary is good, the tasks are challenging and your coworkers are both intelligent and funny. Perhaps you’re not “just” a programmer, maybe your job title is something like “developer/designer” or “leading programmer”. I bet your parents are proud of you and most of your non-geek friends envy you. You have probably already created something you’re proud of: some cool app or a web framework. But…

Have you ever thought who do you want to be when you’re 35 years old? When you’re 50? Are you sure you’d still be passionate about churning code and keeping up with latest technologies when you’re 50 or older? Think about it: how many programmers do you know that are a) younger than 30, b) older than 40? I’m certain “a” is much larger than “b”. Have you ever thought why is it so? Is there something about programming that makes most people grow out of it?

Maybe programming is too exhaustive and people grow weary of it and burn themselves out after 10 or more years? Maybe you loose the ability to create and manipulate large abstract structures in your mind when you grow older? Maybe it’s the need to constantly learn? What if there’s a point beyond which you’re simply not able to learn any new language or technology?

Maybe it’s just, paradoxically, the boredom? When you think about it, most developers spend big part of their time doing tedious, repeatable tasks (and I’m not talking here about Java developers only). Or maybe our profession is so young that people born too early simply missed the opportunity to become programmers? (I would like to read some research on this topic but couldn’t find any.)

Whatever it is, most programmers seem to leave programming and switch to other activities somewhere between 35 and 40. I’m 34 and I still have enough passion for programming to sustain next couple of years, but then what? If you’re someone like the person described in first paragraph, perhaps you should sometimes think about next step of your career? What can you do to make it as pleasant and satisfying as your current job? Let’s iterate through some options:

Management

Quite popular “career path”, especially in bigger companies. You could be promoted to “team leader”, then to “director of I.T. department” or even CTO. It all depends how many levels of hierarchy are currently above you. Another direction, if your company prefers some kind of matrix management, is becoming a PM (Project Manager), but I’m not sure if many programmers would consider that a promotion.

However, most programmers lack the skills that a good manager should posses, especially interpersonal skills (some people think that “programmer” and “sociopath” are synonymous). On the other hand, it’s easier to become pals with an ex-programmer and such a manager will have better understanding of your difficulties.

Start your own business

A manager and a programmer, all in one. There is plenty of information how to start a start-up. And founding a successful start-up that is later bought for big bucks is a new version of American dream. The biggest downside of this is that most start-ups fail.

Consulting

Not really esteemed profession. In theory, consultants are experienced developers that help other companies in case of trouble with their software. In practice, consulting often means just parachuting some suicidal commando programmers in attempt to rescue a sinking project. Most of the time, to miserable effect. And the phrase “code written by consultants” has become a synonym for WTF.

A security (encryption, SEO, …) expert

A much better esteemed version of consulting. If you are really an expert in some field of IT, you could earn a nice income by freelance consulting or working for some big company. See also next one.

Write books, speak at conferences

Really nice and easy job (or so I heard), but only if you have something to say. Having a widely recognized name helps, too. If you’re an author of popular application, framework or library, good for you. At the very least, write a popular blog.

Translator

As most of the world’s IT literature is written in English, this is only applicable in non-English speaking countries. But this is quite an easy job (been there, done that), and you don’t have to have anything to say, unlike the previous one.

Architect

Mostly present only at enterprise class systems development. A man with a vision, projecting the architecture, choosing technologies, planning the overall technical structure, writing the code conventions and similar important documents that make you totally enterprisey. A PITA in general, especially if not participating in everyday code development.

Business analyst

If you have no problems with talking to business people (not very common among programmers), grok UML and like to “write programs in English”, you could go for business analyst.

Tester, sysadmin, deployment specialist

These people normally coexist with programmers, especially in bigger companies. But I haven’t heard of any programmers becoming one of them, while they quite often become programmers.

Scientist

If you’re theoretically inclined and grok things like Big-O notation or NP completeness, that could be a fulfilling job for you. Computer science is still young and there’s probably still much to be discovered.

Full switch

You can quit programming and start doing something completely different. It’s up to you. I’ve read that nowadays people should be prepared to change their profession several times in their lifetime. Who knows, maybe programming will be obsolete in 10 or 20 years from now?


8 responses to “Who do you want to be when you grow up?

  • dinaddan

    Ha, ha… “[…] not talking here about Java developers only” :-)

    But seriously – my choice is to start my own business… Yes it’s hard. I think most developers (even the Java ones ;-) do not realize how many other activities except programming this path will require from them. I’m at the beginning of that road so I cannot tell how this will end. But when you think about how many “young guns” come to the programming market willing to race with your skills and experience, you come to the conclusion that it will be better to hire them than to race with them for the next 10 years :-)

    I think that for a passionate programmer the hardest thing is to leave programming behind. That’s way it’s so hard to take any of the paths you’ve mentioned.

  • Adanna

    This site provides a humorous view on career limiting moves. You definately don’t want to do these things when you grow up!

    http://www.getyourselffired.com/

    At the site, you superimpose your face on a variety of compromising images to then e-mail them to your friends (or boss). You can also peruse some humorous work stress tips and register for a chance to win a $10,000 sweepstakes by simply entering a profile in the itzbig network.

  • sktrdie

    This is like one of those questions about life that pretty much answers itself. I would just go for the follow your heart thing. I’m 21 and certainly have still a full and exciting programming career in front of me, but who knows, maybe I will find another interested next year.

  • Tom C

    Man, I’m in exactly the same boat. I’m a 37 year old programmer contemplating leaving the field.

    It’s not that my decrepit old brain can’t handle it anymore. I wrote some of the software that the young turks rely on every day. It’s more just a feeling of “it’s all been done” and a deep cynicism — will coding up this “next great thing” really make any difference in anyone’s life whatsoever? I don’t just want a paycheck, I want a *meaningful existence*, and I doubt more and more, every day, that programming can offer that for my entire life.

    Don’t get me wrong, I’ll probably program as long as I’m alive. It just won’t be the goal and focus of my work-life. I’m working on going independent; rather than pour it all into a start-up (which, as you note, will likely fail), I’m trying to find multiple small streams of income (some contracting/consulting, some blogging and ad revenue, writing a book, and other odds and ends). While none of these individually will pay that well (I’m realistic here; I’m not going to get rich blogging), hopefully together I can find the magic formula to have an interesting, varied, enjoyable life.

    Here’s hoping, and good luck on your own journey. Reading what you’ve written, I’d wager you’ll set your feet down the same paths I have…

  • kola

    Guys, I’m in a similar – but much worse – situation. I’m not just getting older (now 31): the problem is I’m not a programmer, but an MD with a PhD in medicine!

    I left medicine immediately after graduating, and started to work as a programmer in a medical research institute. It started as a hobby, but later things became serious: I couldn’t imagine beforehand how much work a programmer can get in such a place: signal processing, image processing, modeling etc. The tasks were exciting, and I could cooperate in a lot of interesting research projects this way.

    After a while, I could get a medical PhD, since some of my programs resulted in something, which could have been called a “novel scientific result”.

    Lately I had to realize that I won’t be able to get higher in a scientific institute this way. I’m a supporting person, and not a researcher. This would not be a problem in itself (I love programming), but I have a wife and child, and I must make plans for the future.

    I absoultely don’t know what to do. Only one thing is clear: I want to be a programmer. But I don’t have the proper degree. I could get one, but this is not easy when one is above 30 and has a family…

    I would be glad to read your opinions.

  • szeryf

    Kola: I don’t know why you say you’re in a worse situation. You seem to be a very smart and successful person. IMHO you could get a good job as a programmer with your experience right now. Most of the software companies don’t really require computer science degree (altough they may say so in job postings). If you can prove them you’re a competent programmer (and I bet you can), they won’t mind your lack of degree (and if they still do, don’t waste your time with them :). And your PhD in medicine only helps — it shows that you’re smart, systematic and able to solve problems.

    If you want my advice just start answering developer job offers, if you haven’t already. Let some of the companies interview you. Even if they won’t offer you a job, you’ll see what they look for. Then invest some of your free time to learn what you lack. As I understand, you have a job right now, so you’re not in a big hurry. Eventually you will get your dream job as a programmer :)

    Personally if I would receive your CV, I would certainly give you a chance on the interview. And I’m sure you would do better than this candidate. :)

  • Paul

    Last post almost 2 months ago… Come on, you can do better then that ;) Waiting anxiously…

  • szeryf

    Lots of work and other stuff :( Hope to post something soon.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: