Fog Creek Software
Discussion Board




Shelf-Life Of A Programmer

I've noticed a few posts recently where people in their late-twenties seem convinced they're reaching the top of the hill (in their programming careers) and they'll soon fall off the other side and have to do something else.

To me, that's pretty surprising as I'm thirty-three, have been programming for twenty years and am quite happy to continue developing for the rest of my days.  Sure, there's pressure from within my company to climb the career ladder (ie move into management and learn to shuffle paperwork) but that just doesn't appeal to me. 

I know quite a few people who've progressed to a team-leader position, realised they miss coding, and then leave their company to go contracting as a developer instead.

Another thing I've noticed is there are fewer new, young programmers coming through the ranks.  Out of a few hundred development staff where I currently work, I can count on one hand the number who are under twenty-two.  It's the same on programming courses.  Out of five courses in the past few years, there was only one guy in his early twenties.  Most tended to be thirty-somethings.

So (just to satisfy my curiosity), a quick straw poll for the coders/ex-coders out there:  How old are you now and at what age do you expect to/did stop coding?

John Fletcher
Tuesday, January 07, 2003


I'm a coder who's 26, and I know what you're talking about.

I think the real problem is this:

Many companies want to hire coders with 3-7 years of experience, about 10 tops.

They figure if the coder has > 7 years of experience, the company will have to pay for experience that "isn't relevant", or, worse, the coder will be "trapped into cobol thinking."

I'm not saying it's logical, but it's out there.

Now, there are lots of options as we get older:

(1) Stay at the same company,
(2) Become a contract employee/consultant working for a firm ("Hired Gun"),
(3) Found your own one-person consulting company,
(4) Develop your own products or programming toolkits

Sadly, a lot of the whiners (I'm one of them, I can call us that) just want to work as regular employees.  We see the possibility of lay-off down the road once we've "over the hill" and it's scary.

Tom DeMarco said "People Hate Change", and he's right.  For some folks, Lay-off could be the beginning of a much more lucrative consulting/contract career, but some people just refuse to see it.

For me, I look at the mortgage, tuition, the wife & child at home, and think "I need to be an employee" - it's a pretty scary trap ...

regards,

Matt H.
Tuesday, January 07, 2003

Well said, Matt.

I can see myself being priced out of the market in a few years but my one salvation is the lack of any new coding talent coming to the surface!

Starting my own company is something I've thought about for a couple of years but haven't had the guts to actually go through with it.  However, the more I read in discussion groups like Joel On Software and in books like Steve McConnell's, the more I realise it's a step that may come sooner rather than later.  While happy with coding, I'm losing my tolerance for mindless rules, regulations and internal politics.

John Fletcher
Tuesday, January 07, 2003

I'm 28 and hope to be in a position where I don't have to stop until I retire, assuming it still interests me by then. I have no interest in moving into management. One of the things that I've read that's good about Microsoft is that good programmers can progress up the career ladder without having to move into management.

John Topley
Tuesday, January 07, 2003

I'm 22 (almost 23, college grad).  :)  Been programming real applications for about 4-5 years.  Been doing "other" programming for about 10 years. Since I was about 12. 

I really don't plan to stop anytime soon.  I'm currently "contracting" if you can call it that.  I basically build custom developed solutions for small businesses as opposed to contracting as part of a bigger development project.

I haven't really been in an environment where I could "go through the ranks."  My job prior to about a year and half ago was a general computer position that included everything from tech support, server admin, programming, etc.

I like the business side as much as I like the programming side therefore I don't know if I'd like it to much in a code shop.  That's why I like what I do now.

-Jonathan
 

Jonathan A.
Tuesday, January 07, 2003

I've built about 12 "business" style apps as a FTE and a contractor(server side java, and client/server windows) and could feasibly continue on with this forever. However, I find almost nothing interesting about this type of programming anymore. The projects all begin to seem the same thing over and over, but in the latest "framework" du jour.

I have looked into getting into more obscure/engineering aspects of programming (compilers, audio applications, scientific applications) but unfortunately it seems like there is an inverse relationship between the amount of money one can make and the conceptual difficulty and "interesting-ness" (in a nerdy sense, I'm a math geek) of a problem.

The problems I have are: I don't like to do a mediocre job on things, and to be above average (not great, just above average) requires a massive time committment. I no longer want to spend 70+ hours a week working and learning "new" technologies. I don't even want to spend 40 hours a week doing this anymore.  Even though the money is good, the quality of life is not. I've been trying to figure out a balance for a couple years now and don't see how it can be done.

The other issue I have, is that although many methodology books claim otherwise, software is largely a solitary activity, and I feel like I go for huge stretches of time without ever even talking to anyone, aside from giving status reports or asking about some weird thing I find in a legacy code base. I'm trying to get into a career where I interact with people in "real life" most of the day.

To answer the original question, I'm 28 and expect/hope to stop coding as a career within the next two years. However, I do plan on working on an obscure product in my spare time after I "retire."

schemer
Tuesday, January 07, 2003

I'm 38 and still going strong.  I have had no problems getting development jobs, ever.

I also keep up with the times.  I read the magazines, practice different techniques and keep my self current.

There are lots of programmers my age that call them selves professional C++ programmers that do not know how to use the STL.  I think its those people that are giving us a bad name.

Gregor Brandt
Tuesday, January 07, 2003

I'll be 55 in a couple weeks, took my first programming job
in 1973. Got an MS CS in 1981.  30 years and still in the
game and looking forward to at least 10 more. There's
your shelf-life.

old-timer
Tuesday, January 07, 2003

30.  getting paid for 7 years.  getting out in 5 more, hopefully.

rally monkey
Tuesday, January 07, 2003

25.  been programming for a living for about 6 years.  will stop when i don't need the money.

nathan
Tuesday, January 07, 2003

28 and my story is almost exactly the same as schemers

Daniel Shchyokin
Tuesday, January 07, 2003

32 and stopped being a FTE 4 years ago... when starting my own one-person company.

Philippe Back
Tuesday, January 07, 2003

Almost 37, but no more a programmer (still technical job)

Robert Chevallier
Tuesday, January 07, 2003

38 and just starting out.  I have done support programming as needed in my roles as a manufacturing and test engineer. After 11 years I realized that the projects I enjoyed the most were the occasional programming jobs.

Programming may be a solitary endeavor, but after years of non-stop interruptions to firefight production issues it sounds like heaven.

I'm not worried about shelf-life due to burnout, since programming offers a nice balance for my creative and analytical sides.  All jobs have politics that can lead to burnout, but at least with programming it's easier to start your own business than most other professions.

38_Yr_Old_Non-Geezer
Tuesday, January 07, 2003

I'm 34 (until tomorrow!), been doing this for money for almost eight years and I don't plan on stopping any time soon.
I'm a licensed attorney (started law school before I started coding, rolled on through on inertia), so I have a very viable "second career" that has no appeal for me whatsoever - I enjoy simply creating/building things too much.

And for the gentleman who said he "just wants to be an employee for the stability" - wake up! Several million full time employees were laid off last year. At one company I survived two rounds of layoffs (cutting 40% of the company) as a contractor!
Any more "salaried employee" does NOT mean "more stability" - it's all about costs and revenues, and employees are not sacred cows. The reasons for being a full-timer are benefits, paid vacation, promotion opportunities, etc.

I'm not saying not to go salary - just make it an informed decision.

Best,
Philo

Philip Janus
Tuesday, January 07, 2003

You only get dated when you stick to one set of skills or tools and never expand your knowledge.  For example, if you stuck with MS-DOS and wouldn't move on to Windows, then that was a career-ending decision.  Or if you stayed with C when everyone else moved on to C++.  Or if you were very good at writing software-only graphics code and looked down your nose at video accelerators.  The trick is that while it's easy to use hindsight, it's harder to realize when technology bigotry is clouding your vision *today*.  Lots of people insist on using C++ for everything, for example, when in fact they could be much more productive if they used Python or Perl much of the time.

James
Tuesday, January 07, 2003

I don't understand the talk of programmers having a shelf life. I'm in my early 40's; I work and develop leading edge technology; I've spent the past ten years learning all the time and will continue to do this.

I merge into organisational and strategic roles when necessary, and get things done. The whole technology game is a blast.

On the beach when not working
Tuesday, January 07, 2003

The real issue is when people hit 30, they start on the path towards marriage and family.  The real issue is that people are unable (or unwilling) to put in the devotion and hours it takes to stay on top of an IT career (Staying current, etc)  There is no such thing as age discrimination, but after 30, people are no longer fit for a significant percenatage of corporate jobs.  They get weeded out, often voluntarily.

Bella
Tuesday, January 07, 2003

32 and been programming professionally since 23, and for fun or high school classes since 14 (gotta love that C-64 BASIC and 6502 Assembly language!).

I also have no desire to go into management (unless it's my own company).  I had a taste of it when they promoted me to team lead, and I don't want to go there again.  They ended up having to transfer me to another location where I could be a "senior programmer analyst" and maintain a technical path.

The boom-and-bust nature of the software business doesn't have me feeling optimistic about being in this career until retirement age.  Getting laid off at some point in your career is almost a given, and if it happens when I'm over 40, I could be in big trouble as it does indeed appear that it is easier to climb Mount Everest than to get hired as a laid-off 45-year-old programmer.  So I've started studying for a career change (one where being over 40 is not a liability), with the possibility of switching back into programming to develop applications for that field if I don't like working directly in that field.

T. Norman
Tuesday, January 07, 2003

What sort of field would that be, T?

rally monkey
Tuesday, January 07, 2003

35. Programming for 25 years now. Started drawing a salary at it about 10 years ago.

Marriage and family increased my productivity quite a bit and helped me be more focused. I am more productive now than I ever have been and only see that that trend will continue.

Last job working for someone else was 4 years ago. Going out on my own has made it more challenging and more rewarding.

Planning on continuing though I do supplement my business with other ways to keep cash coming in whenever necessary.

X. J. Scott
Tuesday, January 07, 2003

If you have a true passion for computers then you will ok.

I can remember very clearly the first time I when learned what a subroutine was (I can even remember the room I was in).

I can remember the very first time I held a programmable calculator I my hand (where I was, and even who I was with).

I can remember typing programs from computer magazine into a TI calculator late at night.

I can remember the first time I ever played a muti-user computer game (text based – star wars!).

There are many defining moments in my Career. I like them all.

If you have a passion for computers, then I think much of ones carrier will fall into play.

If you find your self losing that passion, then you have to find a way to get it back.

It always comes back for me!!

I guess a desire to share and learn with others is a real help also.  The internet is incredible, since I get to partake in great threads like this one!!

Albert D. Kallal
Edmonton, Alberta Canada
Kallal@msn.com

Albert D. Kallal
Wednesday, January 08, 2003

i'm 20, and at the rate i'm getting paid (very well, but not extravegant like in the dotcom days), I'll be working in the industry for another ten years.  Honestly though, I think i'm too immature to seriously think about what i'll be doing when i'm 35.  I love programming right now, and i'll keep doing it until it gets boring. 

Vincent Marquez
Wednesday, January 08, 2003

I won't talk too much about the field I'm pursuing until I get a little bit closer to success, as there is a very high failure rate.  But what I will say about it, is that:

1.  The nature of it makes it almost impossible to outsource overseas.  And even if you did, it wouldn't be profitable because even in third world countries they make almost the same money as Americans (sometimes more!).  There are some H1B's in the field, but not in any numbers to be a problem, and you can't underpay or exploit them.  The H1B's tend to be people hired after graduation from a US university, not experienced people leaving their own country (because with experience they'd be well paid in their own country).

2.  It is very difficult to get qualifications.  But once you're in, you can count on doing it until retirement, even if you get laid off (which is uncommon). If there is a boom in demand, there won't be a corresponding boom in the supply because most people can't survive the rigorous studying and exams required.  No need to worry about being replaced by a supposedly cheaper "Teach yourself in 21 days" person.

3.  At the entry level I would be taking a pay cut from my current job, but before long I'd be back to what I'm making now, and with experience salary continues to rise for another 20-25 years well into the six figure range, unlike programming which generally peaks at about $85K and 10 years experience (with a few exceptions, of course).

T. Norman
Wednesday, January 08, 2003

42 years old, 17 years experience.

Very good developer, lots of runs on the board.

I've had plenty of work but just went through 2 months of unemployment before Christmas. I expect to work until I'm about 50 or something, then I'll go and do something totally different, like teach part time, which is what I did for 3 years before I got into IT (I like money too).

I wish all the wannabes would go away, your resume is in the way of my resume, and I'm much better than you.

Alberto
Wednesday, January 08, 2003

You may be better, but the wannabes will be cheaper! 

I worked for one guy who chucked away all job applications (for a programming job) from experienced staff and settled on one where the bloke worked on the counter in an antiques shop.  His assumption that this fellow would be a) cheap and b) would do any menial task just to get into computing was correct but horrified everyone else in the department.

John Fletcher
Wednesday, January 08, 2003

That's insane. Sounds like he paid peanuts and got monkeys.

Then again, the new employee could have been an undiscovered genuis...

Personally, I think as long as you're still enjoying what you're doing, you've still got a shelf life. If you get fed up of programming and just do it "for the money" then your quality's probably going to drop.

Better than being unemployed...
Wednesday, January 08, 2003

I am now 36, started coding around 12 and landed a job just before graduating college where I worked my way up from programmer to a manager to a director.  A little over 2 years ago I left that job and started working on a consulting basis and it couldn't have been a better decision for me, but may not be everyone's cup of tea.  I've had many jobs that have directly come from contacts or companies I worked with in my previous job. I hated management, but now have a lot of experience hiring a few good people and a lot of not-so-good ones.  I've learned that hiring someone who is smart is your best bet wether they have a lot of programming experience or not.

Wade Winningham
Wednesday, January 08, 2003

I'm 37, been in the field for 15 years when I graduated with a BS CS. I had a brief time off from active programming work when I was in graduate school.

I've been a programmer/analyst during time. My real strength is in analysis - particularly requirements and design. Too bad the industry doesn't see a whole lot of need for people with these skills. I'm a "pretty good" programmer...in my career history, I've been in one situation after another where the company sticks with a technology just long enough to start getting good at it, only to switch to the latest one. In 15 years, I have maybe a maximum of 3 years experience in any one technology. Ugh. (Anyone else experience that?)

As for the future, I'm in the "self-weed-out" category, and I'm pursuing a totally different career.

I worked for 1 company for 3 years, 1 company for 9 years 1 company for 6 months, and now I'm an independent consultant.

Lauren B.
Wednesday, January 08, 2003

34 and started my own software company eight years ago.

Fred L.
Wednesday, January 08, 2003

Age: 46

BA in language and social sciences.

Started as trainee programmer (never seen a computer before) age 22.

FTE and contract over the whole intervening period; sum total of days out of work 17 (including weekends).

Reached end of the line with half a dozen languages and  many platforms/DBs/tools/applications.

Self-funded training in C (briefly) and Java (postgraduate level), but I've never actually worked with either. Took pay cuts any time it was necessary to make a new start, but always gave my best because it was my choice to take the job and a point of honour to make it work out.

No desire to be management. Never had the killer idea for something I could make on my own, never likely to. Always been able to contribute meaningfully in a team effort, though: no shame in that.

Computing as a career is like a merry-go-round. If you can withstand the G-forces trying to throw you off (as it goes faster and faster) you continually see the same problems and techniques in front of you. (The Net just reintroduced all the nitty-gritty problems that you solved in the 70s before all those clever integrated products allowed you to stop having to deal with them.)

You know what the necessary design aspects and safeguards are, even when you don't yet know the syntax, even when you are just using your intuition to know that such-and-such a facility _must_ exist (or be capable of being constructed) in a language you haven't used that much.

You know how to look for stuff in manuals: you can even find it, recognize what it is, and understand it.

You know that bugs can be understood through inductive reasoning, or at least you can deduce the likeliest place to start looking for causes.

Anywhere that programming is practiced as a team activity there is at least one niche that can be filled only by an oldtimer like you. Of course, they don't always recognize this.

Your main problem is avoiding the mindless filtering performed by many HR departments.

And staying awake in the afternoons ...

Mathematical Dunce
Wednesday, January 08, 2003

Oh yes, I forgot.

My first team leader was 60+ and came into programming in his mid/late fifties after being a music scholar, WWII Mosquito "Pathfinder" pilot, and europe-wide market research analyst (among other things).

I never heard him wondering what he would do after programming.

Mathematical Dunce
Wednesday, January 08, 2003

The Shelf-Life issue is kind of related to some of Joels articles - programming is getting harder and you have to know more. Its harder to break into and keep up at the same time. If you have already broken in, the keeping up bit is easier. Raw coding ability doesn't impress anyone anymore, and its getting harder for graduates to break in.

The last couple of years has seen the death of a lot of what I would call 'nursery' employers - large software companies that hire big from colleges. Nobody wants to invest in talent, they just want a shopping list of mandatory skills that generally only their own employees can satisfy.

I am 28 BTW, and just managed to get my skills honed in time before the graduate market collapsed. Still I have been out of work for 10 months over the last 2 years.

Keeping your skills current is often not your choice. Reading books/sites and writing toy impementations is not recognised by the marketplace as 'possessing the required amount of skill/xp', your employer has to give you projects where you can gain/compound those skills sufficiently.

On the burn-out question, one thing I am conscious of is how unhealthy my work is. Constantly in the same position, rarely getting the chance to talk to new people or anything like that.

Richard
Wednesday, January 08, 2003

"Keeping your skills current is often not your choice. Reading books/sites and writing toy impementations is not recognised by the marketplace as 'possessing the required amount of skill/xp', your employer has to give you projects where you can gain/compound those skills sufficiently."

To an extent that is true.  However, there are things you can do about it.  Reading books and writing experimental programs won't mean anything to a potential employer, but that can be enough to convince your current employer to choose you for a project using the particular technology (if they have such projects going on).  And now with open source and Sourceforge, you can write some serious production-strength code and put that as experience on your resume, especially if it is something as widespread as JBoss or Apache or Linux.  Imagine being able to point out to a prospective employer in an interview that they are already running some of your code, whenever they fire up their web server!

T. Norman
Wednesday, January 08, 2003

29 and started my own software company three years ago.

I'll be like Fred L. in five years time, if I can.  :)

David
Wednesday, January 08, 2003

wow. What happened to all the other young'ins.  Seems like only 3 years ago offices were filled with 18 year old kids.  Now i'm 20, and I feel really young.  Did the rest of my kind die out? :-)

Vincent Marquez
Wednesday, January 08, 2003

maybe they realized that spending your early 20s in an office is a waste of youth?

choppy
Wednesday, January 08, 2003

> You can count on doing it until retirement, even if you get laid off

T.Norman,
If you are laid off, you are not working.  This sound like a paradox.  Can you elaborate?  Or did you just mean you can find another employer?

Bella
Wednesday, January 08, 2003

Yes, I meant that even if you are among the unfortunate few to be hit by a layoff, before long you'll find another job, although it may require relocation if you weren't in a big enough city with a variety of employers.

But there is a nontrivial percentage of laid-off programmers who will *never* have another programming job again despite their best efforts.

T. Norman
Wednesday, January 08, 2003

29. Contracted for the past 8 years until recently getting a fulltime job. I am called a quantitative trader but actually code more now than on some of my previous contracts.

"Lots of people insist on using C++ for everything, for example, when in fact they could be much more productive if they used Python or Perl much of the time. "

This is true. I remember parsing files in C. 

bdw
Wednesday, January 08, 2003

choppy:

As opposed to, spending time in school, and time in a dorm, and studying, for a meaningless peice of paper? oh, ok, glad you cleared everything up ;-)

Vincent Marquez
Wednesday, January 08, 2003

I'm 20 and still in school but I love programming!

Just not VB or VB.Net please... hehe

Wei
Wednesday, January 08, 2003

" and studying, for a meaningless peice of paper"

No! You go to university to gain  meaningful knowledge. The piece of paper is just something they throw in at the end to help you recoup some of your investment.

Stephen Jones
Thursday, January 09, 2003


    What about having some beers with your classmates after classes ?  Man, I really miss that good old times. :-).

Ricardo Antunes da Costa
Thursday, January 09, 2003

The best thing about college was the parties. 

Bob Greene
Thursday, January 09, 2003

Age 25, programming for fun since age 12, for profit for the past 3 years.  Got hired before completing my CS degree.  Already experienced major burnout, had to take time off, fortunately it was enough to keep going.  Still struggling to learn how to maintain a balance between programming/learning and the rest of my life.  Hope to program for the next 10 to 15 years, preferrably staying in a technical track for as long as possible, although I think I could enjoy a management position...

ODN
Thursday, January 09, 2003

I'm betting that T. Norman is applying to medical school.

Any takers?

Tim M.
Friday, January 10, 2003

It's definitely maybe something that is licensed and requires college eduction.  My bet is on accounting or engineering (big 'E' engineering).

Bob Greene
Friday, January 10, 2003

"I'm betting that T. Norman is applying to medical school."

Nope. Look at the quote below - not true for doctors , who have abysmally low salaries in Third World countries despite often workiing harder and in much more difficult circumstances.

"because even in third world countries they make almost the same money as Americans (sometimes more!)"

Stephen Jones
Friday, January 10, 2003

It is amazing to find some peers in this subject. I am 27, and earn my living from programming since 16. In the last five years, I have been dragged countless times to leadership positions, performed fine, but politely asked to be "downgraded" to development again.

Programming is my true - both its "introspective" (code building) and "social" (analysis, requirements gathering, etc.) parts. It worries me a bit that sometimes people think I am not acting profesionally for denying "promotion" to management. And not seeng too much older programmers is also not a good sign.

But I hope that, if you have solid background and stay current, it may be possible to keep as a developer for a lifetime, either as an employee, or self-employed.

Chester
Sunday, January 12, 2003

""I'm betting that T. Norman is applying to medical school."

I agree with stephen jones ... it can't be med school, unless t. norman is mistaken about overseas salaries. My dad's a doctor in an underserved area where all his co-workers are from nigeria/pakistan/india/south america/etc. They choose to live in the middle of nowhere, montana, because outside the USA, one can't make shit as a doctor unless you are doing elective surgeries.  doctor's don't make that much money even in other1st world countries. (salaries for doctors in Australia and Germany are like $40,000 a year)

It can't be "engineering" cuz engineers also don't make any money.

I'm not sure what he might be doing. Actuarial work, maybe? That's something that has a weird test-based system of career advancement. 

clocked
Sunday, January 12, 2003

<p>27 in 2 months, been in the industry for a mere 3 years (well, 4 if you can count the year internship where I had to do as much as the permanent employees)
<p>done a lot of different things, from database administration to Perl to Java to systems and web admin.. still wondering which to specialize in...
<p>Most of the programmers I know are in their early thirties at most.. you have leads and similar who are my age or a few years older.. I think it depends from company to company.. I was in a company that struggled a year back, I was nominally a team lead... in this much larger corp, I am just a software engineer (more coding, fewer meetings)
<p>I think if you dont get into some sort of technical lead position by the time you're 30 or at most 35, you're basically stuck in the same company, unless you get a really good break....

another guy who wonders about shelf life
Monday, January 20, 2003

I am not happy with programming after I graduated but since I came into 5 different software houses within 7 years mostly recommended by friend I have to learnt from beginning.  I have been twice promoted as manager in 2 different companies but I feel uncomfortable with this position since the programmers are new and not really interested in programming (they came into company with recommendation).  That's what happened in my life, I have to responsible to all programmers task and my boss only ask is it job finish or not.

I did not have any plan what going on for next couple of years and choices to go to new company is limited since economy is not so strong.  Another alternative I am thinking  is to have my own.  Before that, I want to make sure that I am still getting the same or more salary with my new choice.

Khasni Ismail
Friday, February 27, 2004

*  Recent Topics

*  Fog Creek Home