Ask HN: Am I dead meat already?

48 points by tHrOwAwAyXQWE ↗ HN
Hi. I've been in the profession (SW Eng) for about 18 yrs now. A few years from my 50s. Didn't go the managerial route. Stayed technical. My current gig is in a very difficult and complex project written in C. Been there for 2 yrs now and I'm afraid that due to the ancient tech stack and despite being a good engineer I'm loosing my marketability.

After enduring bad behavior for nth time (yeah it's a toxic workplace) I decided I had enough and did a round of applications. Mostly for backend positions and mostly for golang positions. I don't have prod xp with golang but it's close to C and every time I've used it it seemed ok. But the problem is that I'm either being ignored or skipped over. All jobs are for seniors in the _specific_tech_stack_. Other positions I've applied for and got no response whatsoever are architects, tech managers and the like. Granded, this regards a turd job market (EU/Greece) but still that's where I am at.

Am I toasted for good? I mean, nearing my 50s with my most recent gig writing "C" on it is as good as declaring my career over?

82 comments

[ 7.2 ms ] story [ 159 ms ] thread
I'm 49 and have only had 1-2 interviews a month since last august when I got canned.
Target EU govt and mil complex jobs. They have older stacks, favor experience and have more funds these days thanks to the war. Plus much less stress than in private sector.
You must not be very familiar with the way those are clustered in a few specific countries and the extraordinarily long and bureaucratic recruiting times.
I remember in 1999 thinking "Damn! The world's moved on to Java and I'm still writing in C! I won't last much longer..." Then I got a job writing C code for those wireless credit card doohickies (a nasty mess of Z80s with crazy paging schemes to access 2mb of memory, but I digress).

A few years later I actually started working in Java and Python, and then iPhone came along and I was right back in C land again!

Then in 2016 I got a job writing in Go, which lasted 2 years - aaaaand now I'm back to writing C (and C++) again - 25 years after my C-career crisis.

It's not like I'm actively seeking C jobs - I'm a polyglot and can handle pretty much anything. But again and again these C jobs just keep coming out of the woodwork... And I can command premium salary because there just aren't many skilled C developers anymore.

Perhaps a biased view but fter teaching students from colleges I feel that most who are "born in the high level" world float comfortably without needing to understand fundamentals (memory, OS interfaces, arch, drivers, crashes, ..).

As soon as something basic goes down or when you have unexpected dives into low level stuff, the fair weather pilots are suddenly out of their depth.

I started with C, eventually moved into business roles and honestly wasn't even that good a dev. But looking at the uncertainty ahead in the world from a climate point of view, I sometimes worry about the future of tech talent.

We are losing tech veterans at a high rate and gaining a lot of chatgpt devs. I once remember a stackoverflow outage from my dev days and a large part of team went on vacation in the second half as we were so used to asking and copying.

Any fragility to modern infra will make us fall so hard on our faces I fear and hope I am wrong.

It's been like this for a long time already.

I still remember a colleague complaining to me in 2001 about a crash they were having in the data entry app (written in Java) that was wreaking havoc in the bank's check clearing department. The stack trace would go to JNI, into a vendor's .so and then SIGSEGV with an address of 0. The trouble was, nobody knew anything below Java.

I tracked down the issue after examining the crash report over lunch for shits and giggles. It failed in memcpy because it was trying to copy a null pointer. I disassembled the vendor's .so and checked the offsets to see where the code was going, and it turned out that the fingerprint reader code would return a null if it failed to scan properly (and the library had no null check). The vendor refused to fix it, so I patched the .so with a few nops, an xor and a je to work around it.

Everyone looked at me like I was some kind of god who commanded the very chips themselves.

Once the old guard is gone, I wonder what they'll do...

"Once the old guard is gone, I wonder what they'll do..."

Any sufficiently advanced technology is indistinguishable from magic.

Maybe now's the right time to start the cult of the machine wizards and secretly pass on your wisdom about disassemblers. I'm only half joking because reality already passed the point where regular people pray for the machine to respect their wishes. And make sure you price your Java exorcism correctly. I'd say a little church covered in gold is fair.

Instead of a church, how about 383k followers on YouTube? Joe Grand is flamboyantly that level of hacker, and that's the currency of today. In the GP's story theres no bitcoin wallet at the end of the rainbow, but that kind of knowledge is out there for those who look. It's even gamified at http://microcorruption.com. It won't be mainstream, but there's always going to be a culture of hackers that know how things actually work. the existence of stack overflow/ChatGPT programmers is the field widening, not the core shrinking.

Joe Grand and $3M of Bitcoin: https://youtu.be/o5IySpAkThg

>Once the old guard is gone, I wonder what they'll do...

The current generation of addy addicted highschoolers posting anticheat bypasses on unknowncheats will grow into the job market and take up the mantle.

"As soon as something basic goes down or when you have unexpected dives into low level stuff, the fair weather pilots are suddenly out of their depth."

Then they just jump jobs and get a 50% raise after enduring the "poor work environment" at their previous job.

> Am I toasted for good

That might be rather harsh wording, but I wouldn't rule it out entirely.

I am in my mid 40s, have been professionally in the business since my 20s and recently "migrated" out as I did not see much potential in it any more.

Admittedly, it also depends on how flexible you are and how willing to adopt the latest trends (to avoid saying fads :) ). If you feel comfortable with that, it shouldn't be "impossible" to stay in the field but the age will certainly still play a factor.

I am not sure how good my advice can be, but if you want to stay technical and with Go, I'd say keep applying for such positions. Many companies will reject you because you may not fulfill their arbitrary requirements, but there'll be eventually a company who recognises your experience and your abilities.

While I am probably biased, I would still say programming has become a rather tough market these days for anyone 35+

And yes, what jc6 said might be true as well. The public sector often does not immediately go all-in on the latest fads and may have more realistic expectations.

Still, no guarantee either of course.

there are always teaching positions. "nutty greybeards teaching nutty kids". connect with the nerd and maker culture and ask around, in case you decide to go with and for progress.
Teaching jobs increasingly require some sort of teaching career that is hard to bootstrap at the age OP mentioned, and pay a pittance--sometimes less than PA/clerical work.
The European tech job market is... not great. You're not alone in this issue, it doesn't have to do with you, companies are extremely picky.

Best advice I can give is to stop applying for vacancies and start networking.

I'm not even in European market. I'm in a clown job market of a fringe European state.
Define "clown market."
Small countries in the EU tend to have extremely niche job markets in tech, largely because the choice is either very specialised work or generic IT services (not dev). Developers usually have a bad time of it.
I sympathize, and I think this is a bigger problem than the skills/experience/age issues. I'd do what I can to either move to a more dynamic place, or get a remote job for a US company. I know it's hard, but it's better than investing two years to become a pro in a different stack - and still be stuck in the same socioeconomic trap.
I went through this myself. I was a 15 year JS/TS developer who had been doing web work even longer than that in my mid 40s. I changed careers last year. It felt like starting over but it was completely worth it.

My long time painful observations:

For the longest time the corporate web business back was dominated by Java. Some of the people doing that work were incredible engineers but many were not. Many of the people were praying, some still do, that Web Assembly would replace JavaScript because it scared the shit out them. It was both sad and incompetent. You couldn’t talk about this because it made people wildly emotional.

Observation two is that JS people were just as fearful and emotional, perhaps much more so, but about almost everything. Many of these people were expert beginners who built a career based on complex nonsense because many of them never really learned to program and would supplement their practical deficits with stacks of tools, frameworks, abstractions, and so forth. Again, you couldn’t rationally talk to people about this without them becoming hyper emotional because it destroys a persons definition of worth and credibility.

The best thing that happened to me was being laid off and waiting for something different.

> I changed careers

to what? I'm willing to try anything.

> HS people

what is HS?

HS was an early morning typo from my phone. I have since edited my prior comment. Thank you for catching that.

A recruiter found me to fill a position writing APIs and proxies as a contractor for a large government entity. I enjoy it and the people I am working with. Its mostly low code using a proprietary platform. I still need to learn more about Kubernetes to get better at this.

Is your career over? Probably not.

But if you want to write Go, write go on your own time and use your day job to support your creative practice.

The more experience you have the more advantage there is to getting jobs through people you know, and the more disadvantage there is to looking to strangers for employment. Because looking for employment from strangers raises the legitimate question, "why doesn't this person have work through their professional network?"

The question is legitimate because of the circumstance you describe in your question...you are looking for work because you find yourself unwilling to work with other people. Sure, your personal reasons may be legitimate, but they are personal reasons not business reasons. At some level of seniority, there is an expectation that a person can put on their hipwaders and get through ordinary organizational sludge. Because that's the kind of person other senior people want to work with. Good luck.

"why doesn't this person have work through their professional network?" Where I am from this is called nepotism and is frowned upon. Also a sign of a flawed job market.
Thats a psyop people use to put the blame for a crappy job market on the employee.

"start your own business"

"your network is your net worth"

if these are your two options then the job market for that skill is really bad

Finding work though a "family network" would be nepotism. Finding work through a professional network is entirely another matter. If the professional network consists of golfing buddies, no, that would not be a good thing. If it consists of peers one knows through prior work, conferences, etc., I see no reason for anyone to complain.
GP is talking about getting jobs via professional colleagues that know you're good at what you do. Nepotism is the opposite of that - getting a job from connections that aren't work-related.
If you are toast, how does anyone else find a job at the same stage?

The vast majority of population doesn’t even have technical experience.

Others probably have golang experience when applying for golang jobs.
My advice would be to dip your toes into some of the languages / frameworks that the "specific tech stack" jobs are wanting, so you at least have some exposure to it. Then, you can focus on selling your wealth of general programming experience and transferrable skills to bridge the gap.

A good lens might be to view those positions as senior first, and technology second, even if you don't necessarily voice that perspective in the cover letter / interview.

You could spend some working hours brushing up your knowledge about whatever tech stack companies nowadays ask for. You don’t need to become an expert in X, Y and Z, a bit of exposure and understanding of the fundamentals is enough to put it on your CV.

I have done this many times. For example, I didn’t know k8s, and I wanted to switch jobs: I spent around 1-2 months learning k8s at work and at home, I learnt the fundamentals and did some side project and then I put on my CV that I’ve used k8s in my current job (I didn’t). I passed the job interview.

As a Founder , I believe it is not fair for someone to look for job applications on company time and sharpening your skills for next job - in time and resources that your company had paid for. Since you have problems with upper management - tough it up , talk about it face to face in a polite manner and highlight their toxic behavior . Tell them you don't like the way you are being treated and you can't continue this way. Since you had been there for so long already it will work in your favor. If things don't go in your way and if you get fired , they need to pay you 3 months - and during that time , you are good enough to learn new things.
The unfair thing in the scenario you describe is the employee choosing to upskill while they continue to do their jobs? And not the company firing them for speaking their mind - giving them 3 months of runway to switch careers in a situation OP already said felt like a shit job market?

Micromanaging employee time is one of the worst signs of a toxic company culture. And definitely not a sign of an efficient one

Op is not upfront about the toxicity situation to their management.And he haven't said anything about how toxic it is.

> Micromanaging employee time is one of the worst signs of a toxic company culture

I agree micro managing alot is bad but I don't agree it is toxic. I agree if leadership knows nothing about software engineering and microing it it is bad.

There's always two sides. I had seen projects fail because developers are doing what they want with their time, doing things unrelated to current project and end up missing delivery deadlines. I had seen company fail because they don't say anything to their developer because they afraid their developer will feel bad. I had saved client projects by joining in and driving their team to their potentials.

There's nothing rude or toxic about it.

Unless OP provide more details we can't really know if his company really toxic or not.

If job market is shit, build something in your own time, take ownership, make it grow and showcase it. A good C++ dev can learn new things so much faster than others.

If you have saved projects by coming in and micromanaging the devs... are you sure that was the only way to incentivize them to stay focused? And are you sure that they appreciated being micro-managed and did not think it rude and toxic? Because the success of a project and the toxicity of its leadership are orthogonal to each other. It sounds like you are coming from a perspective that if the business succeeds, the environment must not be toxic, which is sadly not at all true.
Pretty much all sharpening skills happens on someone’s company’s time.
> sharpening your skills for next job

How do I even work for you without "sharpening my skills"?

No, if you have problems with upper management, you should do something about it, but nobody owes their management a discussion about it. If leadership doesn't know how to build a healthy work environment, then people will decide for themselves whether to "manage up" to try to correct it, or to just step out of that environment in whatever way works for them.

That doesn't always mean quitting - I personally try to just change my job role and find that I often can adjust the work to avoid the toxic leaders. But if that cannot be done, leaving the job is a reasonable action.

And "as a Founder", if you think your staff is obligated to pull you out of any holes you dig, you are going to be in for a surprise when you find out just how many people are happy to let toxic leaders fail.

I do sharpen my skills every day at work. Sometimes the skills I sharp are used at work, sometimes they are not (but they are still relevant to my career and so relevant to any software-related job)

How else are we going to keep ourselves sharp? Besides, is on the benefit of the current company that I become more knowledgeable. Crazy to hear this retrograde way of thinking.

I agree that, but he should stand up to toxicity case first.
Lie about your age and fabricate new skills on your resume/CV. Put “I code in C/Java/Go/Python/Javascript/whateverYouNeed”.

Also you’re in the EU so could feasibly move to where needs your exact skill set. But web/frontend/backend is needed everywhere so it’s likely worth adding that to your C skills.

Moving residence in the EU is not a trivial thing--housing, family, taxes, even language can play against you.
This is a horrible advice. If a simple and harmless lie is detected, you destroy your credibility completely. Nothing you say will have any meaning, even if you prove it. You lied once, you can lie again. The risk of hiring you is very high, even if you fit the position nicely.
> Also you’re in the EU so could feasibly move

You _could_, but reaslitically speaking the frictions with language, culture, and distance from family and friends probably makes this harder than maoving US -> Canada or vice-versa. The EU tried hard to overcome this, but they're fighting national differences and cultural borders older than Christianity.

This is a horrible advice.

Don't lie about anything in your resume/CV. If you get called out, your whole reputation and your whole CV then is in Question.

There are lies and there are "lies" waiting to be truths. If you can back it up on the fly, what's the harm?
You can't back up lies on the fly. You're contradicting yourself now.
(comment deleted)
Ah yes, I'm a brain surgeon. I'll figure it out while I'm operating on your obviously damaged one.
It's horrible advice yeah – but it deals with the reality of the situation. If you're freaked out by being 50 in a field that for some bizarre reason values youth and inexperience, then be 40. Nobody cares, particularly if you're working remote.
I wouldn't recommend lying about age. That's going to backfire.

Padding the resume isn't a bad idea. If you've worked in C, and taught yourself Go, you're senior in my book. I mean, you may not know the gnarly corners of the language and eco system, but that's easy enough to pick up.

> Also you’re in the EU so could feasibly move to where needs your exact skill set.

Uprooting your life when you are 25-30 is easier, can be a fun adventure, etc. Doing that when you are 50 is many layers more complicated.

Lying is absolutely a no-no, there's no upside, you will be forever in debt about a lie and in the case of something as easily detected as your age you will lose all credibility for a stupid reason.

(comment deleted)
> so could feasibly move

Asking someone to move is usually quite unreasonable, unless there's legit problems where the person lives. A lot of people, especially people in their 50s, have roots that they just can't walk away from.

Furthermore, software gigs tend to be much shorter than how often people stay in a location; and remote work in software is super-common today.

I believe it is illegal in the US to ask someone's age during interview. Only after you are hired and filling out paperwork is when they ask for your birthday.

Not sure if it is same in the EU, but if it is illegal don't volunteer your age. No need to lie.

They don't need you're birthday to see you're old.
I definitely would not lie.

But perhaps you can be economical with facts and/or 're-prioritize' them, if expedient, ie choose which cards to reveal and with what emphasis.

Personally, I just tell it matter-of-fact as I see it, pretty much. You're looking for a good match of a job after all so may as well be fairly honest. Take that advice with a bucket of salt though because I'm still looking after <cough>, a year ... <cough, cough> ... or so.

Don't lie. Do remove years that you received any degrees to make it harder for them to infer your age with certainty.
I'm not sure what the job market is like in Europe, but in the US it's the worst job market I've seen since the dotcom bust. The job market isn't worse than the Dotcom bust but it's worse than the Financial crisis for sure. I wouldn't freak out just yet, however, I would also dedicate a lot more effort to learn whatever stack and language that is more popular in your area. Sticking with C and waiting for the right job to appear isn't a good idea. Also, there's no shame in lying on your resume to show some experience in whatever language you are looking to transition to, like golang. As long as you can walk the walk, ultimately that's all that matters.
The market is going through a massive liquidity crunch and startup funding, therefore tech hiring is at an all time low since 2010s.

This is not you but the market. Consolidate and don't take this as a judgement on your skills sir.

C will never go out of fashion.

I would think listing C would be better?

The notion of applying for senior engineer for a lang you’ve not worked in doesn’t make sense to me. Obviously you’d learn but that might be part of the reason for rejection

You're a senior in every way but one; coding Go.

Applying for a junior Go position would probably not be a good fit for you.

Applying for a mid-level Go position sounds uphill because competing candidates have 1-2 years of professional Go experience.

I would overcome that by accepting any opportunity to get real Go experience.

For example, I'm spending some extra hours every week for a money-less startup on an "I'll register the hours and you'll pay me next year" basis.

As a reward, I learn Phoenix/Elixir and Nix: The lead will spend time fast-forwarding me through the commands, and I can spend some hours that I don't bill them on qualifying. For my next interview, I can say I've spent X months doing Phoenix/Elixir and/or Nix in production. The money is secondary.

Alternatively: Use your network. What young people don't have is an abundance of acquaintances who took the management route who can vouch for your generic skill set and work ethics which don't translate into recruiter filter buzzwords.

Golang jobs are very often ops/sre in disguise and most of the work will actually be deployment and not development related, for which knowing the exact stack is more important.
I learned Go "on the job" - I wrote a codebase during a company hackathon, and it ended up being shipped into production not long after. The good thing about Go is that the tooling and libraries quickly steer you towards using the language in a particular way, meaning that you learn how to write idiomatic Go quite quickly. In my case, my Golang code was reviewed by those with years of Go experience and they were surprised to find out that it was my first Go codebase.

I suspect that most half-decent Golang shops will know this and be open to hiring an experienced C developer.

"and it ended up being shipped into production not long after" - To me that seems like a reason to run from that company.
With your C skills I'd consider a parallel market in embedded or low level work to expand your skills in those areas. You might be able to move from that up to to mobile development etc. Tech stacks there tend to be Java, Swift, C, React Native (similar to React web) so it opens a lot of areas.

P.S. I'm not far behind in age but I code in 2 different tech stacks daily at work, on FE and BE, and stick my nose into parallel stacks to get that experience, specifically so I don't get COBOL'd (do one thing my entire career, and then that one thing no longer has developer demand).

But it seems embedded pays horribly, is not respected, and can be way more frustrating due to hardware bugs etc.
You are unfortuately right! I gave up embedded development for the time being because it's hard and thankless work.

But maybe for older people it would be ok? Embedded projects are usually more "traditionally" programmed and pretty slow moving.

Pay could be better, and hardware bugs can be frustrating, but I definitely respect embedded guys a lot. More than most generalist developers, in fact, due to the atoms-adjacent nature of their work.
Sure, but I mean that they are not so respected in the hierarchy within hardware companies, the way devs are in big tech, say.
Ahhh, that makes much more sense to me. Dovetails a bit with the dick measuring contest folks in the hard sciences like to do about purity.
Yes.

I am 52, having a good workplace but terrible job (bad quality desktop system to maintain, very frustrating like pissing into headwind against a hill), so I am looking around. If you do not have that _specific_tech_stack_ right now with 3+ years day to day proven professional experience (i.e. already working with it 8 hours or more per day for years), knowing its tricks the interviewee finds essential for that particular position among the hundreds out there (good practices) then don't even dream of competing with the dozen plus eager youngsters live and breath obscure tests and open to do anything told, like instant relocation or shady clause in the contract and whatnot - e.g. pretend and lie as some suggest here -, for less than you, because you have a family with needs.

We need luck finding the last places still suitable for the dying breed. Like maintaining a bad quality desktop system among nice people ... maybe I should stick what I have and pray the new owner of the company will keep me after the retiree management sells to.

In Western Europe at least, I think you would have a much better chance if you were applying for a .NET, Java, or PHP position (which given your C experience, you should be able to master any of them). Golang has a much smaller market share here, so that is very limiting (even for younger devs). Most .NET and Java companies I work for would still happily hire experienced senior developers in their 40s or 50s.
Based on the grammar and spelling mistakes in your post, I suspect that your written communication skills might be holding you back. It's quite easy to paste those paragraphs into ChatGPT and say "rewrite this." It will provide you with a clear and error-free version. I recommend doing this for every email you send. It can significantly increase the respect you receive from both your current coworkers and potential employers. Even though I have good grammar, I still use it for half the emails I send to see if they can be improved.
I don't think you're toast. Experienced engineers will always be in demand but this is masked by current economic conditions.

I am working on a project (https://flyingcarcomputer.com) and struggling with C at the moment. If you want to chat, email me at hackernews.vudcc@passmail.net.

46 here and broadly experienced across multiple stacks. My last job ended 3 months ago and the market has been rough in the US at least. I struggle to get interviews. It’s not just you.
Your complaint that jobs are for the specific tech stack is spot on. Employers are currently treating every job as a specialization. It's a combination of a filtering technique (because there are too many candidates for every job right now) and complete stupidity (Because there are too many options for tech stacks so that, sometimes, your pool is very shallow indeed).

I'm older than you are and have been out of work for longer than ever before in my life. BUT I finally got a decent offer and will be starting a new job soon. There is hope.