Ask HN: Programmers Above 50, Is It Possible to Have a Career Past Your 50s?
This article is on the frontpage so this might be a bit redundant but this article points to a worrying reality that we young programmers don't want to confront.
http://blogs.law.harvard.edu/philg/2015/04/
Many people just dismiss the issue by saying , "If you don't stay with the times then you deserve to be fired" but if MIT Grads , who are in the 99th percentile of ability and pedigree are in such a bad situation then one can only imagine how bad it is on the ground.
So , I'd like people who've been in this field for decades or those who are above 50 to share their advice and experiences.
135 comments
[ 2.6 ms ] story [ 179 ms ] threadThe gaps between gigs started getting longer and longer. He was on top of his game, stayed current, but yet it became incredibly hard to get a job.
He has thrown in the towel and is now retired. Not because he wanted to, but because he had to. Nobody would hire him.
I don't have an answer to this other than anedoctal evidence. I suspect that it will become less of a problem than it is today as the current younger programmers age. Just a guess, maybe blind hope.
I'm 38 and I'm reading these things, getting a little worried, though I'm a very quick learner and trying my best to stay on top of what's going on (it's getting harder, things move so quickly!).
So it's not just me. :P
I'm only 35, BTW, so my resume is probably not quite as long as yours. I have thought about dropping my publication credits and shortening it back to one page, though.
The major problem for older programmers is that people believe that the ability to learn decreases with age. I think I've seen some research to back it up, but it was more about willingness to learn, as well as having to let go of long-held ideas.
For example, few grandparents will figure out how to use a new smartphone as quickly as their grandchildren will. It may just be because the form factor is new, and they have to forget a lot of their understanding of how such devices work. It may also be that they no longer want to invest the time learning something that won't pay them back before they die. (That may sound harsh, but my dad, who is 72, often gives this reason for refusing to learn how to use a smartphone. In his mind, things change too rapidly and the time would be wasted.)
Another problem is that older programmers have higher salary requirements. My company interviewed (and eventually hired) a 60-year-old iOS developer, and he asked us for double what the developers in their 30s were asking for.
(It's also a lot more expensive to pay for health benefits for an older person, but it's not that much compared to the salary issue.)
I hope that a solution could be provided by the anonymity of the internet. Perhaps older programmers could truncate their resumes and remove the years they earned their degrees, and then they could find contract work. I personally have had many contracts where the client had no idea how old I am. Toptal might be a good option.
I've never understood that viewpoint either - nobody ever says "if you're still a doctor or lawyer after age X you must be lacking Y"
I think this stereotype/assumption (east coast, FWIW) - is probably due to the radical uptake on the field. There are a lot of young people, and that's starting to die off a bit more as computers are "a given" and those people themselves get older.
Simply put - there will be a LOT of people in this bracket in not too long, and a lot of useful work to do. This group will also have some of the most architectural experience.
My last company had most of the developers in their mid thirties (as am I), for instance. Admittedly, that's not over 50, but larger companies tend to skew a bit higher in that direction.
New startups also generally pay less, which is also a reason more experienced engineers sometimes don't go to new startups - or even seek out larger companies. While there are some aspects that may be boring, larger companies also have more resources, sometimes have more interesting labs, and while you can see and change less of the system, you are less apt to have to deal with certain parts of the system you don't want to deal with too - because there's more specialization and organizational seperation.
As people get older, there's simply not going to be a management job for each of them, and not everyone is going to want to do management - and that's great. Management is not "better". I suspect the ageism will go away simply as more people get older and realize they too are not just out of college anymore.
And having that experience is good for everyone.
Hopefully it also slows down the rate at which javascript programming frameworks are replaced as these folks also get tired of replacing things every two weeks :) Ok, kidding on that last part.
Anyway, my guess is ageism in tech isn't really proven yet. it's a theory, based on the wrong assumptions.
However, yes, if your company is still shooting nerf guns at each other, and irresponsibly managing release schedules to be in constant crunch time, a wide amount of people aren't going to want to work for you.
Hmm, I like this, and I think you may be right.
Unless you worked in a pretty scientific field, just 25 years ago "computers" were associated with games, and were something that "kids used". Now they're ubiquitous. And this just happened in a generation or two. Over the next couple of decades, the workforce will be chock full of people who grew up programming, or at least tinkering.
Are you sure? 25 years ago I was around ten and I knew a ton of people with a NES, but computers were expensive and stuff for Serious People.
If you work in IT, you would have had to constantly keep learning. If you stagnate, you would be unable to use technology that is relevant any more. In the analogy of the doctor, you would stop being able to service patients because new diseases have come around that you can't treat.
Now the fact that once you get older means you have kids, have commitments, probably get tired and want to rest after you get home from work, it means you have less ability than a keen 25yo able to work long hours.
Testing - Just confirms it works PM - Just ensured its delivered Programmer - I did that....
Yes I could earn more money as a PM but I'm happy with what I get attached to the sense of achievement of "I created that".
Perhaps the real issue is that IT is still relatively new and as the industry ages ageism will change.
Sounds like bigotry to me.
Having said that, yes, those in technical professions can be vulnerable. A neighbor, an electrical engineer, got pushed out between 50 and 60, and never again found paying employment. My father, a geologist, got caught in a purge of better paid employees when he was about 50, and took a while to find work again.
And I've personally hired a developer in his 60s for a startup. He was retired but just loves to keep programming and so took up some work with us. He seems to be in reasonably high demand as another company has been trying to hire him in the last month too.
As we've gotten more open source software out there and faster computers, programmers are naturally moving up the stack using higher and higher level languages. Where before you needed hand customized C++ (with some assembly!) to do something you often will now use a scripting language.
But in doing so a lot of hard core engineering and architecture understanding is dissipating.
People pick node because it's hot without knowing enough to know that it's going to be a problem for a large project, etc.
I've seen engineers toiling away with the wrong technology experiencing great deals of frustration but not even realizing that its' because they have the wrong tool.
I think a big part of the problem is that companies are too often run by business people who don't understand software. So the managers of programmers are often not programmers. (It should be engineers all the way up to the CEO, and including the CEO if you're a technology company.)
So we have business guys picking technology stacks and stuff like that.
Engineers have been commoditized, and they feel like we're interchangeable cogs, the certainly don't know enough tho tell the difference between a mediocre and good backend or fronted engineer.
And so, of course they don't value experience.
Over time people retire, some retire young, and so teams shouldn't have an even distribution of ages, but they do need wisdom. So, somebody should be wise on each team.
The lead developer at my current company is in his mid-50s and he's as interested as anyone I've known (and more interested than a lot of engineers I've known) in learning new APIs, etc.
I know, anecdata and all that :)
If I had to extract any pattern I see with older developers who are doing well, it's that those who can connect together a life of experiences (such as with electronics, management, medicine, law, or other areas they may have worked in) can really make more sense for many projects than less experienced developers. It's no coincidence that it seems to be the older developers who are the TDD, BDD, Agile, etc. gurus - they're the ones with the years of experience of dealing with people and applying that to our discipline.
There's a whole 'nother set of life challenges that we face in our middle years. Most folks do almost nothing to prepare themselves for these challenges, and that becomes increasingly obvious with age. But it's not simply the age that matters.
We all have a LOT of "life decisions" to make between the ages of 18 and 35 (or so), and I think most people make many bad ones. In a country where 2/3 of the population is overweight-to-obese, you can't very well look around yourself and say: "These folks are making a lot of really good decisions!" or "I'd like to hire all of you! You look like awesome, dynamic people with lots of gumption and sass!"
Eating really crappy food, and in great quantities for many years, makes you look and feel sluggish. Drinking booze every night after work, often in great quantities for many years, makes you look and feel crappy after a while. Letting yourself get gradually more complacent about your marriage, work, sex life, body fitness, personal habits and all the rest of it makes you look boring and feel bored.
I'm not saying that age-ism isn't a thing. People love to throw -ism's at each other, it's one of the eternal human flaws. But I think that some (perhaps many) people who cry "age-ism!" are not being completely honest with themselves. Most folks seem to let a lot of the air out of their tires as they get older, tend to get stuck in a lot of bad habits, and it shows on their faces, in their bodies, in their attitudes, in their energy levels, and in their eyes. You can't blame an employer for noticing.
I know many 50+ programmers who are doing quite well (monetarily, respect, responsibility, balance). Some independent consultants, some at startups, some with big firms, etc. A fairly wide variety. Not all had to go to management - in fact, I'd say most of the ones I know didn't.
The one trend I've seen is that older engineers that ended up staying with a single employer for the longest (say 10+ years in one job) generally have the most difficulty finding new work when the time comes.
There could be a few explanations for this. One could simply be that people who work for one company for a long time may have a smaller network. That could make job hunting more difficult. Another could be the whole "ten years of experience or one year ten times" cliche.
I do believe there is often some bias against candidates who had extraordinarily long tenures at one company, which may be associated with the thought that these candidates may either be too comfortable at their current job (not need to learn) or so ingrained in a particular work culture that other companies fear that they will not be able to adapt.
Being able to build a career moving between projects in a large firm, where your reputation is always right next to you, would be quite a bit more challenging for the mediocre developer.
You reference a 1:1 ratio between engineers in one role and engineers moving around. Based only on my experience I would estimate that ratio closer to 5:1.
We also had a third category, who were the engineers that worked in support activities like manufacturing and failure analysis. They might have the same "job" for years on end, but the job itself changed constantly.
In software - It's highly desirable for an engineer to be adaptable - Changing companies is a good way to expose yourself to different environments/perspectives (and therefore become adaptable). It's hard to get the same range of experiences from a single company.
This is especially true if you want to become a technical manager/lead (or CTO/CIO) - You need to be exposed to different approaches so that you know what works and what doesn't. You need to have a clear picture of what constitutes a good engineering culture vs a bad one.
Staying up to date (at least aware, if not proficient) should always be a job requirement, whether you are a new grad or industry veteran.
http://markwatson.com/
Point being that it's obvious he's over 50 and also obvious he's a coding badass.
The trick of course is to manage them through that. And that requires both trust and good communication. Trust to know that you will get there, communication to see how things work (from both sides) and be able to match up skills with trends.
Things at my current employer are changing (tech stack; from open source development to Oracle packaged software). It was time to get out. And it was hard. I got told by one company I interviewed with that even after having an in-person interview that I thought went well, they didn't want to proceed because they did not think I would fit "in a dynamic environment." Which was crap.
Fortunately, I found a place that respects the skill set that those last 2 positions helped me build up. Looking forward to the new opportunity.
I think that's interesting, because I was recently involved in a hiring process where we had the opposite view - long tenure was a hint that if we could provide the right environment, that person was likely to stay with us for many years.
Long tenures can indicate loyalty and good performance, but it could also indicate other situations. Perhaps they couldn't get interviews or job offers from other firms. Maybe they got comfortable and found a place that wasn't too challenging. It could show someone that is risk averse (any job change has risk), or who is non-entrepreneurial. People who are overcompensated also tend to stick around.
I have also worked in management, which I don't much care for. In the projects I work on, there are quite a few people around my age — some like me, others of the legacy tech variety. I think — some significantly older than I.
I don't think working past 50 is an issue if you have the skills and flexibility. But don't expect your salary to keep arcing up exponentially the way it does in the first few years.
There going to be people who won't be able to at all those ages, but what percentage is the question.
Anecdotally, I'm 49 and getting better and better (great yearly reviews as well) so it's true for me. So the answer the the questions is "yes", but that doesn't help much.
The phrasing of the question simply re-enforces the stereotype that older programmers lack the drive, energy, quick-learning ability and so on that young superstars are supposed to have.
The reality is that of course older programmers can have a career, but they have to fight against those stereotypes, which appear to be endemic, at least in sillycon valley, and not to mention the lower wages that the capitalists want to pay these younger practitioners.
The question could (and should) have beens asked as "What should older programmers do to highlight the advantages they can offer due to experience, and how to combat the stereotypes and rapacious financial exploitation that the industry exhibits.
I used to be in general management, but retrained as a programmer because I love the tech, and to be location-independent. With today's development tools I am as productive as a team of ten back in the day.
It is strange to me that old people are pushed out of the industry.
I mean, with modern computing, the cost for creation is very low, so it seems like with some effort and a lot of knowledge (gained over a 30 year career), it shouldn't be too difficult to create a living wage outside of standard employment.
I mean, as long as you aren't looking for that billionaire breakthrough and constantly trying to figure out burn rates.
Edit I would add that my current job the majority of developers are late 30's early 40's similar to myself.
I think if you're not over-specialized that you can still do well. Doing be a person who just writes device drivers, or just does web stuff, or just writes toolchains. Do it all, and at depth when you can.
I tend to get into projects that are 2-3 years in scope and involve actually shipping new technologies at consumer scale. This will teach you all kinds of interesting things, from fundamental product underpinnings to making devices manufacturable.
Keep coding, that's for sure. It's not a young person's game if you keep at it. My father in law retired, a firmware engineer, at 75.
When reviewing job reqs, I see the opposite. Outside the web and mobile arenas, companies seem to want people who are highly specialized in what they do.
I did real-time radar signal processing for six years, and hardware production support on radar electronics for 3.5 years prior to that. I can't convince anyone that these experiences are easily transferrable to other areas such as robotics and medical devices. In fact, I don't even get the chance; hardly anyone will even give me a phone screen. Yet I have been doing NLP for the past three years and can't get recruiters to leave me alone about it.
Some organizations don't like this. They want to pigeon-hole you as "the mouse driver guy" or whatever, and when your company stops making mice you're in trouble. Avoid these places if you can.
We are also looking for pretty specialized people, but there are none. So we will take also those, who are willing to learn. The downside is, that the money that goes to their training would be theirs, if they already knew what is needed (i.e. they cannot ask for the same money/benefits as those who are "ready made").
We are also based in small country, where everyone known everyone :).
Put it this way, if you do not find keeping up with current technology interesting and fun, then you probably should not be a programmer
The one truism is change and you absolutely must follow the trends. When web work migrated from monolithic stacks like ASP.NET to front-end smorgasbords based on JavaScript, I had to learn a lot of JavaScript frameworks. This was not easy on my psyche or my personal life, but the work paid off and I'm still employable.
I think living in a diverse economic area like Chicago helps. Chicago has finance, healthcare, travel, food service, consulting, and a very healthy entrepreneurial community.
And most importantly, I still like what I do for a living. I'd certainly trade it for other things (I'm not fond of sitting all day anymore), but as careers go, I feel pretty lucky.
Right now: Scala, Node/AngularJS, Ionic. Use GitHub, CircleCI, and deploy to Docker clusters. Use JIRA to stay sane.
Worked at Oracle, so traditional database (DBA level) and now use Couch + Mongo.
Do my own UI/UX. Can do Photoshop -> LESS/SASS/CSS. Know how to get Gulp to generate spritesheets :-)
Go to tech/programming conferences and meetups.
A full-stack unicorn. How's that for a VC?
I don't know that I'd recommend rolling the dice like I have, but if you keep yourself curious, fresh, and focused on solving problems people have, I think there are ways to beat ageism.