Ask HN: At what age is “too old” to work in tech as a software engineer?
I do however enjoy software engineering but admittedly, I have never done it outside of my own hobbies, which it's been many years since I've coded. Therefore, I don't know if I would love it because doing it as a career is much different than toying around on things I'm interested in. I'm really interested in backend & API engineering and building scalable systems, things like applications that support huge loads and concurrency and learning that at large organizations and then eventually helping a startup scale up as an early engineer.
I was interested in software engineering as a career (and finishing with a CS degree with the CS credits I've completed from undergrad), but as Paul Graham most famously said not to hire engineers over 30.
While that, as an absolute, may be BS, I do have a lurking fear there is some truth to that, and that I'll never fit in at this stage in my life.
From software engineers I've asked there seems to be an implicit agreement that ageism is very real against older developers. I am also worried because if I get started at this point, I would be way behind people who started right out of college and I'd be in my 40s by the time I could catch up financially.
I am also worried about employability after 40, when almost everyone will be significantly younger than me, and then being laid off and afterwards finding it very difficult to find a job.
So while I understand I can get a job in the near future, I am terrified of long-term prospects. For context, I really don't have any money saved and am in debt because of school loans.
I feel as if I've already gone too deep in the hole and that I should just only do programming after my residency is over. I am not happy at all, but changing careers also has to make financial sense and if I am going to be discriminated against just because of my age then I don't think it is worth it.
Many people have told me "do what your heart wants" but they don't wake up with my debt.
Would love your opinions! (also thank you for reading. I know this is a sensitive topic and been asked about before, but I am curious about any new insight gained post-pandemic during the emergence of remote-first work cultures)
66 comments
[ 4.1 ms ] story [ 146 ms ] threadYou're not too old though, ageism is real in every industry but you're always going to be competing with people who started coding as a child etc, but the only 'competition' that ever matters is with yourself.
And keeping coding as a hobby keeps the passion, you may like it now but when you're a cog in a wheel at <company> grinding out nothing relevant it'll destroy you mentally and grind you down, it'll destroy whatever passion you have.
Medicine also gives you an advantage, you'll be able to spot opportunities to automate systems and processes with your coding ability.
Just my 2C.
i am sorry you have been treated less than you deserve. i have been there/am there lol.
(i would code more if I had more time! I only have enough for a toy problem every couple of days)
But in general, people aren't too old if they can competently do the work they're asked to do. Design, develop, debug, test. Whether or not this is buried by ageism is another matter. But then, one could say that age is irrelevant when dealing with those who can't deliver.
I have had some hard job searches and had people telling me I was probably an ageism victim 15 years ago. Maybe I am too old to rock and roll but certainly not too old to code.
Convincing other people of that fact gets harder and harder the older you get.
I don't know what to tell you, it's a high-risk change you are contemplating. You can strike out on your own, but that is another set of risks to navigate.
beyond that, if you are one of the ancients, you can be indispensible, when an infrastructure must be redeployed, or code must be ported.
First, I have changed my career many times -- from a neurobiology PhD student to an electrical engineer to an AI startup CEO back to an applied math / ml postdoc and now a professor who works on bio-adjacent things. I'm pretty old for my field, and just getting started. There's a little bit of age discrimination (young hotshots are rewarded, which has a compounding effect) but it's thus far been ok. I have happily helped place students older than you, after a CS masters program, in successful tech-company-style jobs. So it is possible. I've also considered getting EMT training so I can better understand the technical challenges and market opportunities present in the emergency care space. So I might be envious of your position.
And medicine is hard. Incredibly hard, for-bullshit-reasons hard. MR had a nice piece https://marginalrevolution.com/marginalrevolution/2021/12/wh... "What's wrong with physicians?" in which a commenter talks about all the ways in which medicine is difficult, as a field. This often isn't fully appreciated by skeptics.
But there are _so many_ options for someone who both knows medicine and knows how to code. I've had friends in your position finish their MD and instead of doing a residence, go work at a medtech startup, or go get a CS masters and then do a medtech startup themselves, or go work on hard ML-and-AI style problems at a big tech company. It's all possible, and your domain knowledge is incredibly useful.
HN tends to have a _lot_ of autodidactic people who have self-taught themselves a lot, and there's sometimes (not always!) a tendency to discourage or disparage domain expertise. We see this in a lot of tensorbro-trying-to-reinvent-radiology startups. Your knowledge is valuable. You can know where the problems are. You can know what the state-of-the-art solutions are. You can know how to fix them, and what opportunities exist.
So if you still like medicine, as a domain, or have any interest in developing that part of your skills, I highly encourage you to explore how you can use your CS skills in that context. It's going to be valuable for a long time.
One of the biggest challenges facing American medicine is going to be how to deliver more care with less labor. We forget that doctors in the US are very well-compensated (especially specialists) and that we have an oncoming wave of retirees that are going to massively strain the medical system. Thus there's tremendous interest in using technology to help make medicine more efficient. This is a massive market opportunity.
I'll give you an analogy: when people think of "automation", they often think of analogs to Amazon's (vaporware) drone delivery. Or even Amazon's kiva warehouse robots. Or Amazon's (not ideal) recommendation system. They forget the tremendous impact that basic automation like the checkout scanner had on retail.
Much of modern medicine is still in need of its automated checkout counter. We want AI radiologists and robot doctors, but we still can't get people to take their pills on time. So much of electronic medical record data is still complete and total crap. So much care is unnecessarily delivered in extremely expensive hospitals.
In short, if you can try out your coding skills a bit (consider a summer internship, or talking to people in the CS department who are collaborating with doctors, or the like) then I think you're going to have tremendous opportunities, regardless of age.
Finally, fin...
- (Man, the title and the text are asking completely different questions.)
- Whatever you do, finish your medical degree and start your career in medicine.
- Lots of doctors hate their jobs, so do lots of software developers. A lot of the advice you'll hear will be biographical.
- The age thing itself isn't a problem; starting at 28, switching career tracks and getting your first job in the field can be difficult though.
- Once you start your career in medicine, you're set. Yes, you'll still need to work hard and you'll have challenges like everyone else and bla-bla-bla... but the career stability is hard to find elsewhere. Software is on the other end of the spectrum where people change companies and problem domains every few years and your job prospects are a lot more dependent on the state of the financial markets or the current trends in tech.
- You haven't done either job, so be careful when you say "this is for me and this isn't". Sure, you've been exposed to both fields in some ways but still you can be totally wrong in your judgment here.
- Giving up medicine looks like a one way door. It's a difficult decision to reverse later on if you figure out that you've made a mistake. On the other hand, if you work in medicine for a while and it really isn't for you, you can still give software a try.
- Medical doctors are paid better on average. But both fields are paid well so this maybe shouldn't be your biggest consideration. There's also a certain social perception / status that comes with being a doctor vs being a software developer. Some people care about that, others don't. Figure out whether you care about it.
- Something you like doing as a hobby or at university, can be something you hate when it becomes part of your job.
- You can always do software on the side, you can't practice medicine on the side.
- Once you finish your medical education, you have the option to look for jobs that combine medicine and software.
- You're even saying that you like medicine. Looking for "your calling" can be a trap. Liking what you do is great. Maybe you can find your calling, or maybe you're massively sabotaging your life to look for something that doesn't exist. (I don't know)
- Seriously, don't drop out of your medical degree.
This can be ungodly lucrative; and for the most part, recession proof. A software guy who just knows software isn't nearly as valuable as a software guy who has domain knowledge in a particular industry. Also, if you haven't noticed, in the US, they charge a lot for medical services.
Having knowledge, qualifications and experience in both fields would put you ahead of the majority of job seekers in those areas.
2. Don’t shit the bed on your STEP 2 - Keep your doors open.
3. Consider doing 1 year of prelim in medicine or surgery if you don’t want to do a full residency. With 1 year of experience you’ll likely find out a lot of problems in healthcare that have tech solutions. Right now as a MS you don’t really know the problems and can’t create something to solve them. And a 1 year prelim allows you to work in emergency clinics as an MD if money gets tight in your other career.
It might be tempting but unfruitful to abandon medicine and dive into into programming. Unlike people switching track from physics or math grad school, you won’t be able to leverage much medicine into software engineering. Especially if, as you say, you haven’t coded anything in years, then maybe software isn’t a quite a daily calling for you either. On the other hand, there may be no better time in recent decades than now to go into programming in general for the hyper-dedicated souls among us, regardless of age.
Why? Devil's advocate: laypeople seem sick of tech (even if they use it a lot), it doesn't really seem to be solving problems (just shifting the envelope), and interest rates are bound to go up soon, which will only hurt big tech. Why is now more attractive than, say, 5 years ago?
This post sounds to me like sympathy-baiting. As if you want others to assuage your doubts. You won't get that from me. If you're willing to listen to Paul Graham, you should also be willing to listen to me - another stranger whom you've never met. So let me bite the bullet and be the first one here to discriminate against you just because of your age. YOU'RE TOO OLD! Hate to break it to you, but you will never be able to make a living doing programming as a software engineer. Just give it up right here and now.
I'm asking to forecast 40+ because I'm essentially broke right now and have no idea of prospects beyond that age, and if I'll have enough saved by then because I have debt or if I should just forget it entirely and finish my degree. I genuinely have zero idea. For context, I would probably be 30 when I get my first engineering job if I did leave, so I feel like my fear can at least be understood if I truly believe I only had a 10 year window to work.
I did not say I'm going to switch. I'm just burnt out and considering a switch and trying to gather information. After reading all these comments I'm probably not going to, all from people with perspectives I didn't consider because I am not in this industry. I don't want your sympathy. I just wanted people's advice.
Sorry you took it the other way.
Second is only a small percentage of roles are hired by Paul Graham and silicon valley as a whole. The young engineer thing is frequently looked as a positive because your more likely to have people that live an unhealthy work-life balance dedicated to the cause. Most people over 30 end up with a life they can't abandon to work 12 hours a day / 7 days a week. Larger companies tend to have processes where age doesn't come into play, and a better work/life balance (assuming you can tolerate the bureaucracy).
Third if you can use your medical domain knowledge in an SE role, that is likely a bigger perk then any age related negative.
Age is somewhat tied to role. The problem your going to have after 40 - 50 is doubts if you don't already have history with the work / technology. This is a bias against ability to learn. This can be countered with good and relevant certifications and having a broad technical knowledge. Generally when you get a role you will know some of the technologies, be familiar with a few and have to learn others. If you specialise on something in demand, people won't care about your age, they just want to knowledge. Frequently technical specialists I've worked with are 50-60 years old.
Where the negativity at older developers comes from is the requirement for developers to be constantly moving forward learning about new technologies. If your not moving forward, your falling behind. Older starters in SE often have trouble keeping up with this aspect of the industry. This is why frequently university / college education isn't very useful in the real world. The industry has moved on, and you need to learn the new stuff in your junior roles.
Finally development support roles are frequently not viewed with the same lens, and often favour more "mature" people. Testing, Project Management, BA, Sales / Presales Engineering, Support Engineering and Development management all surround the development process and will often involve dipping in to code (depending on organisation / role). You may find while you love Software Engineering, the actual coding is less interesting then the whole creation process.
As far as the ageism within 'tech culture' goes that has been brought up in a few posts, you don't need to work in the startup sector to work as a software engineer. Almost every large industry today hires software engineers, and most of them do not share this bizarre obsession with youth that you have in the valley. Maybe not the perfect site to point it out but Paul Graham says a lot of silly things, that only apply to a very small, geographically limited group of people.
Then again, work on an mainframe, know Cobol, you can be 60, 70, 80 and it's fine. Those are in demand jobs and have no true aging out anymore.
But, stuck just doing PHP and LAMP stacks, I can see that dying and being reborn again. PHP is great, though.
Then there's the career movement to management and such, which doesn't require you knowing how to code per se.
--
Do you even enjoy CS? Coding? Tech in general? If you don't, you probably will have this same dilemma in a few years "I like x, but I really don't feel it's my calling."
Do you know what you want? Do you really want to be employable at 40?
Why not retired?
- Chasing money or a career that pays well doesn't really bold out well for fulfilment. Sure you'll get your money, and a cushion but you'll look back at it as time wasted. But you already do have a CS degree. So might as well use it, right?
-- I like tech, I foresee myself always having a tech centric career, I use tech to allocate and organize my life and resources and I would never see myself as being to old at ever using tech for that goal or leveraging tech for work. Would I be designing hardware? No. Would I be designing fancy new algo's? No. Would I poorly be implementing encryption schemes, probably. Would I be head deep in excel and dashboards? Yes.
Live life and enjoy, 28 is still young.
While its slightly younger cutoff, it is very similar to what he said about startup founders (where the cutoff was 38), and it would fit with his other descriptions of age-based trends in work patterns to prefer a younger cutoff for engineers, especially if he was talking about a startup context.
Though I’ve seen it referenced without a source enough that I wouldn’t be surprised if it was apocryphal and distorting remembering of the preferred upper limit for startup founders that got transferred to engineers and a rounder number.
I am surprised at people who say its unlike him or the opposite of what he would say, though.
https://www.nytimes.com/2013/05/05/magazine/y-combinator-sil...
"Venture capitalists have a notorious bias against older founders—“older” being relative in youth-obsessed Silicon Valley. “The cutoff in investors’ heads is 32,” Y Combinator co-founder Paul Graham (now 53) told the New York Times in 2013. “After 32, they start to be a little skeptical.”"
BTW the quote is easily findable, and the value for X he used was 32.
So was the quote where it is 23-38 for who should start a startup.
http://www.paulgraham.com/start.html
It’s like PG says lots of slight variations on the same thing over time.
Did he? I'm very skeptical of that since I read every single one of his essays and followed his talks. They were one of the reasons I decided to transition into software in my early 30s.
“I want to stress the importance of being young and technical … Young people are just smarter. Why are most chess masters under 30?" he asked. "I don't know… Young people just have simpler lives. We may not own a car. We may not have family."
Of course, he said this in his twenties and he may have changed his tune. As far as I know, he hasn’t handed the reigns of Meta over to a twenty-something just yet.
http://www.paulgraham.com/hiring.html
"Or more precisely, I think few realize the huge spread in the value of 20 year olds. Some, it's true, are not very capable. But others are more capable than all but a handful of 30 year olds."
So I am wrong
edit: I found where I am attributing Graham from. I am still wrong, but here is the context:
"Venture capitalists have a notorious bias against older founders—“older” being relative in youth-obsessed Silicon Valley. “The cutoff in investors’ heads is 32,” Y Combinator co-founder Paul Graham (now 53) told the New York Times in 2013. “After 32, they start to be a little skeptical.”
https://www.nytimes.com/2013/05/05/magazine/y-combinator-sil...
The rationale is that there are several positive outcomes
a) you might actually like being a doc
b) there are more high-end openings for doctors who understand software than software beginners. Those are essentially the two software options you have.
Also, at the end of the day, additional loans will impact your happiness over your career. Being poor is not fun.
I ended up taking a job with a FANG company that skews slightly older than most startups, but even here I’m on the wrong side of the Bell curve. I can run circles around most of my younger coworkers so I never feel like my job is in jeopardy. But I’m often the oldest individual contributor on any given project and I have to wonder, where have all the older software engineers in Silicon Valley gone? Did they retire early, and was it their own choice? Will I be served up as Soylent Green in the cafeteria next year?
I moved into software engineering from a different engineering discipline where most of my coworkers were in their forties and fifties, and some were older than that. I doubled my pay, but now I work on the SF peninsula where I can’t afford a house, and I probably cut my remaining working years in half. All in all, it seems like it may have been a questionable choice in the long run.
Engineers working in programming-adjacent industries (rather than Silicon Valley web tech) such as telecommunications, defense, aerospace/satellites, medical technology, etc., tend to earn less but have much longer careers in my experience (and often work on more interesting problems IMO). You may be able to leverage your medical degree, after your residency, to work in an area with more specialization and less churn.
As older I get I feel I have to work harder to keep myself motivated and keep looking for the right position/area to work in. It is very easy to just get comfortable, get stale, feel everything like it is moving too fast, and loose interest
In general I think it is true that there is some discrimination, not in all companies. But because there are so many opportunities you might just have to look a bit more
And you can definitely have the upper hand for mixed jobs: biology specialist for data analysis; automated testing for a medical app; consultant on ML training for disease detection. And probably most health related companies
The thing is, it's a nuanced issue (and rather different from other discriminatory -isms). What it comes down to is the fact that most mid- or senior-level SWE work (in the usual sense of "senior" these days) is pretty menial -- in that your day-to-day existence usually boils down to "Go do this feature here, clean up that mess there, maybe architect a little box there, please, while the adults chart the company's direction and make the big bucks, or at least enjoy an uptick in status."
One way or another you will definitely want to "graduate" from this box, ideally around age 40 or so. This doesn't mean you'll have to stop coding. But you should ask yourself, intently, where you want to be in 10-15 years time[1]. This might be Staff or Principal Engineer (at a company where this title actually means something), which is definitely different from the mid-career role. Or analogously, becoming a consultant (with public presence, articles published and so forth). Or becoming a founder or starting a company. Or moving to a totally different profession you've always loved (teaching or running a restaurant say... or running off and joining a band).
Or... telling the world to fuck itself, and more specifically, the perceived imperative to shape our lives around the meritocratic ideal. And just stay in the mid-career SWE role for as long as you want to keep working. Which in my view is perfectly fine - provided you're willing to accept the ceiling in terms of salary level (and status) that comes with it. You'll still be doing better financially (and with far less stress) than most academics, public school teachers, and a whole lot of other valuable and socially useful people.
But to get back to the original subject: this is exactly where (a good chunk of) the "ageism" in the industry comes from. It's not that they see 40+ types as out of date, too slow, or too inflexible, or just too uncool to "have a beer with" (though some of course do). But rather it's an unspoken feeling they have (perhaps not even consciously recognized) that says: "Shouldn't this person have moved on to something bigger and better by now? Do I want to be doing this stuff for another 20 years? Hell no!"
So yeah, one way or another, ageism is definitely a thing. It's not a hard cliff though, by any stretch. And at the end of the day it all depends on how you play it. If you play it right, your age can even work to your advantage.
Many people have told me "do what your heart wants" but they don't wake up with my debt.
I agree that "do what your love" is mostly crap. A better question to ask yourself is: What kind of work can I see myself living with / not burning out on beyond age X (assuming I'm not fully independent financially by then)? Which is of course adjacent to the question of work that "love" but is really more one of work you at least like and which is sustainable for you in terms of overall working conditions.
[1] Yes, exactly like the BS interview question (expressed usually in terms of 5 years of course). Which is actually a really good question to be asking one's self, now and then. The reason it becomes BS in the interviewing context is that you're never allowed to give an honest answer.