Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Is software engineering really a dead-end job after 35-40?
84 points by dosy 12 months ago | hide | past | web | favorite | 61 comments
Reading this: https://www.quora.com/Is-software-development-really-a-dead-end-job-after-age-35-40

But it seems grey bias is deep rooted.




I _started_ working as a developer when in my mid-30's. I am 50 now. I get paid more than I did when I was younger, and I generally have less trouble getting a job. However, two caveats: 1) your age is not necessarily held against you, but it also doesn't buy you anything. Expect to need to learn new skills every year, just like your 20-something coworkers. 2) the older you get, the easier it is to feel snarky about every new technology that comes along, and nobody wants to work with that guy, even when they are sometimes right. Suppress the urge to pour scorn on every new library/framework/language/architecture that comes along. If it is actually that bad, then it will become apparent. In the meantime, see what you can learn from it.


Thank you for number two. Enduring the (perceived, not necessarily objective) idiocy of cargo culting and reinventing shinier but crappier wheels can be tiring.

On the other hand, there are always amazing new ways to think about code, new languages, new perspectives.

It’s an exciting field.

P.S. if you’re over 40 you owe it to yourself to read Dan Lyon’s Disrupted. He’s also the guy behind Fake Steve Jobs blog.


Number 2 is very common even among 20 year olds. I'd hate to see what happens when they turn 50.


As a gray-haired programmer who happens to be on interview teams, I interview a lot of older candidates along with a team of younger professionals.

It's not so much their age, but rather they have a tendency to be set in their ways, are less eager to learn and explore and change.

On a personal level, I'm impressed you've stuck with Perl all these years, and I'd love to nerd out with you over a beer later. On a professional level, I'm wondering if you're an inflexible curmudgeon.

Also as an older person, you're going to be expected to have some good basic management skills and wisdom. It's just the course of human nature.

Another couple of anti-bias tactics:

1. Dress nicely and modern. I see a lot of candidates who wear a suit that looks like its been slept in, or it looks like a suit they bought in the 80s. I'm not telling you to wear skinny jeans and Supreme shirts, but just dress relatively clean and modern.

You can get away with a lot on this front as a youngster, but it really works against you once you become one of us grays.

2. Stay fit/eat right. It doesn't do you any well if you're old, and overweight, and breathing hard during the interview.


I believe (vanilla) software development is a young man's/woman's game. I realized this last year at age 38 and I've been rapidly trying to alter my career trajectory.

- If you aren't a specialist, you are constantly competing against 20-somethings who will always be more current in their skills and breadth than yourself, because they have more free time than you have (e.g. I have a wife, kid)

- I've written GUI widgets from scratch, servers from scratch, same thing with linked lists, sorting, etc. Guess what? That doesn't likely justify an ever-increasing salary. No one cares.

- Older programmers tend to be very opinionated and have lots of war stories. This gets on peoples nerves. The stereotype, based entirely on truth, is that they are cranky and hard to work with.

I don't believe the same is true in specialized disciplines like engineering or modelling/simulation, numerical programming, etc. A 40, 50, 60 year-old engineer/mathematician/analytics developer doesn't have the same stigma. Those decades of experience are invaluable. The fundamentals of engineering or statistics aren't being reinvented every 3-5 years. Web development skills that are 5 years old are literally worthless today. Aside from general problem solving techniques, unless you've really specialized, the stuff you developed 10-20 years ago is of minimal value today and that experience (writing software that is now obsolete and could now be written in a fraction of the time, likely!) doesn't make you competitive against younger programmers.

My takeaway was to go deep as possible into analytics and math. AI, ML, anything that requires heavy math background, those are what I'm focusing on now.


Younger developers are way more naive and out to prove their skills by engaging in any fool's errand they are presented with. Older folks have a lot of heuristics and experience that pushes them away from conventional collaboration and makes them unwilling to engage in negative work or emotional labour.

There is definitely a middle ground, I believe emotional agility is at the heart of 'true' agility and the emotions have been highly overlooked by people who either master the art of bottling it up (looking at you former managers) or brooding (that's on me and many of us I believe)

The middle ground is becoming aware of the spectrum of unpleasant emotions and learning to feel in more depth while using intellect to guide your own actions.

For example, one can sense disgust at a certain codebase. That's perfectly acceptable, and it doesn't have to be anyone's fault. The disgust will drive us to want to improve it. Unfortunately, our managers tell us `bottle up your disgust and do some more disgusting things so we can ship` in which case young guys jump to the challenge and old guys tend to feel completely undervalued.

Edit: this statement is intentionally opinionated. It's alright to have an emotional reaction to it. I'd be interested to know what emotions it evokes in the reader.


The stereotype, based entirely on truth, is that they are cranky and hard to work with.

That's kind of full on ageism don't you think? I am an older developer and I am easier going than some younger members of my team who are very aggressive and overly emotional when discussing technical problems.


An example for your specialist skillset theory: Simon Marlow being hired by Facebook. Guarantee he's raking in the dough. Why? He solves hard problems.


I have the opposite experience to be honest. I'm 42 and don't see anyone being way ahead of me due to their age or stamina. Maybe its because I didn't start this career until my mid 30s though.


in my view, the grays are better at vanilla development, while the upstarts want to spend their time diving into an endless parade of frameworks. freaking annoying.


You could easily go into Business Intelligence. That area is full of consultants who get tons of cash for just knowing a single database or application and spending their days at customers helping them use it properly.


> I believe (vanilla) software development is a young man's/woman's game. I realized this last year at age 38 and I've been rapidly trying to alter my career trajectory.

Whether you think you can, or think you cannot: you're probably right.

How come I came to the opposite conclusion as you with similiar family obligations...where else can you earn 120k USD and work remote to spend time raising your children and banging your wife in between coding sessions throughout the day

> If you aren't a specialist, you are constantly competing against 20-somethings who will always be more current in their skills and breadth than yourself, because they have more free time than you have (e.g. I have a wife, kid)

I'm assuming that your wife is stay at home? In which case you would have more free time, not less.

On the other hand, if she works... then I understand.


This following is meant this in sincere and non-snarky way:

If the problems you are working on can actually be done/solved at a large table with lots of people around, then it probably isn't a problem that requires 10+ years of experience i.e. it probably could be done by someone younger/cheaper. [Of course, if you "hack" around this by coming in early, working from home, etc. you aren't actually "doing it at a table with lots of people around you".]

I know lots of gray haired guys solving problems in the desktop and embedded space. I'm a not-a-genius developer/consultant and at 0x38 years old, I have no problem getting work.


0x38 is cool. Never thought about doing that. Hex years. Makes everything seem younger. I'm still an 0x20-something then, not so bad! :)

I thin I'd like to get into the niche / older spaces, liked embedded / desktop, but I wanted to learn a lot about web dev / cloud first, based on interest and curiosity.

I programmed in C when younger, and had an embedded opportunity a couple years ago in it which I turned down, but I think I'd like to take that up now.

Do you think there's more work / less applicants ( or at least a higher such ratio ), in C / embedded, etc?


>Do you think there's more work / less applicants ( or at least a higher such ratio ), in C / embedded, etc?

I don't know but I think you are on the right track thinking in terms of ratios. If there are (only) 100 jobs for technology X and 90 people with that skill, that's a good skill to have. If there are 10000 jobs for technology Y and 11000 developers for that technology, the ratio is not as favorable.

I think the Internet Of Things (IOT) might be a nice bridge from the "webby" world to the embedded one. One of my friends was doing node.js on an embedded medical device for example. (Queue "Security is the 'S' in IOT.")

At the end of the day, job security is based on creating value. If you want to be remunerated well for that value, you don't want to have a lot of direct competition.

I deliver solutions on the "edge" of the embedded realm sometimes - things that run on small Linux computers (Beagle Bones and Raspberry Pi). I can't speak to the demand for "real" embedded developers. By "real" I mean dealing with things like "board bring up" and FPGAs. Perhaps the graybeards I know that do that stuff are there through selection bias.

As consultant, I create the software for complete products or the core technology/secret sauce for companies that don't have that skill in-house. They could hire a skilled web developer fairly easily (assuming they pay reasonably). It's a lot harder to higher a developer that can turn data packets into a radar display, make a desktop product to monitor laser plasma emissions or track a flying golf ball using computer vision (my last 3 projects).

I hope that was helpful.


> If there are (only) 100 jobs for technology X and 90 people with that skill, that's a good skill to have. If there are 10000 jobs for technology Y and 11000 developers for that technology, the ratio is not as favorable.

I'm in embedded, and I think your numbers are about right. I'd say that embedded is only 1/10th as big as "general programming" or even web programming. This means that, if you want a new job in your town, it may take 10 times as long as if you're in web programming. But it pays better, experience is more valued, and the cultures are different. Embedded doesn't have many brogrammers - it's more a world of grown-ups.


It was helpful, thanks. And sounds very interesting (last 3 projects). The kind of stuff I would be interested in probably, more so than web dev. Web is publishing, basically, and user interaction. Important, but it's not everything out there. Thanks a lot for response! :)


I understand from your other comments you're mostly getting work through word of mouth. That said, in your experience, what would be the channels through which the kind of projects you do are advertised? I hardly see any of those.


For one of those jobs, I was approached by a head hunter. I outright tell the headhunters I know (that do contracts) to call me if they come across something “weird” but they generally can’t pay enough for it to be worth it.

All the rest where word of mouth from people I know. I wish I knew of a place where these sorts of jobs were advertised.


Does your nice personal website help with getting gigs? Do you still have to make the first call?


I’m not sure if it helps “get” jobs but it doesn’t hurt.

My current web site is 3drocketsurgery.com. The chrisbennet.com one is all stuff that I did 10 years ago or more. Neither of them are sites you would find via a web search. Not a single person has contacted me through 3drocketsurgery site’s contact form and my name isn’t on it anywhere on it (on purpose). I used to use it with my resume’ and now use it instead of one.

I don’t actually call people or actively search for work. I do try to talk people out of hiring me sometimes. Reading this it makes it seem like I’ve got it all figured out but in reality, I’m just lucky and I’m expecting my luck to run out at some point. It’s kind of scary to be honest.


I was hoping investing in website might reverse the first contact vector, i.e. clients would call me first... Otherwise, so far my CV works just fine, so I guess there is no point in having a website.


I don’t make “first contact” with my clients that way but I think it really helps to have an interesting portfolio that they can look at once contact is made.

It slipped my mind earlier, but I did have a hiring manager from Mathematica tell me he saw something I’d done from my website once - probably got the link to my web sites from LinkedIn. He’d seen a video of a virtual oscilloscope I’d written for laser stuff. I doubt he would have called otherwise since my resume’ isn’t “out there” for everyone to see.


Will you still need me, will you still feed me, when I'm 0100?


Do you put 0x38 on your CV?


I don't use a resume anymore but if I did, I would "sanitize" my age from it I think.


I'm 46 and this question seems a little ridiculous if you're located in a good market. In the bay area there is such demand for developers that you will find a job. It may not be the most amazing, perfect job for you but the pay won't be "bad".

However, I do see a few problems:

1. If you've been out of the algorithm, leetcode, game for a while, passing the bs interviews is going to be a challenge. The truth is that almost no one uses that shit or they just google an implementation. So, you're choice is to dedicate a significant portion of your free-time to studying or use the shotgun approach unless you have a network "in".

2. It's probably going to be difficult for you if you refuse to learn new things. I've been specializing in front-end for a while and the framework I'm an expert in (Ember.js) is basically dead. Time to learn react. Luckily 90% of what I know translates.

3. If you want ever-increasing salaries, you're going to have a hard time. There is a cut-off for even the best senior developers. The only way up is management.

If you can still add value as a developer, someone will hire you.


If you're doing anything more involved than CRUD apps knowing the "bs things" is pretty useful; especially if you think you qualify as a "senior developer". Mindlessly copying from google won't tell you the right questions to ask, and won't help you mentor new talent. If you're found yourself at 40+ and don't know the fundamentals that tells me you've done little to no mentoring and probably don't fit in my organization.

Given (1) 3 also becomes a bit of dead end. If you're actually on a principle track (that's ownership, aptitude, etc) senior developer tracks can be nearly unbounded; especially at the usual suspects and increasingly at companies serious about growing their technology department.

I'd caution against striving for "just adding value"; being one of the people that have 2 years of experience 10 times is going to cut you off from most employment opportunities.


Funny because I've built many, many apps and worked as a professional dev for 15+ years and literally never, not even once, needed to write a reverse bubble sort or whatever from scratch. Modern development is more about making good design choices and knowing how to leverage languages, frameworks and systems to develop a solution that meets the companies objectives and does it quickly and in the most cost-effective way. I've saved and produced millions of dollars of value for many companies and advanced algorithms knowledge was never part of the solution. This leetcode shit is just a hazing ritual perpetuated by the majority of companies because they're unwilling to do something more sensible because it requires time and effort. Wouldn't it be more effective to review my code on github and bitbucket than to give me a puzzle to solve? Right, that takes effort.

https://twitter.com/dhh/status/834146806594433025


Through these first 2 decades of the 21st century I think this industry has thrived on the fact that all of the fruit is laughably low hanging. You could "produce millions of dollars" with an excel macro. That doesn't make the skill a good thing to peg the long term health to your tech company to. Hint playing this <https://media.giphy.com/media/kwEmwFUWO5Ety/giphy.gif> game isn't software development any healthy company wants to hire for.

Moore's law has smoothed over many the failing of a mediocre dev; the next generation isn't going have same luxury (just the same as the current generation has to know exponentially more than those that made their fortune during the dot com boom).


Ken Thomson and Rob Pike still program. They are inspiring people I wanna follow not those useless and inefficient bureaucrats in charge of "human resources".

As programmers, we should take the control of the recruitment with coopting. The market is in our favor. We are more needed than we need. We can do that smoothly and the good business men will understand they can save a lot of money with a such system.

I already know few good programmers who are available and I can recommend.


Fellows, grey bias, impostor syndrome, burnout, toxicity, anxiety and the others are all symptoms of the rigid mindstate that permeates our industry.

It has to do with the curse of comfort and a lack of emotional agility which is exceptionally pronounced in this industry for many reasons which I shall not accentuate here except to state that `casual` is another word for `toxic` in my view.

I would care to suggest to everyone in this thread the following work: http://a.co/3Wlz2bw

Having read this book my views on how we ought to be engaging in our day-to-day have been completely transformed. Going from a rigid mindstate to a growth mindstate changes the whole game and I bet you anything it would go a long way to alleviating the burden of grey bias and all the other evils we face.



Very kind of you to provide this link; highly interested to know your take on this work.


Thank you for sharing book. I am always looking for interesting stuff to read.


I'm 41 and doing great. I 'work' for an amazing organization (work is in quotes because I do exactly what I'd do if I was retired) and have a number of extremely interesting problems on my plate.

A few caveats:

1.) I don't bash new frameworks (even if I know they're a bad idea) until I've built something non trivial with them.

2.) My education and experience are outside the norm for developers where I live. I have a business degree (with a marketing major) and have spent most of my life working for or founding startups.

3.) I love introducing people to each other. When you get older, you're usually much more connected than you imagine.

4.) I make fun of myself when it is deserved.

5.) I praise others when it is deserved.

6.) I stay current. Hell, I have built things with blockchains even though I didn't think it would be a good idea.

Basically, I stay current and try to be a good member of a team.


Agree; being a good team player, someone folks want to work with, counts for a hell of lot, IMO. Too many devs, young and old, are oblivious to this. Humility, a sense of humour, and being generous with credit are all great traits to help ensure a long and happy career!


my personal situation is: 45yo, just back to the corporate world after bankrupting my own consultancy company ( i shot myself on the foot with the tax and labor laws ) as a senior java developer. I fly circles around my 20-something teammates, and also around the tech team from our current client... became the de facto tech leader without even trying. Bad thing is, now i have more responsabilities than i bargained for, and dont't have that "workdays are just payed vacations" feeling anymore.


You get the satisfaction of neatly organized maintainable code and teaching many by example :)


Find a niche that serves as a barrier to entry to the young, trendy, and easily distracted. Security clearance could be one example.


The average age of my team >30 and it's the best team I ever was a part of. It's not the dead end, but rather the light at the end of the tunnel..Hope it's not the freight train coming my way though...


I hear that, but I haven't seen it. The age range where I work (small company) goes from 20 to almost 70. Same at the last two $BIG_CORP jobs, except there the bottom of the range was a bit higher.


I don’t think so. Building software is a creative process that benefits from team diversity in multiple aspects. You need both young and older people. I’m 54 and still going strong. :-)

Also, not every ‘new’ development is as new as it appears; “Old is the New New”. https://www.youtube.com/watch?v=AbgsfeGvg3E


I mostly work with firmware, which hasn't seen much innovation, especially on small devices (finally Rust is coming along). There is no way youngsters can compete with me in breadth of experience. They are still building their toolbox and design patterns, so they can learn a lot, including from me. I value their appetite.

I see myself as a child of my time, with home-grown skills typical for a time-frame. I see that time-frame fading into history much like pop-music is doing. Going by the example of rockstars, maybe my skills will still be in demand 20 years from now, because the original author has so much more depth.

In some ways I am at the peak of my skills, more focused on results and a well balanced, easy to evolve design. But grey, so not cool I suppose ;)


40 here and not seeing a flagging salary or problem with work. I just get calls from larger companies than I did when I was younger. Stay away from the startups, Keep your skills up to date, drop the complaining habit if you have it and find ways to be a positive influence around your community, find a decent company that does things you care about, and settle in.


A lot of good answers in this thread. I want to emphasize that, though ageism clearly exist, it more than anything else depends on you. I have many colleagues and friends that started coding in their childhood (like me) who got burned out after doing it for decades. I have also experienced several times the feeling that coding just doesn't motivate me anymore. Software development is quite different from other technical work, constant pressure to learn new things while at the same time nothing really changes.

What helps is to acquire additonal skills or knowledge outside IT, for example domain knowledge of an industry. This takes time and dedication. Personally, I got very interested in training and I'm now building a training business.

Also important to keep in mind that there exist a whole different IT world outside startups and what you read on HN where ageism is much less a problem.


I find the whole hypothesis of the "grey bias" to be rather baffling. My personal thought is that boomers are puzzled that this industry doesn't confirm to the standards set in the other engineering discipline (ie younger workers are treated like shit and expected to like it with next to no advancement opportunities).

In my experience, older (20+ years exp) workers that have kept their skills sharp and were above average throughout their careers tend to do well. However, those that expect software to work like other engineering fields, where seniority is a sole function of tenure, tend to take arms and complain about the new generation out performing them.


From an employer perspective, as long as the employee is a good asset there's no dead-end. To be a good asset as a developer, you need to be good at coding and somehow easy to work with. That's it for an employer. Now, from an employee perspective it's a complete different story. When you have fresh grads coming in every day with a lot of energy and already up to date with all the latest trends and technologies, no family life, no mortgages, no kids, no responsibilities. How do you keep up with that at 40? They can spend 15h at the office who cares.


You keep up by being better.

Those kids can code 15 hours a day if they want. I'll code 8, and I'll still produce working code faster than them. I won't waste (as much) time with flawed designs. I won't write nearly as many bugs that then have to be fixed. My code will be more maintainable.

In short, I'm more valuable than those kids. If an employer can't see that, then the employer is still at the kid level, and they aren't someone I want to work for.

But if you're going to try to compete with the kids when you have just the same skills, well, that's a hard road. You have to have gotten better over the years.


> I'll still produce working code faster than them

I think my advantage (I'm over 40) is that I produce the _right_ working code. Listen to the client, think about the problem, suggest short cuts or alternatives (including COTS if needed). I am much more focused on solving problems now than I was when I was younger.


Your mileage may vary of course. But i’ve been independent consulting now for 25yrs. Started doing primarily dba/unix work in the 90’s and now of course cloud heavy. Devops is in extremely high demand. i do docker, ecs, terraform, kubernetes, aws, gcp. Python. postgresql, mysql, redshift. athena. it goes on & on.

yes as others have mentioned you have to be willing to learn. to be also excited to learn. that’s key.

i’m also much more mature now. so i can work well with anyone and see perspectives others miss.

opportunities abound !


I'm 31, my company also contracts a dev that is almost 60. He knows much more than me about architecture, old systems that we still use, I would not want to do his work. I work on the newer stuff.

As I get older I plan to shift to a different role. Maybe management, I am waiting for a position to open in a city for a dev project manager. I'm not really concerned.


Not really sure if this mindset is more regionally based than anything else but as a full stack developer working in Toronto at 24 years old I've never heard of this stigma in the workplace. The past 2 companies I've worked at have all had an average age of 40+. Same story for most of my college friends now working in the GTA.


I'm in the Southeastern US and have similar observations, average age around 40+ and experience generally very highly prized.


Generally it is. It's "become a manager or get out".

Like everything there are exceptions but you and I are probably not the exception.


No, of course it’s not! :)


I'm 36 and run circles around guys in their early and mid 20's.

Every 2-3 years I reinvent myself with new tech and new challenges.

If you feel you cannot compete at 36 (my age) and are not getting interviews and offers from Amazon, Google, other companies.... then the problem is You and not your nominal age.

The fact that you're seeking out validation for self-victimization is alresdy going to shine through in your insecurities and victim complex. Leading to a self fulfilling prophecy.


In the middle of a self-reinvent cycle myself. Great points you made there.


Is there discrimination at the average company against 35+ candidates? Yes.

Is it because the candidates don’t know the latest languages and frameworks? Sometimes, not always.

Is it because “fresh grads” have “energy” or something? Almost certainly not. What does that even mean?

Is it negated by the comments here like “oh there are 70-year-olds doing programmig where I work!”? No, that’s just an anecdote, not statistically relevant.


Where is your evidence then?


Wat!?!? Ok I’m 37- but like why would I ever need to stop pwning nubs? Hack and slash for life bro!

If anything I know more now about solving problems and handling stress. Likewise, everyone I work with who is older than me I have crazy respect for ageism is so silly




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: