Programmers: Before you turn 40, get a plan B

Welcome to geezer town, junior.

While researching my recent article, “Age discrimination and Programming Jobs” , I discovered a 1998 Op-Ed piece from The New York Times that cited some startling statistics from the NSF and Census bureau about the longevity of a software engineering career.

[S]ix years after finishing college, 57 percent of computer science graduates are working as programmers; at 15 years the figure drops to 34 percent, and at 20 years — when most are still only in their early 40’s — it is down to 19 percent. In contrast, the figures for civil engineering are 61 percent, 52 percent and 52 percent.

RetiredProgrammerButtonI find the defensive tone of the article and the use of dubious sampling of only computer science graduates to support its conclusion undermines its credibility. In a lot of ways, the Government has been very slow to grok the software engineering trade. In this study it completely ignores the significant number of working programmers who either earned their degree in another discipline or never finished college.


 Still, smart money seems to concur that the software engineer depreciates only slightly more slowly than the machine he or she toils behind as exemplified in this 1996 comment from Craig Barrett, then President and Co-founder of Intel.

The half-life of an engineer, software or hardware, is only a few years.

Sure, the guy’s a suit, but more importantly he was (at the time) a 57 year old former engineer publicly reinforcing the discriminatory notion of expiration dates on other engineers. It’s scary as hell to think that such an influential industry insider thinks that a programming career is roughly the same as a professional basketball player’s.


My take on the issue

Considerable accusatory ink has been dedicated to the age discrimination problem in technology, but I suspect it may be an inevitable consequence of the rapid pace of change that defines this field.

Consider the following:

  • The market value of an employee is primarily determined by experience in technologies relevant to the employer.
  • Software engineering reliably undergoes a major technology shift at least every 10 years.
  • While a technology shift doesn’t completely negate the skills of veterans, it certainly levels the playing field for recent grads.

Now put yourself in the shoes of a prospective hiring manager using a newer technology like Ruby on Rails for which nobody other than David Heinemeierhas more than about 5 years of experience.  Sure, that extra 10 years of C++ experience is a positive differentiator for the veteran over the upstart with the same 3 years of Rails experience.  All things equal you’d naturally hire the guy with more total experience.

However, all things are NOT equal. Those 10 years of C++ experience made the veteran candidate progressively more expensive as they leveraged the value of that experience in jobs requiring C++. The problem is that the marginal utility of that extra experience must exceed the marginal cost of hiring the veteran to justify paying the premium.

Herein is the source of the problem. The more irrelevant experience a candidate has, the more lopsided the utility/value equation becomes, and this presumes that the manager even has the luxury of paying extra to get that experience.

Even if the veteran prices himself competitively with a younger candidate, the hiring manager has to consider the implications of bringing in someone taking a big pay cut. Will they have morale issues from day one? Are they going to change their mind after a month that they really do need that extra cash and leave? It’s a sticky situation.

The unfortunate truth is that unlike other forms of discrimination that are more arbitrary and capricious, age discrimination can often be a result of objective and sound business justifications. I’m not trying to justify it as an acceptable practice, but just trying to describe the pickle it puts the manager in trying to make a sound business decision without compromising the ethical and legal obligations of the company.

So what’s your plan B?

Assuming you aren’t fabulously wealthy, accepted to clown college, or the fatal victim of a Red-bull induced heart attack by 40 a mitigation strategy is in order. Here are some viable options.


Work for the one person who would never discriminate against you.

No. Not your mother. You! If you aren’t the entrepreneurial type, consider a consultancy. For some reason that I don’t completely get, a little gray hair and a smattering of experience in different technologies can create a beneficial bias for companies when they are renting brains instead of buying them outright. It may have something to do with the tendency for consultants to be vetted from higher up in the management chain where the silver foxes live.




Give in to the dark side and go into management.

I’d argue that a career in programming does precious little to prepare someone for management, but clearly management thinks that everyone including technologists harbors a deep longing to “graduate” into their ranks. I think it a fallacy that no one would continue to design and build software for 20 years unless they had no ambition or growth potential. However, people like me that respect such dedication to the craft are in the minority. Maybe it is best to just stop fighting it, but consider the following before taking the plunge:

  • Mid-level managers often make very little more, if not the same as high level engineers.
  • It gets progressively harder to keep up with new technology because you don’t work directly with it.
  • Meetings, politics and dealing with unrealistic requests will pretty much become your life.
  • You may try to avoid it, but management-speak will creep into your vocabulary (did you notice my “paradigm” comment earlier?)
  • Even when it isn’t your fault, it’s your fault.
  • Even when you make it succeed, your team should get the credit.
  • Being the wunderkind as a technologist is much easier to do in technology than management, you’ll have to check your ego at the door.
  • You will be forced to make decisions that affect people’s personal life (pay, bonus, firing, etc.) and this is hard to stomach sometimes.
  • It is very empowering, enjoyable to be able to set the agenda and sometimes say, “No. We ain’t doing that shit.”
  • Computers are predictable, people are complicated. You will eventually fantasize about robot employees.
  • Mentoring can be very rewarding, but also very challenging.

The most difficult thing in the world is to know how to do a thing and to watch someone else do it wrong without comment.
-Theodore H. White.

You’ve got a cash cow, milk that sucker!

I know you love programming because you like technology, so this may go against your very nature, but no one says you’ve got to jump every time some snot-nosed kid invents a new way to run byte-code. You have invested a lot of time and energy mastering the technology you use, and your experience differentiates you. Money follows scarcity, and snow-birding on an older technology, if you can stomach it, may just be the way to protect your earning potential. The industry turns on a dime, but is slow to retire proven technology. It is highly likely that you will still be able to earn some decent coin in the technology you know and love even after a few decades.

129 Responses

  1. Interesting how you assumed the stats where evidence of age discrimination. I did not. I read them as evidence of burn out and the reality that programming, software engineering, whatever you want to call it is a miserable field.

    What other professions require people to constantly learn and work miracles for their employers? Medicine and Law. Clearly software dev does not compensate nearly as well.

    • Well isn’t it true that Computer Science degrees were far less common 15 – 20 years ago? The study solely covers people with CS degrees. I know many programmers in their 40’s that don’t have CS degrees.

      “What other professions require people to constantly learn and work miracles for their employers? ”

      I for one think that life would be boring if I had to do the same thing every day for the rest of my working life.

    • I think you would be surprised how well computer software developers are doing compared to lawyers and physicians. source

    • Or maybe it’s because the industry uses the word “developer” very liberally and most of them can’t actually write code. By the point 20 years after graduation, the suckiest of the sucks have been weeded out.

      I have avoided the “developer” job title my entire career minus one 18 month stint where I decided I didn’t like doing it full time. That said, every job I’ve had has required some form of coding and I’m fairly good at fixing things in the new language of the week using a fundamentally solid understanding of “programming” and wicked Google skills.

      In the past 4 years at unnamed giant computer manufacturer, I’ve met more than 50 “developers”. At least 15 of them didn’t have any understanding of Visual Studio, even though we’re 100% MS. Several couldn’t change the IP address on a Windows system. I’d say no more than 10 would make the cut if I were given the opportunity to interview them for their jobs.

      Oddly, most of the ones I think would make the cut don’t have CS degrees. One is mechanical engineering. One guy has a PoliSci degree from Harvard. At least 2 of them don’t have degrees.

      • Your method of making the cut is strange, I’d consider ability to understand recursion, live locks, dead locks, pointers, code as a data a FAR more than Microsoft specific tools & ability to be microsoft specific administrator.
        The BEST algorithm programming schools have 0% MS studio and 0% MS administration in their education. Then if those persons have 0 MS operating systems in their home then they just cannot have THE experience what YOU wanted them to have. Anyway out of 100’s programmers I’ve seen there are 2-3 that I consider somewhat superior to me, and NONE of them are MS users, while ALL of them could alone do more in a month than a team of 10 average programmers could in couple of months. Its just that their programs would run on multiple operating systems instead of using microsoft only libraries to run on microsoft only platform, and it would take time to adjust for them…

        90% of programmers aren’t good at all, I agree on THAT. But ability do good things with visual studio? Its something that is taught in vocational school instead of university or in some course from some consultancy group teaching employees instead of good educational institutions.

        • Eh… you come across as just being anti MS. Thing is if you claim to be a java dev and don’t know a thing about Eclipse or Javabeans you’re ‘skills’ are going to be suspect. He qualified his knowledge of Vstudio with someone claiming to be an 100% MS guy. Your ‘real’ options get incredibly weak really fast (I’d use mono if I had to, but I digress). Tool/tech knowledge IS important- you might be awesome in (insert trendy language here) but if the companies entire codebase is in C#… they may not want to wait for you to catch up. People want you to know your platform and know it well. That’s not really that odd.

        • Just realised I replied to a 3 year old thread. FAIL 🙂

        • Eh… you just come across as a neckbeard

      • you assume software programmering began with PC’s .. it didn’t..

        P.S. and us old mainframe programmers would have cut all of you..

        • The whole theme of this particular thread of comments reminds me of the rampant egotism that is prevalent, and sometimes even encouraged in software development shops. Someone named Jonathan Edwards has a great blog post about it here:

          If I heard talk like this in my workplace, I’d run. Life is difficult enough without people who deliberately make it worse.

    • Dino has a point that at least a large slice of the missing older programmers are burned out, rather than discriminated against. I, myself, being pretty danged old for a programmer have not seen any discrimination, but after twenty years (age 55), I definitely feel Times winged chariot hurrying near. I have not seen any sign that the children who do the hiring are any less willing to have me as the years roll by.

      Unless you’re a true hack, you probably started doing this because you loved it so much you couldn’t help yourself, rather than as a calculated decision to go for the gold. That’s the trouble with programming: it starts as a passion, and passions are notoriously bounded by time. Ask any poet.

      Call it burnout if you want, but there’s a natural cap on how long one can care enough about anything enough to justify flogging away at the level of effort required by programming. Programming is interesting, but barring certain neurological specializations, nothing remains that interesting forever.

      Which is really a quibble in a sense—if your career longevity is bounded, what difference does it make if it’s bounded by age discrimination or by your own ability to GARA? Bounded is bounded.

      Maybe it’s a mistake to even bill coding as a true career? There are lots of careers that are advertised from the start as short-term. Dancing. Basketball. Mathematics. Possibly the solution is to make it clear to people starting out that it’s that kind of a career.

  2. You can bet that __that__ dime __will__ still be sitting there 20 years out and it might even be a quarter by then

    Wow, two errors in the last sentence. Should that be “last” and “we’ll”?

    • Welcome fellow grammar Nazi. Thanks for calling that out. I fixed the duplicated “that”, but “will” was actually correct given what I intended to say.

      ?You can bet that dime will still be sitting there 20 years out and it might even be a quarter by then.”

      • “that that” was actually correct.

        • Okay, officially aborting that last sentence/metaphor.

          Following the advice of a writer I respect: If you have to revise a sentence more than once, start over.

    • I am more concerned with the mangled metaphor. 😉

  3. Nice article. You can also mention teaching as a backup plan. It’s not for everyone, but if you can do it, you can do it!

  4. Does the (11-year old) report take into account the fact that a number of programmers leave the job voluntarily, I wonder? Plenty of my former colleagues have reached a point when they no longer wanted to be programmers. Time being, for most of us, unidirectional, this will happen at an older age than when they entered the profession.

    That said, there’s probably some truth in the irrelevant skills vs excess pay argument: I don’t consider my 10 years of COBOL (last used almost 2 decades back, at that) to be of much interest to most prospective employers.

    What I have found to be of value in continuing to increase my pay over 30 years of programming is to have developed experience in, and to have remained working in the same business area, so I have a body of relevant non-technical experience to offer. I guess that’s my Plan B.

    • That’s a tough question, and metrics like that are hard to come by or validate. One of my motivations for moving into management is that it is harder (or at least less commonly) outsourced to offshore concerns. I wonder how much that is a factor for others.

      If anyone can find any recent data on the attrition rate of programmers that looks reasonably reliable, please let me know and I’ll post a follow-up with fresher sources.

      • Hey John – Great post. Nearly two years have passed. Did you ever find any reliable metrics ?


        johnfx, on June 10, 2009 at 9:33 am said:
        “That’s a tough question, and metrics like that are hard to come by or validate. If anyone can find any recent data on the attrition rate of programmers that looks reasonably reliable, please let me know and I’ll post a follow-up with fresher sources.”

    • Yes.

      If we picture an organisation with its specialist domain area. Typically it will have to employ developers then hand-hold them through how to apply their abstract university-taught techniques to the current problem area – introducing opportunities for a series of communication gaps/errors. By arriving as a developer and thoroughly learning the domain area, you can become of greater value than the alternative (through fewer comms gaps), and quickly/confidently able to provide the relevant solution to the supplied problem – with low risk.


  5. There is a problem with the argument:

    First you tell us, that a large percentage leaves the programmer job behind, then you jump to the conclusion, that this is because they don’t find the next job and then you tell us, to not even start looking.

    The big question that you didn’t answer is: How many are no longer programmers, although they are perfectly fit to do it, and actually would like to do it.

    I am pretty confident that this percentage is rather small. If you actually like programming, you will stay on top of technology and you will get your bonus out of your experience.

    I think the high drop out rate we see comes to a large extend from change of interest or higher paying job offers.

  6. There’s maybe room for another plan B. Stick around in some company and strive to become the “lead developer”.

    A “lead developer” is a role that has some management aspects to it. You’ll be coaching people, managing requirement- and design documents, have a strong or perhaps the final voice in hiring people, but you’ll also still be doing actual development. You’ll still get your hands down and dirty with the actual technology.

    Depending on the organization of the team you lead (typically 5 to 8 people), you will mostly decide on the software architecture and jot down the large lines of implementing something.

    It’s absolutely necessary though to keep your skill set updated though. If you hold on to old techniques for too long, you’ll loose the respect of your team members pretty quickly. If there’s a new version of Java released -you- should be the one that knows exactly what the new features of it are. When the term “cloud computing” is mentioned, -you- should already have a potential plan in your head on how the levitate this new tech for the company.

    Basically this means reading dzone, infoq, theserverside, maybe even slashdot, should be among your daily ‘chores’. If you actually do see that as a chore, you’d better opt to become a regular manager. But if you consider reading dzone during work time as a perk, you might become that next lead developer.

    • Let’s call that “Plan C”

    • That only makes sense if your company sees “lead developer” as a high-ranking, high paying job. In my company, even the “lead developer” positions have largely been farmed out to developers in the B-R-I-C countries,where the pay is about 50%. I have been told quite bluntly by management that I should consider myself endangered if I insist on keeping my Senior Software Engineer title.

      The only “up” path for 40+ year old Americans in my company is customer facing IT architects, customer facing sales support or management positions. And it won’t be long before the IT Architect jobs get farmed out as well.

      So I’m officially in “management” and I hate it.

  7. Every “old timer” I know who has had trouble getting a job has had that trouble simply because they did not keep their skills up to date or they think this is still 1999. In short, they’ve lost their passion for the work. Why would anyone hire them?

    I can say this because I’m past the 40 year mark and still have work. Of course, I did pick the consultancy route, but I choose that long ago and I have every confidence that I could get a “real job” if I absolutely had to.

  8. […] This post was Twitted by imsaar – […]

  9. 1) The urge to fix management by doing it yourself is overpowering.

    2) Life in management is a lot easier than being an expert. If something doesn’t ‘work’ you can always move the goalposts or redefine ‘working’. Thats seductive.

    3) Absolutely agree that management believes in management aspiration. And can lead gullible young people into beleiving the same thing. It takes a a lot of will or personal awareness to forsee the downside of management. While you don’t need technical skills, your personal life will go downhill since you are constantly involved in so-called ’emotional intelligence’ work. Work which I personally find destroys my soul.

    4) I look forward to semi-retirement in a management role in the future. Probably a nice project managers role will be nice ride if and when I find being technical too difficult.

    • Project Management is definitely one of those binary roles. You’re either excellent at it or you totally suck and from where I sit, I’ve only met about 2 or 3 that were truly excellent.

      The PMs that I’ve met that were very, very good had an innate capability to sniff out bullshit and think on their feet when it came to defending their Gannt charts to pointy head bosses. They all seemed to have unlimited short and long term memory as well.

    • Isn’t the biggest problem with management is the only opportunity a programmer has for a real promotion (increase status, responsibility and compensation) is to go into management? In professional sports, top athletes make more than their managers. This is unheard of in the corporate world.

  10. Hi John,

    Very good article,

    I’ve been developping for I long as I can remember but I also did consulting and management for startups, so I totally agree with you.

    Actually, I’ve always wanted to teach programmers so management is a pretty good opportunity to mentor them and I enjoyed it. Of course, you have to learn how to deal with people but I guess it will make you a better person socially. Only dealing with computers when you get older can be a problem (I’m serious).

    I have simple rules,

    (1) I only program if I work for myself
    (2) I only mamage If I work for others

  11. Great post. Really puts into perspective some of my own fears. Thanks!

  12. I think there’s another factor going on here, also. The married w/family 40 year old is much less willing to work insane hours than the single 25 year old.

    There’s also the competition from the H1-B’s.

    • I am a 40+ married with children “software professional”. I would love to go back to programming, but the pay cut would be significant. With my kids soon reaching college age, it’s just not realistic.

    • … and I’m not willing to work insane hours either.

    • And people are going to assume family requirements for someone in their 40’s, even if it’s not true. My son should be starting college when I’m 40, and I’ll be far more flexible on pay and hours than I was at 25, when I was supporting a 3-year-old and a spouse who was a full-time college student.

  13. Most freelancers will become teacher/trainer.

  14. […] This post was Twitted by BrianHeys – […]

  15. this article is absolutely amazing. I have nothing else to say other than that. I am still new to programing however if I do want to continue in the future this would be very handy

  16. Interesting article with good points raised. I am a 52 yr. old programmer, nearly pushed out the door at the corporation I work for due to “end-of-life” technology. Moving from client/server to web solutions was pushing the corp. to using Java. Thankfully, RoR was introduced and gave me an avenue to upgrade my skills and keep my job.

    I would DEFINITELY say to have a plan B ready for your 40s. Even though I have loved programming since the start of personal computing, I am finding that the interest is waning – probably due more to burnout and lack of increasing compensation than love of the craft.

    I agree with Fred Brunel – I’m finding more satisfaction in programming for myself. I wonder what the percentage is for programmers in their 50s?!?

  17. I’m 51 & still doing bleeding edge work, what am I doing wrong? 🙂

    Seriously, I landed my current *because* I had the experience that the young Rails jockeys lacked.

    The worst part is the other day someone said “Van Wilder” is a “classic movie”… ouch.

  18. […] Programmers: Before you turn 40, get a plan B – As a programmer about to turn 50, I’m a bit leery of the notion that age discrimination in the field is as pervasive as some people say, but this blog post does a reasonable job of laying out the issues. […]

    • I think just about everyone should have a plan B regardless of what they do.

      But yeah, as a 43 year old developer with an English degree who came late to the programming party in the first place I do wish I had more time for studying up on the latest stuff.

  19. // popular today…

    story has entered the popular today section on…

  20. The plural of anecdote isn’t data. That said, the reason I’m no longer a professional programmer despite a CS degree and about 7 years experience in the field is that I started my plan B around 25 years old.

    No, I’m not crappy at programming. My skills are still rather sharp, even if not absolutely bleeding edge. I occasionally pick up side projects to give me an excuse to use newer tools/libraries/languages/etc. I’ve accomplished most of the items listed in Teach Yourself Programming In Ten Years. I’m now at the point where I use Lisp-y functional languages for prototyping (e.g. Clojure), workhorse languages for delivered solutions (Java, C, C++, D), scripting languages for gluing together different processes (Perl, ksh/bash), and even crappy languages as needed for my new career (VB/VBA).

    No, I haven’t settled down in some fashion and changed my life priorities. I started programming Apple II’s at 8 years old. Programming is still the thing that can keep me on a caffeine-fueled high for a week while solving a neat problem. I still intend to eventually read and fully understand my copy of Knuth’s TAoCP and CLR’s Algorithms. I’ve got multiple F/OSS projects out there I still work on and ideas for more in the future.

    No, I haven’t graduated to management. I’ve got zero interest in management, even though I feel like I might not be too bad in that role. American corporations wouldn’t tolerate me anyway since my loyalties are with the employees (producers) over the shareholders (leechers).

    My plan B: become a “real” physical engineer, chemical in my case. “Real” engineers have much more longevity in their technical roles, those that work closely with manufacturing operations can ride out many business boom-bust cycles, and it’s really nice being paid to rub elbows with the blue-collar world. Plus they can get a PE license and become a gatekeeper themselves someday. I chose to separate my real passion (programming) from my paycheck (engineering). The programming skills go a long way to making me a decent engineer too, and I still get the satisfaction of a technical job done well.

    Why my plan B? IBM, Microsoft, and Sun were outsourcing to India as fast as they could in the early 2000’s. That felt to me like a betrayal of the field by the industrial giants. I’m not xenophobic, I’m glad people all over the world are programming, the betrayal wasn’t expanding to India/Eastern Europe/etc., it was the wholesale MOVING of development to those countries. We’ve got so many application ideas it’s ridiculous, there is SO much work to be done before we have achieved “Star Trek”-like computers, yet management at these industrial giants can’t bother itself to listen to its programmers and try their ideas out. They demonstrated their belief that programmers anywhere in the world are trivially replaceable. (Google seems to “get it”, but Google alone can’t support the entire craft.) That outright disrespect for the craft turned me off trying to make a living at it.

    The corporate giants think that programming is no different than serving coffee. They gutted the field right as we were cresting the hardware curve and the tools become available for major advances. It would be like the American and European auto makers all deciding in the early 1950’s to move all of their production and research facilities to the cheapest countries they could find. Would we have ever developed automatic transmissions, ABS, airbags, crumple zones, power windows and doors, fuel injection, 40+ miles per gallon? Within America, would the middle-class boom years of 1950 – 1980 have ever happened?

    The major computer companies decided to screw the craft, so I now do it only as a hobby.

    • I am 43 and will be graduating next year with a 4 year ABET degree in software engineering(not C.S.). I got into it because i love it. Im not a bit worried about the age thing people talk about. Why? because i will be current and stay current.

      I know C/ C++ , C#, java. Interns at my school work at intel making over $29. I know a few people that are well into there 40s in this degree and working. I think its all about keeping up with technology rather than age. Also, if you know a language like c++, java or C# its not hard or takes very long to learn a new one. I wouldn’t get into web development that seems to be expendable. In addition, at the end of the year there will be a PE license for people who have a ABET software engineering degree. As for CS i think they will be able to take it also.

  21. Or maybe programmers drop out because programming gets really really boring after 30 years…

    • I’ve been doing it professionally for 20 years so far, and I programmed on my own for 10 years before I entered the workforce, so I’ve been programming for 30 years, and it’s still amazingly fun.

      I love what programming does for my brain; it keeps me engaged, and those moments of pure focus, when you get in the zone and it’s like you and the computer are in perfect sync, are like a drug.

    • As soon as it gets easy, I’ll know its time to quit. However, I don’t see that happening any time soon with the rapid shifts of technology.

      Early in the game I used to work really hard to be an expert at this stuff. Now I run as fast as I can just to remain COMPETENT at it. =)

  22. Hmm, I’m mid 40’s, and am mostly happily employed as a programmer. I don’t have a CS degree, just a minor (major in philosophy).

    I was at school when there was a huge influx of people into CS, mostly tempermentally unfit for it. Possibly it’s these folks who leave; people that never got intense pleasure from programming, and who don’t enjoy always learning new skills and solving new problems.

  23. Not a bad article.

    Honestly I’ve yet to believe in the age discrimination for programmers. I’m just about ready for AARP and I’m still programming in a big corp.

    I find a lot of fellow developers, most much younger, do not keep up. I see other similar senior developers who also do not keep up. imho you have to keep up. I relish it.

    I thoroughly enjoy development. I use it in the Eric Sink definition. A good porgrammer/developer, especially in a corporate setting, must see more than the trees. He must bring more than an ability to arrange bits.

    This field really does require constant learning/improvement. Few people whether old or young are up for it.

    Also, the breadth of work is vast. There might be the major leagues working at Google or at the hottest new startups but there’s a lot of less glamorous work that needs doing.

    I guess I’m like an old baseball player still playing in the minor leagues. The chance of going to the majors came and went but that doesn’t diminish the love for the game.

  24. Sharing your wast knowledge would be a great way, geting in to training institutes or universities and gettig interested students sharpen their skills and creating a new breed of programmers

  25. I recently went through a career transition, took 5months off from a primarily programming position, and explored my own interests and passions.

    I couldn’t help but want to find something that I loved more than solving someone else’s problems. Writing has given me the ability to make up my own topics to pursue, and it may just rekindle my love of coding (startup/freeware?).

  26. “…the marginal utility of that extra experience…” – I’m old and biased, but woe unto the manager who thinks the extra experience has marginal utility. It’s not the C++ per se, but the ten years of dealing with real-world software development: design, debugging, error handling, dealing with users, managing expectations, production support…This amalgam of skills can make projects succeed. It ain’t just the code.

    • I think you may have misinterpreted my use of the word “marginal” in that statement. It probably serves me right for lacing a technical blog with management/economics jargon.

      In this context “marginal” is not used to connote triviality. Rather “Marginal utility” is a fancy/schmancy way of saying “incremental value.” Economists often use it to evaluate whether the benefit of something outweighs the cost, for example adding another factory.

      This article probably explains it better than I could in a comment: Marginal Utility

  27. Writing software can be (and usually is) a very demanding profession by the sheer volume of what one’s expected to know. As your career progresses you have several options, keep programming in that language you spent years perfecting, open a lawn care company or keep riding the technology wave. If you haven’t lost the desire to keep learning you’ll choose option 3.

    The decision one makes is a personal one that requires deep soul searching in order to make the best decision. I for one love learning and have ridden many waves… C (4 years), C++ (3 years), PowerBuilder (1 year), Java (12 years), Ruby on Rails (2 years), and now iPhone development (4 months), not to mention the complementary other technologies one needs to know to be effective and productive (e.g. JQuery, Ext JS).

    For one that has spent 5+ years managing large teams of developers, I have no desire to take that route again. There’s little satisfaction in being in meetings all day, dealing with HR issues and trying to motivate a team to do things even you know are based on unrealistic expectations. Though the earning potential may be greater it’s not worth the tool it takes on your life (personal and professional).

    IMO, programming keeps me thinking young. As long as I can make a living writing software I will continue my current approach.

  28. I am 50 and still programming. Have done the consultancy thing, the start-up thing and back to being a full-time employee. I would disagree about Plan B. I am finding that I am at the top of my career as companies will pay (very well) for experience in designing and developing software. You just have to find those companies!

  29. Another option, which is a variation of the “lead developer” scenario, is to start your own s/w development firm. Employ a few promising youngsters and hand-rear them to work in your chosen dev style. This works especially well if you’ve been freelancing/contracting/consulting for many years before – through which (assuming you did quality work) you’d have built up a formidable network of satisfied clients and an inexhaustible supply of business leads. Plus you get to coach your team (satisfying the urge to share your hard-earned skills), and do some dev yourself (on the tricky bits, or to establish app frameworks for the juniors to flesh out) and keep your skills current. I’m 42 and have been developing since I was 16 (yes, DBase on the first IBM PC! Z80 Assembler on the Sinclair ZX Spectrum! Woot!) and yet I know more about C# and .NET than any youngster I’ve recently met…

    • I loved your profile – you are 42 (at the blog time but now 47-48) and still going good in coding. I am 42+ and still do design & coding and create software that runs businesses.

      • Not quite, more like 43 (almost 44). Also, I program once in a while to stay sharp, but I’m almost exclusively doing management now (of programmers).

  30. I’m a programmer in my mid-50’s and my plan B was to go back to programming. In my late 30’s and early 40’s, I moved up to management, but realized I wasn’t happy. During that period, I spent my free time working on fun programming projects, learning new languages. I didn’t spend it on learning better management techniques or polishing performance reviews. I finally burned out, took some time off, then came back with the explicit goal of not having any management responsibility. I was fortunate to have connections who understood this.

    There’s an old saying about writers: “A writer writes”. The same is true of programmers, “A programmer programs”. If it’s not in your blood, if you don’t do it even when you’re being paid to, then you aren’t a programmer. I believe many people eventually leave the field because they don’t have that monkey on their back.

    The problems I now face are age old ones: old age. My vision is beginning to fail, I’m having recurring shoulder and arm problems, I’m overweight. Sitting in front of a computer for decades is not the most healthy environment, and although I take steps to exercise and get medical care, I realize this job (like many jobs) is killing me. The monkey, though, he doesn’t care…

  31. […] In response to , Programmers: Before you turn 40, get a plan B, I found this great comment – Disclaimer: I didn’t read the full article. I can’t […]

    • I am starting to learn Javascript, CSS and HTML coding at age 35. i am in india and I have lost my job in a call center. The call center had a client from UK but client took business away and it got shut down. Now I cant find any job in any call center because there are few call centers left in India. Most of them have gone to other cheaper destinations. I did not anticipate this kind of situation. I am constantly getting rejected in job interviews. Interviewers and HR managers are not willing to employ me as they are getting plenty of college grads fresh out college, universities. Many managers have turned down right rude and refused to offer me a job because I am too old for the job. I am desperate and I want to add some skills to my resume so I can at least get a fighting chance. I am the only earning member of my family and I am not even married. I support my parents and siblings with my salary income and now I am worried sick. I came here to get gain some confidence but feel even more depressed after reading the comments.
      If this is the situation in US, imagine the reality in India!

  32. […] This post was Twitted by mylkqueen – […]

  33. All he said ws true. I always remembered seeing guys in their 35’s to 45’s applying for the same job when I got out of college. Yeah, they had 10 years experience, but they had less experience in the programming language that was being used at that time . It was a scary thing to see because i know that I might be that guy one day, but what made them weak was their communications skills. They were just quiet in general. You need to speak up and be a team player and talk to different deprtments instead of the same ol computer buddies at work.

  34. Greetings,
    While the article is 3 weeks old, it showed up in a blog I follow today, my 40th birthday. 🙂 Apropos.

    I’ve spent nearly 20 years programming professionally, and I started programming 10 years before that. I can’t stop. 🙂

    I’m not looking to go up the management ladder, as that would mean I’m not programming anymore. Some companies offer a technical ladder, which has always seemed more attractive to me. (Architecture, essentially.)

    The biggest concern to me is the Marginal Utility of skills argument. I could easily accept my income plateauing, especially roughly where I was at my last full-time job, but the idea of not getting new jobs…that does worry me.

    All I can do right now is try to sell some software I’ve developed (my Plan B), and look for the job where they want what I can offer.

    — Morgan

  35. There may well be a pervasive bias against older programmers for any number of reasons. It shouldn’t be overlooked that older programmers often have families, and many shops expect the programmer to turn in family-unfriendly hours.

    That said, older programmers are some times their own worst enemies: Programmers who don’t keep up with changes in technology are not infrequently given to ranting against the changes that they have not kept up with. Bitter invective hurled against, say, object-oriented programming, rarely inclines interviewers to hire.

    • Hey, you kids, get off of my code!

      When I was your age, we had to walk six miles, uphill both directions, through a snowstorm, just to compile a FORTRAN program! And we were happy to do it!

      These young programming punks today got it so easy. They don’t have to worry about getting paper cuts from punch cards, or dropping a reel of 1/2″ mag tape on their foot. I bet none of them even know what a patch cord is!

  36. A lot of people in the software development profession just aren’t suited to it, from what I can tell.

    They went into it for the wrong reasons e.g. just money.

    These people tend to burn out and hopefully leave the profession .. I say “hopefully”, because some of them become managers – they hate their working lives and make sure that all their colleages end up hating their jobs too.

  37. Well, I’m going the other way. I’m 42 this month, in another profession now, and am back in college to learn programming. I have done light programming here & there over the years, and enjoy it. First started in the 8th grade on Tandy computers… Making this career change will mean taking a pay cut, but money isn’t everything. And the overall job outlook for programmers is pretty good. Programming is my Plan B. As for “moving up” to management…well, a large percentage of “managers” are overweight, stressed out, divorced, borderline alcoholic, 1st heart attack by 50, etc…so be careful what you wish for.

  38. Unionize, you lazy wimps! You are the back-bone of a new industry. You need to take control of it and get back what you put in. Granted, creating a closed shop might cause some problems for the university/industrial complex (that make huge cash selling degrees that are essentially passports to misery) who might have to cut back their output. But perhaps part of the problem lies in the fear and apathy that is generated by the education system in the first place. Too much brains…not enough cock ‘n balls!

    • Yeah, that’s EXACTLY what we need in programming, a union. I’m sure silicon valley is so envious of Detroit right now. =)

      Actually, I think a programmer union does exists. It is called something like the “Programmer’s Guild” or something. I don’t think it ever got much momentum though.

  39. I’m posting comments in some detail at my blog, but I wanted to suggest: An edit with the word “aborting” might not be the best word choice for a post where the title includes the phrase “Plan B” 🙂

    • Ack! I can’t win. I’d scrap the whole post if it wasn’t responsible for attracting an extra 30K visits to my blog today.

  40. The effect is real, but the cause isn’t so clear to me. At 54 I’m not finding it outrageously difficult to find work, but then, I didn’t finish school until I was almost 40 (BA,MS in CS.) What I do see around me is two powerful and related winnowing effects:

    (1) it’s inherently a burn-out profession. It’s like studying for finals permanently. Very few of the neuro-typical can maintain the sheer interest required. There aren’t that many 40 year old gamers, either; they grow out of it.

    (2) It’s the most skewed field I know of in terms of productivity. In what other field is the difference between the productivity of the best practitioners and the productivity of the average practitioner is so extreme? An average auto mechanic does a decent job, and a top mechanic does a great job a little faster. Both cars work fine when they’re done. But a top programmer like Richard Stallman, outperforms a legion of even excellent programmers. It’s like pro basketball: an NBA player isn’t “better” than the best basketball player you’ve ever known—-he’s almost a different species. And a top NBA player utterly demolishes a good NBA player. I’d claim that the steepness of the skew in software continues even at less stratospheric levels. IME, the best guy, or best two guys in your twenty person start-up is often more valuable than the other 19 put together. They set a burn-out pace, but even more, a burn-out climate it’s tough to be merely very good.

    Other fields with highly skewed distribution of rewards seem to have similar patterns: art, acting, securities trading. Chasing brass rings is a young person’s game. So yeah, geezers like me are a rare sight, but speaking as a geezer, I’m not convinced yet of the cause.

  41. I’ll be turning 57 next month, and I’m still busy writing software (C++, high-performance graphics). Hope to be able to do that for several more years, just like my friend Bill, who will turn 74 this year.

    But I have in place plans B, C, and D. And during the time in 2002 when an ad for a C++ programmer would cause a traffic jam that made the evening news, I had to fall back on a couple of other backups (one of which didn’t work very well).

    Plan B is teaching concealed handgun license classes. Thanks to BHO, that side business is now netting me almost as much as my day job.

    Plan C is teaching children (of all ages) how to play a violin (yes, I have been a professional violinist since before I graduated from high school). Plus, I have done ok picking up the occasional wedding gig. Would not mind getting back into a Celtic band. I’m even expanding my musical skills by taking piano lessons, and contemplating returning to school to get an MFA in viola performance.

    Plan D is a mix of software contracting, webhosting, website maintenance, affiliate sales on the internet, speaking, and other fun activities. Right now, plan D is earning only a miniscule amount of money, but I can see good potential there.

    In my spare time, I sometimes eat and sleep.

  42. I put up my comments at!51B088CB629542CE!238.entry

    Great post, btw. I spent hours last night chatting with various friends about it, some in the industry (and pushing 40) and one just entering it at the ripe old age of 24. My girlfriend is a consultant as well and is facing the double danger of being over 30 *and* female.

    One friend commented to me today that he thinks this is very different today than in the late 90s startup mania. He sees many surviving companies that have mature products and mature codebases and which demand that a reasonable percentage of their team have experience and a willingness to work with stable, predictable technologies and practices. At his company (a successful, over-20-year-old business fax and telecom company), very few of the engineers are under 30 (and he himself turns 40 in a few weeks).

    I like and agree with the general gist of your post: age is mistrusted (and often discriminated against) in our industry and a wise engineer will plan to mitigate that. I listed some alternative mitigation strategies and added some comments for the hiring side to address prejudice head on.

    I also like to look at posts for presuppositions, assumptions, and implicit beliefs, btw. It’s a fascinating hobby (and very good practice for working with a new team as a consultant trying to shore up their dev process and save their failing project). I’m told it can come across as harsh; I haven’t figured out why, though.

    (For example, the Peter Coates comment is directly above this input field: I notice the statement “best guy, or best two guys in your twenty person start-up is often more valuable than the other 19 put together. They set a burn-out pace” presupposes that “best” implies “burn-out pace,” implying that speed is a very high value for Mr. Coates. It may not be the highest value for everyone–it isn’t for me. The repeated use of “burn-out” also has some interesting presuppositions.)

    Thanks again for starting the conversation!

  43. Speaking from the Indian Subcontinent what you say is correct, but even before 40. Engineers here gets pushed to their limits very early in their careers and the flame goes off pretty quick. The norm here is going to the ‘Dark Side’ since consultancy is for BIG Companies…duh!

  44. […] mean 60+ but rather approaching 40 when your face starts to show wrinkles. Don’t trust anyone above 40 in a field that devaluates cumulative experience in favor for reinventing the wheel or so. Better […]

  45. […] stop being like the Grasshopper and start being more like the Ant. Spurred on by articles such as this one, that remind me of how the sand is falling quicker than I’d like, I’m being forced to […]

    • I have 20 years experience with a CS degree(MS). I currently working as the Chief Software Architect at a small software company. I’m 36 years old now and around 30 I started looking into switching to something else because I was burned out. I love software development so I stayed. I’m currently bored out of my mind at work. I constantly read software development magazines and books to stay current.

  46. Two obvious options:
    Become an independent consultant – people will look more at your credentials and less at your age.

    Option 2 (maybe in combination with option 1):
    Don’t mention your age if you can get away with it.
    Absolute worst case: lie if you think your age will be a problem and you can get away with it without breaking any laws or contracts (ie. it’s a “white lie” that is not illegal and wont hurt anyone).
    If it is not absolutely necessary for you to divulge your age for legal reasons (legal reasons are different than “corporate policy”), then it’s none of anybody elses business.

    • Absolutely at no time do you need to disclose age, marriage status, social security number (in the US) for any job application. Only AFTER hiring do you supply the social security number for taxation purposes.

      but “Become an independent consultant “….. go ahead. Give that a shot. Its not as simple as it seems. Trust me. 🙂 Its rewarding and its a LOT of hard work – yes. But its not simple. its much more simple to stay in that cubicle which is why most do and then burn out.

  47. I propose Plan B for some people might include expanding your geographical market to areas where your skills are in
    demand because trying to effectively upgrade your skills to a totally new toolset or moving to
    management (if you are prepared to do that) are not, in my experience, realistic options.

    I have been programming for 20 years and I am in my mid 40s.

    The problem with keeping up with technology, for me, has never been the lack of desire but the lack of
    opportunity to use it in a commercial environment. You can sit at home and teach yourself the latest
    flavour of whatever the latest tech is or do a recognised course or under take post grad studies however,
    I have found that without 2 years commercial experience on your resume and referees to back it up you
    have no chance of getting a job using that technology.
    Many companies themselves are slow to adapt to new tech (possible exception being companies based on tech) as
    they percieve it as high risk and they are therefore less likely to give current employees without
    commercial experience in the new tech the chance to use it as this would simply increase the perceived risk,
    instead they would rather bring in experienced people from outside.

    As far as moving into management … how does that happen? Assuming you want it, why would a manager move someone
    who is good at their job into a completely different role that they may have no apptitude for.
    Make no mistake a good programmer can make the managers job a lot easier and give them one less thing to worry about,
    something all managers appreciate. Besides, which management role are they going to take on …. theirs??

    I really dont see the move to management as an option for most programmers as in the last 20 years I have worked for
    7 separate companies from small software houses to multinational banks.
    During that time I have worked with over 100 programmers on small and large scale projects and only once did I see
    a programmer moved to a management position.

    I unfortunately started my career programming in a boutique language and despite taking
    numerous study courses have never been able to break out of that area. The market is contracting for that tech
    due to a number of reasons including corporate bankruptcies, takeovers and outsourcing.
    As a result I have been forced to find work abroad for the last few years.

  48. If companies didnt outsource our jobs to India, so that the CEO (and some upper management friends of his/hers), can stuff more money in their wallets (and lets face it, its only they who benefit – not the consumers of the end-product nor the rest of the company), then maybe a lot more programmers would still be in their jobs.

    Its not just a current buzzword or cliche – but it all comes down to greed, folks. You may not see it and you may not want to admit it once you did get a glimpse of it. It IS all about greed. How much money can that CEO stuff into his wallet before he retires and screw everyone else – shareholders, customers, employees and most of the management. Just some executive friends and the CEO will walk away.

    This crap has to stop. Walkouts, unionization, strikes – stuff that we PROGRAMMERS should have done years ago when we were TOLD to work OT without pay and made feel horrible that we actually took a vacation for a week. God forbid we were actually SICK and had to stay home with that absurd blackberry ball and chain checking up on us every few hours. Not on our health but on technical questions that need answering.

    Maybe it is better that we abandon this field. Let the people in India produce all the US corporate software for $10-15/hr. I’d rather work at Borders or Starbucks and have 99% LESS the stress and BS.

    • That looks like a pretty big chip on your shoulder and you make some pretty harsh claims that are grossly unfair.

      Companies don’t exist to provide you with a job any more than you work for them because you want them to make money. It is a business transaction, the company needs the services of employees like yourself to further their ends and you agree to help them in exchange for a salary that is mutually acceptable to both parties. Complaining about a company trying to maximize their profits is like complaining about a fish swimming too much. That is what they are created to do, and expected to do by their shareholders.

      Your caricature of companies as a pile of gold sat upon by an evil greedy Montgomery Burns figure is comical. The beneficiaries of company profits are none other than you and I. At the same time you whine about your 401K tanking and your grandmother’s pension getting cut, you demonize the decision makers who are doing the best they can to support the interests of the organization and those who have entrusted their savings to fund it. Ultimately I think you are confusing a for-profit company with a charity.

      Equally ridiculous is the thought of promoting a labor rebellion when you work in a field that can pay upwards of six figures, in an air-conditioned office, with no no manual labor, and doesn’t necessarily require a college degree or post-graduate work. You belittle the sacrifices and hardships of the people who created the organized labor movement because of minuscule wages and hazardous work conditions.

      Before you get on a high-horse about greed. You are angry and suggesting programmers throw a temper tantrum because sending some jobs to an impoverished country that desperately needs them is infringing on your right to command a salary that puts you in the top ~25% in the US and EASILY in the top 1% globally in terms of annual income (even entry-level US programmer salaries). That CEO is doing it because that is his actual job. what are your motivations for protecting your lifestyle at the expense of people who could do the work and it would make a much larger impact on their quality of living, a bigger HD flatscreen tv?

      • your pro management comments are partially true..but making the USA a third world country by sending off jobs to third world shitholes isn’t going to make America stronger..

        • We have quite a ways to go before we the US falls from the top of the 1st world countries to a 3rd world country.

          Also, why do you think the ultimate goal is to make America, that is already in the catbird seat, stronger at the expense of 2nd and third world countries? I’m not saying that I wouldn’t prefer us to have a thriving economy, but isn’t a better priority to pursue Global well-being than localized prosperity? Especially when it only comes at the expense of letting people who are willing to work hard earn a living and not simply from entitlement programs.

          The answer to keeping jobs is to be a more competitive source of labor, not protectionism. That is, strive to demonstrate the value that sets us apart even if we are a bit more expensive.

      • John, I think you are a bit extreme in your criticism of Mike, as maybe it would help to consider some of the actions of the past few years. For example, Rick Wagoner, CEO of GM took a 20 million dollar bonus for being fired as CEO, after the Obama administration bailed out GM. Exxon said they needed to raise gas prices to $4 per gallon because OPEC raised its price. Yet, Exxon made RECORD profits from it. You said that companies don’t exist to provide us with jobs, and I basically agree with that premise in general, since we can choose to work anywhere we want. But at the same time, companies should not exist solely to make record profits at the expense of exploiting the worker. Isn’t this why we are supposed to have fair work practices, and why unions were formed in the first place? Yes, I agree that many unions have taken on a life on their own, by creating a protectionism clause for lazy and unproductive workers, but I believe that Mike was only venting his frustration at being expected to work extremely long hours and under too much stress from unrealistic expectations and demands of mgrs who do not understand the complexities of software development. You said that we have air conditioned offices, etc, but how does that balance out the pressure and stress that many pgmrs/developers have to work to a frazzle? I know first-hand what Mike is talking about, as I ended up quitting a job voluntarily because of such things, even as the HR dept said that they could not justify paying me for a db development job that I didn’t have the degree for, all the while, they and my managers insisted that I could not quit because I was not finished on a db dev project. Were they serious? Then, my bosses thought they was getting back at me for quitting, with their negative job references (which I didn’t know I was going to get), which ended up only causing the state unemployment board to agree that they gave me the shaft, and caused them to have to pay me two years of unemployment. Now, I am not saying that I agree with all that Mike said. But SOME companies internal policies and politics do benefit managers (esp upper level) much more so monetarily, and in other ways than everyone else. I have never heard of anyone but top level execs getting bonuses for being fired!!! But CEOs of banks, the Automakers, and Wall Street execs do. Can you really make the argument you have, that companies don’t owe us fair wages and working conditions that they themselves would take nothing less of?

        • I appreciate your opinion and Mike’s and I am the first to admit I’d love to debate the politics with both of you on this. However, I’d like to restrict the conversation to programming and programmers as much as possible and not stray into corporate governance or public policy related to that.

          Yes, I do realize I may have lit this fire, with my response to Mike a few years back, and it is a bit of a cop out to try to not respond to your point. However, I’m hoping to reign in the conversation and keep the blog as apolitical as possible. If it helps, I’ll declare Mike the winner of that debate and move on.

        • Hey, Mike won because King John said so. Doesn’t sound like much of a concession… lol

  49. “The most difficult thing in the world is to know how to do a thing and to watch someone else do it wrong without comment.”
    — T.H. White

    That quote which you included in your post reminded me of something that I have telling a friend – Working on software projects is like being involved in an accident in slow motion and about which you can do nothing. Ed Yourdon might have been very cynical about the fate of programming, but “The Death March” is a very good way of thinking about most software projects

  50. I am here to tell you that burnout in the field is *very* real. I’m 52 and I’ve been a software engineer in the aerospace field for almost 30 years, and I’m ready to eat a bottle of pills. Most of my jobs (verification and validation) have gone to India, and having the FAA breath down my neck on most jobs has taken it’s toll. The trouble is, there are few jobs between the $15 and $50 per hour range. If I “start over”, I’ll be making jack, and like most people, my investments (especially real estate) have taken a beating. I don’t have the option of taking a lower paying, less demanding job. I am actually working graveyard shift because the company won’t buy new computers and desks, so we’re having to double up on facilities! My field left me…

  51. Hey John – Great post. Nearly two years have passed. Did you ever find any reliable metrics ?


    • Well, I have one more reliable data point. I turned 40 since this article was published and I’m still employed. =) You are probably right though, the time is probably nigh for a revisiting of the information from this article. I’ll put it on the to-do list.

  52. John: What I want to know is what will you do when this blog thread turns 40? It’s a fascinating insight into what my colleagues think about their careers.

    I’ve gotten considerably older since I first commented on this thread; I’m almost 57 now, and I’m much happier in my work than I was two years ago. The biggest reason is that I shifted from a series of high-pressure startups to a more laid-back giant mega media company.

    Six months into this job, I came up with a novel keyword-search algorithm that’s since been embodied as real software (by an offshore team) and looks like it’s found a second application here as well. This algorithm derives from an essay by Jon Bentley that I first read in the late 1980’s combined with an idea I had in the 1990’s, as a grad student. Both ideas, in their original form, applied to problems that no longer exist, but the synthesis is up-to-the-minute.

    None of my younger colleagues (who are smart people) had previously heard of the principles, or had ever had any reason to think about the problems that motivated them back in the day, primarily because they were all in elementary school then.

    I can testify that hard-core API-wrangling tends to be a young person’s game, but depth of experience is an advantage in algorithms, and it makes up for substantial rot in the synapses. The balance changes. I wouldn’t want to try to compete with these boys and girls pulling all nighters, but there are plenty of cases where experience trumps youthful energy. Older programmers and engineers have to play to their strengths, just like older anybody.

    So I both agree and disagree with the basic premise. It’s very specific. Some skills have a shelf life and some don’t in all areas of life. You have to move not only with the changes in the evolving industry, but with the changes in the evolving you. Plan B can still be programming, but you have to be as into it as you were back when you started plan A. BTW, programming (as one of the other commentators also mentioned) was more like plan D for me already. That makes this round something like E. But since I can’t even keep my age straight (see previous comments) don’t expect me to enumerate the plans consistently.

  53. I am 62 and I never lost my enthusiasm for programming. I don’t have a CS degree (did they have those in 1971?) but I taught myself everything from Fortran, to Ramis, to Unix scripting, to MS Access and VBA.

    I took early retirement at 48 (which I still think was a big mistake) and planned to do contracting after that. Six months after my retirement I was sitting across from a much younger recruiter at an agency and she said “I don’t know … you haven’t worked for a while.” SIX MONTHS?? I know of people who were in comas longer than that who got their old jobs back. Now that I’m trying to re-enter the job market people talk to me like my last job was piloting a riverboat on the Mississippi.

    I still think experience in a wide range of languages and platforms should count for something, but apparently I’m wrong. Bitter? Oh, a tad.

  54. Boy this is a long page with so many comments. I read through ALL of the comments and also wondering, after 2 years, any update in light of the current software/web industry?

    I think despite of the economy being weak, still the tech industry is doing very well due to the explosive growth of mobile and social networks. So I wonder older programmers could still survive with many hiring opportunities available these days.

    As for the career path, it seems to me consulting is not that easy, as I’ve tried and haven’t been successful. The biggest problem is that you can’t just make a living out of it with consistent revenue stream.

    So, short of being a manager in a stable company, I think the best, although the hardest, is to work for yourself. It is a hard nut to crack, but I guess once you’ve done it, sky is the limit.

  55. Well let me be the first in 2012. I’m 57, fell into programming from an electronics test/dev background, recently redundant, trying to work out the next phase in life. Really impressed with many of the comments to date. I notice “patterns” (isn’t that good programming ?).

    One pattern is “programming is a passion and I burned out”. I’m uncomfortable with that. Programming is a tool to translate a business requirement to a working process. I actually think 90% or programmers do “un-targetted work”, and in that set falls a lot of the “passionate” programmers. Is programming some sort of end-in-itself ? NO. It is a tool to accomplish an end, END OF.

    And “burned out” – I respect the effort that must have gone into that, however, if the focus were “learn what you need to learn to get from A to B”, ie targetted, then burn out may not be necessary.

    My view is ones’ true capability is set at birth, and deteriorates relatively little with age – certainly to 50s’. Two things set ones’ real usefulness, one is experience in a “real” field (chemical engineering has been mentioned), and two your (birth set) ability to translate engineering issues to economically created code.

    I think the age issue certainly exists, but its’ small beer compared to real engineering experience and actual ability.

    I’m looking around for something to do, whatever comes along I will focus 100% on what the business process is, ie what generates income for the company, before agonising over any software issues.

  56. 49+, 6 months ago I decided it was time to move on…
    I put a lot of hard work into a vision that was/is a long stretch and still going…I had/have lost all / ALL interest in the pursuit of programming for the vision. I left other partners behind, who are still going strong.

    Over time I had developed serious talent in C/C++ and high performance graphics programming. Among developing many other processes…in various languages.

    I found myself racing for a finish line that did not exist.
    I wanted “it” to end and “something” to begin.
    Something I would fall in love with as I did programming so many years ago. I would eat up and chew on just about any task for the creation of it all. It was very fulfilling.
    Too much overtime could be the daemon?
    Maybe not enough “plan B”ing on my part?
    Knowledge of understanding for other parts/pieces of business?
    Too complacent with how “things” were evolving?
    All too often it was just “ok” to make it”the solution” work?

    In time, I grew disgruntled, bitter and all the other things that take the body and mind in a bad direction to a bad place. I became a “lottery ticket” $xxx.xx a week only to repeat the performance time and time again. What is/was the use, What is/was the point? Just say “no” more often or at least once.

    I don’t know how long I can continue my new vision as it is not looking up at this point. Yet I do not relish the idea of going back.
    If you do plan a new vision. take the time prior to exiting the old and understand fully what;s ahead of you!
    Take courses and talk to outsiders.
    Keep older partners in the loop.

    I wish you all good luck in staving off the Bad and somehow finding, seeing and doing your passions to your grave.

    God speed…

  57. […] But what is the evidence and what can we do about it? Every few months I still see programmers who are asked to not use headphones during work hours or are interrupted by meetings too frequently but have little defense against these claims. I also fear our declining ability to handle these mental workloads and interruptions as we age. […]

  58. It is true that an average software engineer lose track after 10 years. I myself realizing this at this very moment. In 2006 I entered a leading software consulting company in India. I got trained in a specific software tool/suite to work on a development project. Later in 2010 that software was obsolete (which is not my fault). After that I had no option but to take up stressful 24×7 support work. Then in 2013 I feel out of touch with latest software. Though I am good in java/c# personally, the employers need “hands-on” experience.

    • Yes, its true and 10+ years experience folks.

    • I feel your pain,
      After more than 15 years of software development and multiple employer changes (small successful businesses get taken over and it is always out with the old and in with the new), I found the only way out of the old tech was to take on a support role in the new tech. … lets not even talk about the stress levels, expectations and hours involved.
      It keeps paying the bills but it certainly isn’t a career move.

  59. If the only room for promotion is to go into management, what do you expect? The top people are dragged too far away from their keyboards mentoring, going to meetings, doing reviews, hiring, that their skills will dry up. Hey IT Industry, you find a good programmer, keep them there! Create higher and higher levels of programmer if that’s what the bean-counters require to keep paying them more. Make the bad ones go into management, but pay them less. Yes, it sounds crazy to management to pay those rare individuals doing the work that actually makes more money for the company than managers do. Profitable writers make more money than the editors. Isn’t that the way it is suppose to be?

  60. Burnout is higher for newer grads and younger programmers, especially in America. With cheap overseas labor the pay isn’t what it used to be, and add in the spread of increased pay for executives compared to employees and you realize you’ll never get paid like someone over 45 that’s been there for 20+ years. It’s really hard work, and some stress is involved, and when software fails you hear about it. So if you don’t totally love it and want to spend almost 100% of your time with computers you’ll burn out. In recent times it seems like there are 5 to 10 overpaid managers for every one programmer.

  61. […] But what is the evidence and what can we do about it? Every few months I still see programmers who are asked to not use headphones during work hours or are interrupted by meetings too frequently but have little defense against these claims. I also fear our declining ability to handle these mental workloads and interruptions as we age. […]

  62. Learning new technology becomes inevitable every 3-5 years. To keep getting the same salary or grow further you need to not just learn it but master it through actual project experience, which isn’t always possible. Morevover companies are unwilling to pay you the amount when they can pay less than half of your salary to a fresher. Unlike other non IT fields, we are in a trade where the chances are that as your age grows, we are unlikely to be a hirable choice for an organization mainly because they can get some one with the same skill set in half the salary as yours. Since your IT experience is counted in the years you actually worked on that new technology therefore I think its best to give it up to the dark side of management.

    • At 45 I just graduated with a BS in software engineering, and just landed a new job. My friend who is 55 just landed a job with lockheed martin. In fact most of the jobs around here will only hire people with 5-10+ years experience. One of the new guys(hes 26) fresh out of college said it took him 2 years to find a job. Im just sick of people who let age defeat them. If your having a hard time finding a job it just might not be your age after all.

      • Congrats on the degree and job! From personal experience, I think things have shifted a lot since I wrote this article. It has gotten very difficult to hire really good programmers, so I think employers can no long afford to let their biases rule out a big chunk of the talent pool. Also, I’ve seen the average age of programmers I work with steadily increase. I’m thinking the issue of age discrimination against programmers might be just growing pains for the field.

  63. I also wanted to say I was a machinist for 15 years before entering into software. I was so burnt out on that it was horrible. Im sick of people saying you get burnt out. Well you get burnt out on any job. Go see how long you last working as a landscaper.

  64. All the old programmers in my workplace end up taking various managerial positions within the company. As a result, they are not programmers any more, but get paid more for their work.

    • That doesn’t make sense to me. You must not have had that many software engineers at your work. In addition I’m also surprised that people left their managerial roles to open positions up for people who are 40+ with no managerial experienc.

  65. […] Then there’s is this thing: I’m turning 36 this year and more and more, I’m feeling like having a bad midlife crisis since about last year which i don’t want to smother by buying stuff or pouring alcohol down my throat. I’m struggling to put myself in a position where i have the feeling to stay relevant in geezer town. […]

  66. […] industry, or just an unfortunate current-reality.  One pragmatic thing we as individuals can do is have a backup plan.  Look out for number-1 first.  Apply the oxygen mask to yourself before assisting others. […]

  67. I am seriously considering second option

  68. […] Programmers: Before you turn 40, get a plan B by John Fuex […]

  69. After 20 years as a coder I finally moved into another field last year. It’s unlikely I’ll return to coding jobs, although I still have a few sidelines I do for fun.

    I left behind a long rant about the abysmal state of the industry, especially as far as recruitment is concerned…

    Well remember anything you learn in IT is highly transferable into other, more rewarding careers.

  70. My goodness, how naive you are.

  71. What about doing a follow up to this article? Almost 10 years have passed since you published it and 2019 is a really different world than 2009.

    Myself, which I have recently turned 40, I just can say I’m puzzled. I feel like the industry has become a mess on every level.

    The only thing that I find constant is that the pyramid has been divided in 2. The upper layer (PO, SM, PM, Coach, etc) which is a mess with no clear career paths but safer, and the lower layer (Dev, QA, DevOps) which is also mess but really unsafe because people there are seen as glorified Jira ticket solvers no matter their seniority.

  72. […] Programmers: Before you turn 40, get a plan B by John Fuex […]

  73. […] Programmers: Before you turn 40, get a plan B | Improving Software […]

  74. If you are just a programmer, then you will be expired way sooner than your 40s. Your value as an employee is based on the profit you generate or you help to generate. If you are not making the connection with clients, if you are not bringing in business, if your experience is not something that businesses want to pay for, then why any business has to keep you hired?

  75. Reblogged this on Development Seat and commented:
    A little bit of sense to help in identifying the path to follow in this career.

  76. Do you still think this is true for programmers in 2020?

    I’m a programmer currently but looking to make the transition into a business owner (health insurance related). One of my motivating factors is that I’ve always been told programmers sort of “age out”…which I find terrifying!

  77. I left two years ago to drive a commercial vehicle. Best choice I ever made. I now make 80k a year driving a dedicated route, so home daily (and if not employer pays for hotel room). Class 8 drivers are in demand, REALLY in demand (not IT/STEM where its a joke). Sure, I make less money, but I now make 80k in a low cost of living area, so its made up for 10 fold. Oh, and age/experience are 100% valued here.

Leave a Reply

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

You are commenting using your 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 )

Connecting to %s

%d bloggers like this: