Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Been writing code for 40 years and can't get hired
110 points by therealdavesky on Dec 26, 2021 | hide | past | favorite | 186 comments
Merry Christmas to all!

I would like to ask the advice of those who have possibly been in my situation:

I am over 50, and have been developing software since the late 70’s. Over the years I switched from being a full timer at Hughes Aircraft in LA to a part time consultant in Hawaii. Things went pretty well for decades, but after a family loss I lost interest in work for several years.

Since then, and after my skills no doubt became somewhat outdated, it is absolutely impossible to find work. The continuous news articles about the “great quit” where many folks are leaving work, as well as the claims that hirers are having great difficulty finding employees seem to be fictional from my POV.

Over the past few years I have been only interviewed once or twice a year by anyone who seemed interested, most notably Google and Facebook, but neither decided I was a worthy hire. At this point it seems impossible to get even a junior developer job! The only interest I ever see is from recruiters overseas, who seem to be matching my resume up with job listings by keyword only.

Does anyone have any advice for a developer who has been writing (and delivering) code for over four decades on how to find a job? How do I make someone believe they are hiring a developer who can deliver? I know it sounds ridiculous, but that’s the situation I am in!

Some tough love here, from the parallel universe you. It was people like you in the late 1970s who inspired me to be a programmer (literally, talking to Hughes aircraft programmers on the bus to high school about the JOVIAL language), but one thing I knew by the time I was about 12, say, 1973 or so, was that aerospace engineering in the Hughes aircraft world was boom and bust. I did not learn programming until I was 21(completely self-taught), in the early 1980s, but what I understood from the beginning was that I had to keep my skills up.

Ever since then, even after getting a job as a program manager at Microsoft in the mid-1990s, I have continued until this day to assume that I would be fired and would have to find another job. Which means that I have studied every day for almost 40 years because I knew someday I would get old and less easy to hire. For the last two decades, I ran an extremely lucrative business, yet continue to keep my skills up.

But I haven’t heard from you is that you have tried to adjust to the market. The simple fact is, if you want to get paid what programmers get paid these days, you need to know what programmers know these days. After all, you made a good living in the 1970s because you had a special set of skills for that era. The easiest thing for you to learn at this point would be database backed web development, perhaps in python or (my favorite), Go. You could learn what you need to learn part time in about a year.

I have this same mindset and the same plan: Keep working, and keep learning. Do you have any insight from your many decades of experience that you would like to share? I would appreciate it.

Thanks for asking. It was a combination of studying the market carefully, taking measured risks, and trying to make myself more competent than 80% of my peers (I am not particularly smart and I learn very slowly, so I never expected to be much better than that).

I have always studied for one career path, and a backup. The thought about the backup was that if I couldn’t get what I wanted most, I would still have something I enjoyed. So I keep up on C but specialize in Go, which was a bit risky 10 years ago.

Another tip is that I have chosen areas that I like, but that are also somewhat challenging. For example, when I started out the first thing I did was learn assembly language because I knew it scared other programmers. Because I didn’t have a degree, I wanted to choose something that would make me irresistible to hire without a degree.

Finally, I thought for myself. When Microsoft called to hire me 25 years ago their own people were fleeing like rats from a sinking ship, because it appeared from the press at the time that Microsoft was losing the Internet wars. My own coworkers were selling their stock like crazy when I joined, and they said the good all days were gone. When I left four years later, my stock options had appreciated 1300%. It wasn’t that I was blindly supporting Microsoft, it was that I chose to believe my own eyes as opposed to what people who had nothing to do with the company were reporting about it.

When I left Microsoft it was during the dot com crash. I bought a small company that provided a service to eBay users and it made in the two digit millions over the next 20 years. My former friends and Microsoft were polite but uncomprehending when I did it, because there just wasn’t any concept of charging for websites at the time. I risk a small part of my retirement fund to buy the company, but not enough that it would’ve hurt the family drastically if I failed. Measured risk.

Getting up to speed with Go coming from another language isn’t a hard ride. I really liked Bill Kennedy’s approach, if you’ve got access to Oreilly (has a 10 day trial) his lectures are available there and you can power through those.

swift seems like a good choice for me, and i am about to release an AR app in swift that produces algorithmic music ... what do you think about swift?

Swift is great. I am actually making a pivot to Swift & iOS/MacOS now. I would say it is more niche than you might imagine and you will be expected to know a lot about the ecosystem.

That being said, I think it is rewarding well payed work.

Apple is greatly increasing its use of swift so that seems like a strong bet to me.

> But I haven’t heard from you is that you have tried to adjust to the market.

Modern market seems to ask from programmers something other than programming. Peter Norvig in the interview to Lex Fridman mentioned that today software is made of building blocks from Internet, not designed from requirements as it used to. For some reasons companies prefer to endlessly lose in dependencies wars rather than have good arguments for why something is developed and something is taken from outside.

The OP problem is rather pervasive, there are some pretty good specialists who can't find a position in months and years because market requirements seems to be rather odd. People who obviously can program and have experience solving problems for business find themselves expected to know technologies du jour when those could be some questionable rehashes of ideas of previous years.

> if you want to get paid what programmers get paid these days

The problem is today's programmers are paid for knowing - preferably early - the hot technologies instead of analyzing and solving the problems with good tools. If a person has enough experience, he may understandably question the kind of a hamster race, so these modern technologies look poor for him.

But that’s how the market works. I have been making bets on what technology would be useful for the last 35 years. There was no one to help me forecast it. I just do things like read hacker news and similar publications. By sticking to the basics while also focusing on areas that I liked I did pretty well. We get paid more than average because there are risks.

Also, I chose some hot technologies that I could tolerate because I understood that’s just where it is. I also learned algorithms on my own and understood when to apply them. If the market asked for hot technologies, you shouldn’t have to adapt. Otherwise you should accept a lower paying job.

> But that’s how the market works.

Yes, and that's the problem for programmers - those who'd prefer to solve problems better in the long run, which costs more in the short run.

In other words, there are programmers, who don't see a point in learning something which isn't really novel and isn't really progressive, but which is required to get a job. Some go for lower salaries, those are sometimes much lower - that's why people with high salaries e.g. from FAANG can be seen as delusional about their actual skills when compared with someone 1/5 of their salaries and stronger design abilities.

The problem - and the associated question - is what to do in the long-irrational market. One answer is known :) but it's not a particularly good one. Hope there are better ones -

> I chose some hot technologies that I could tolerate because I understood that’s just where it is

Sometimes market wants more than you could tolerate - emphasis on the last word.

I have two suggestions. I'm 75 with 54 years programming experience. I got a job because the employer (a university) couldn't find anyone to do the work at a pathetic salary. That's suggestion number one: find an employer who is desperate. The misconceptions and prejudices of the employment system would prevent my resume-application from ever reaching the person making the hiring decision.

The second suggestion is present yourself as a solution to an employer's diversity issue. You would have to lean very hard on this diversity angle to get past the recruiter and the HR office. Once you reach the actual decision maker switch to the benefits offered by a long and diverse career.

Good luck

I'm 64 and been programming for 40 years. I am fortunate that I am able to not work due to a small military disability pension, plus I'll take social security soon.

My last experience was Facebook contacted me a few times, which I blew off because I knew they would never hire me. Finally I told them "You know I'm over 60, right?" and they got off the phone and never called back.

I'm thinking about doing some part time programming on one of the job sites. I'm not thrilled with throwing PHP together, so I haven't tried yet, and program for fun now. In the last couple of pandemic years I've learned Rust, Flutter and lately Blazor, which I just gave up on today. I installed Nodejs to learn React this afternoon. I'm looking for a pleasant way to earn money building front ends.

I conduct interviews for Facebook and we do not discriminate on age. I assume the recruiter just got the impression you really didn’t want to interview with us. I only do the coding interviews but every piece of interview feedback I write is focused on the same criteria and that definitely does not consider age. We don’t even refer to the gender of an applicant in the feedback, and comments on an applicants age would be a quick way for me to get dropped from the interviewer pool.

I said "You know I'm over 60, right?" in a friendly and informative way in case that could be an issue. The correct response would have been your comment, but instead was a quick exit and putting me on the no call list. You may not age discriminate, but that doesn't mean everyone one at Meta (Facebook at the time) does not.

I was aware of Mark Zuckerberg's comment which is why I brought up my age.

“I want to stress the importance of being young and technical,” he said. “Young people are just smarter. Why are most chess masters under 30? I don’t know. Young people just have simpler lives.” -- Mark Zuckerberg, Stanford University in 2007


Edit: I believe you when you say you don't age discriminate. That's because everyone is watching everyone else, including internal lawyers, to make sure you don't so as to avoid law suits. However, the person that called me was on a private phone call with me that wasn't being recorded, so they could get away with it.

This may be off topic, but I don't believe "most chess masters" are under 30, whatever MZ meant by that exactly. ("Chess master" is not a term used in chess.) Most top players seem to reach their highest rating between 35 and 45. Looking at ages of the current world top 100[0], about half seem to be over 30, half under. There are not so many players over 40 or 50 at the top these days though. A classical chess game often goes for 5,6,7 hours, and playing a tournament means doing that every day for a week or two. As most players reach 40 or 50, they start to fade after 5 or 6 hours play. It's stressful and tiring - a single mistake often can lose the game, and lose many hours work, sometimes lose weeks/months/years work.

[0] https://www.2700chess.com/?per-page=100

Your coding interviews are THE filter that discriminates older people. They designed in leetcode-manner and that's clearly a sign that you want younger developers.

There is a feeling that you (being big tech) discriminate.

Not trying to say its true or false... Just saying that it's no different than race or gender.

Great answer. And you can use that as a launching point for your next job. If you’re smart, and the job is sort of easy, you can use some of your hours on the current gig to study for the next one.

thanks. i hear you on the desperate employer thing, that got me a job in 2001 working for DigiEffects when their code broke going from iOS9 to OSX

Have been writing code since the mid '70s. But, that has been mostly with startups. YMMV

Two years ago, I ran out of money. So, I started interviewing. One example was interviewing for the Apple Watch team. My experience included the design and code lead of an Apple Watch product, which was featured by Apple. But, I failed the Coderpad. Why? The interviewer wanted me to use a new Swift generic syntax, which I had never seen before. With an unfamiliar code editor. In under 10 minutes. Did it matter that I had an Apple Watch product, which he could download from the AppStore and ran super fast on a Series 0? Nope. Did it matter that he could download a 29K Swift based functional ontology that I wrote? Nope.

The point is that there are two skills: writing code and getting past the interview. The latter is often conducted by a 20-something, just out of college. So, there is more emphasis on tacit knowledge of the tools and techniques. It feels more like passing a finals exam.

A few years ago my CEO hired Gayle Laakman to prep the team for an acquisition by a FAANG. I loved the puzzles and read her book [1] cover to cover. But, I hated the premise of avoiding "false positives". A famous false negative is Max Howell [2] (who went on to write Apple's Swift Package Manager)

So, how did I get a gig? I kept trying. Learned new frameworks. Focused on jobs interviews which had a take home. During the on-site, I insisted on using my own laptop. An often overlooked factor in achieving a coding flow-state is muscle memory.

I've been told that some companies are shifting from whiteboard to take-home -- particularly during covid. Post covid, if the option is available to you, try moving to the Bay Area or Austin and attend every single hackathon that looks interesting. If you don't want to leave HI, maybe contribute to an open source project in some way.

Or perhaps, start a company. Maybe there's an opportunity in refactoring Aerospace code? I dunno. Now, I'm guessing ...

[1] https://www.amazon.com/Cracking-Coding-Interview-Programming...

[2] https://news.ycombinator.com/item?id=9695102

great observation wrt using your own keyboard to enter stuff...

it has to be remote for me for now because i am stuck in hawaii due to $$ probs

they bay area would be a great place to live, but its hard to get there and i know about the networking prospects when you "just show up", i was in berkeley for a few years back in the 80s: you never know who you will run into over there.

big island? welpers, larry ellison has a huge house over here but he doesnt show up at the supermarket very often...

My situation is somewhat different but there's similarities.

Also over 50 (barely), skills are not exactly outdated (Azure data engineering/analytics), but been looking for a job since being laid off early in the pandemic (going on 1.5 years gap on the resume). Took a few months hiatus in 2020 since the job market was pretty much dead and got a few certifications. Just this month got 4 rejections, partly because of big gap on the resume (specifically mentioned in one of the rejections). Being older white non-veteran male doesn't help either.

What I'm finding interesting is how people surprised that it has been difficult to find a job if you were laid off during or right before the lockdowns. I don't think people realize how difficult it has been to find a job in this environment.

I'm also not observing "labor shortage" which is presumably the result of a "big resignation". Companies are taking their time responding to the applications and scheduling interviews, recruiters and HRs routinely disappear if you don't follow up, a huge percentage of my applications never get answered at all without a way to follow up (I only apply where I see some fit with my skillset), requirements are very specific and at times not realistic. Applied for a position which required min 5 years of experience with Azure Synapse which only went live in 2020. Another company was/is looking for BI director with experience in developing strategic roadmaps, setting up data governance, master data management, building and managing a distributed team, who also has recent 5+ years hands-on experience setting up new BI environment in Azure, designing the data model, building ETLs with Azure Data Factory, and building and maintaining PowerBI dashboards (I was deemed "not hands-on enough").

Slightly going on a tangent here but how does one even approach the HR which has suddenly ghosted you after multiple rounds of what looked like good interviews and what looked like a good match? I guess I’m not really looking for an answer here but some parallel experiences perhaps if you can share.

If you already communicated with a human being in HR RE: the opportunity I'd just ask them (nicely) over the email about the status. I only had one or two cases of person not responding to my emails. If they don't, I just mark status of the opportunity as "Unresponsive" on my list, sigh, and move on.

Sorry to hear it's been rough. But it seems you are getting traction? My philosophy is that half the skill in finding a job, (at least in my recent experience) is luck. Keep trying.

Thank you! Yes at least getting some feedback from my applications now (and interviews) but now people seem shocked that I've been out of the job for 1+ years. I don't think people who haven't been on the job market in the last year or so fully understand how tough things are/were...

that was a great way to describe the jobs paradox right now

Where are you based?


You’ll need to get up to speed with modern interviewing practices. Unless you know someone - people don’t care what you’ve done. They care about how you perform in the interview.

True with most of the top paying companies. I’d suggest doing a 100 problems on LC (try the subject study guides first) before interviewing again.

Doesn’t sound fun but that’s how it is now. The bar is high for all candidates - at least for top paying companies. Haven’t seen one yet that lets you skip the bs unless you know someone high up.

> people don’t care what you’ve done. They care about how you perform in the interview.

I think OP is expecting a level of competence from interviewers that simply doesn’t exist anymore. He’s from a time when the initial conversation would be engineers only and absolutely focused on past projects.

Well, yeah, tough luck. There are people out there who keep complaining about talent shortage, and not finding people to do anything at all. But you go through their hiring process and it's all about 10 rounds of questions on OJ sites like LC. Plus they have a bar raiser round which is just basically more of the same.

This actually makes the problem much worse because the only people who are acing these tests are people who are investing their time in acing these tests and not people who are actually good at their jobs. If you found a job there is little incentive to do any thing at work, and you are just better off continuing to practice interviewing further, so that you can quit to grab another 50% raise in 6 months.

Ironically these kind of people are considered to be in high demand. Most of them haven't done one single turn key project their whole lives, and wouldn't know or even stay to do one if needed. The real ones who have proven track records of delivering projects aren't even considered hiring because they don't know a dozen ways of inverting a tree.

The world is an unfair place, most companies with these hiring processes, have moats which are pretty much an infinite gravy train, so its ok to do all this. This is the game, We just have to deal with this as we go.

I was at AWS for 4 years and spent A LOT of time interviewing. We couldn’t find and interview qualified candidates fast enough. Lots of engineers doing the interviewing; few charlatans.

At AWS, however, it’s important to look at the well-roundedness of the candidate. It doesn’t matter how much code you’ve delivered if you’re an asshole in meetings.

Being a self-starter, earning the trust of your peers, and being highly-focused on customer experience are all soft skills, but are critical to ensuring success in the role. Hiring the wrong person is costly, and even then, many people at AWS wash-out in the first 2 years.

Soft skills and collaborative working habits are MORE important than writing code. Code can be taught. Being collaborative and thinking-like-an-owner is much harder to teach.

Issues like these make me want to move into management and code on my own as a hobby. I am lucky to have a hobby that pays so well but I often see future of programmers bleak.

Just recently two of my friends switched their jobs. They may have spend maximum of 30 mins to prepare for their interviews in total. One is a manager and other is recruiter. Their interviews were quick and didn't take more than 3-4 hours each. Not only that they claim they enjoyed the interview process.

Our interviews are so grueling, we need to spend hours preparing for our interviews. We are treated like liars and need to proof that we are not lying. I don't know why we take this abuse and how we can fight it. It has been really frustrating for me lately.

Damn Straight. It amazes me how little interviewers seem to care about how_much_code_you_have_delivered... honestly, what else is there?

How would an interviewer verify how much code you have delivered? And what quality that code was?

I'm not trying to sound like a smartass. This is a real problem. I've been bitten before by candidates with big stories to tell about their past deliverables, but were a fountain of bugs once they were hired. Sometimes it's easy to tell, sometimes candidates background is a bit different than yours so you can't easily judge if them writing three customized discombobulators for flux capacitance use cases is something challenging or not. What is more, barely anyone writes alone. We almost all work in teams, and it's easy to claim N% of contribution to the code the team has written. In many cases you will be able to somewhat confidently speak about other people's code since you've been reading and reviewing it.

> I think OP is expecting a level of competence from interviewers that simply doesn’t exist anymore.

No. OP has not realized that the job market has plenty of charlatans who can talk well, but can't do the job.

That’s why you need competent interviews. Charlatans don’t make it past engineers.

With respect, most of the charlatans I’ve seen over the years have been the people conducting the interviews.

Fortunately, that hasn’t always been the case, otherwise I wouldn’t be in the job I am today. But that does seem to be the exception rather than the rule.

> Charlatans don’t make it past engineers.

There is plenty of evidence that this just isn't true.

Just ask someone to apply claimed knowledge to a novel situation. You can’t bullshit your way through that with someone who does work sitting in the room.

I second that.

LC is https://leetcode.com/

There are other similar websites for practicing interview questions. The important thing is to use at least one of them.

I spent 6 weeks doing Leetcode problems, mostly medium-level ones. However when the take-home project was assigned, my submittal crashed on their end, even though it ran on my end on two different simulators and my phone! That pretty much canned my application there and then, even though the engineer agreed with me that the crash was VERY weird... it involved iOS crashing while adding a valid string to a Set, which was non-null! Given the opportunity, I could have quickly changed the Set usage to an Array, but that wasn't put on the table. In other words, a real-world fix didn't make sense to them!



I would never work at a FAANG unless I had no other option. They will pay you handsomely, but they will take their pound of flesh. It's also extremely monocultural: your life, your world, your culture, is about their bottom line.

Personally, if I was presented with a leetcode interview (I was interviewing a few months ago), I bowed out pretty damned quickly.

You really need to catch up on the tech. In addition to what the other comments are saying, look into contributing: https://github.com/MunGell/awesome-for-beginners

Obviously, FAANG is for some people. You seriously need to have a very hard think if that is you.

What you are saying is true of only a handful of business units in these companies. The rest of the supporting engineering staff does like 5-30 hours of actual work per week and some of the most stress comes from feeling under utilized or unimportant.

Yeah idk what model the OP has of FAANGs in his/her mind, but it's totally misaligned with reality.

Some roles at Amazon fit that model. But most roles at bigcorps are where you go to coast, vs startups where you have to actually show results and put in a full 40 (at least) hours a week.

I must confess, I was recently hired by AWS. I didn’t see any LeetCode.

Maybe I’m lucky, but the hiring process is actually quite involved from what I’ve seen, and they have some very specific processes that they go through to try and make sure you’re a good fit for the team and will likely be able to do the job well.

Maybe some of the more dev-focused jobs do have a shared coding environment that they want you to use for the examples they will want you to go through, but they also tell you in advance what that environment is so that you can play around with it before the interview and so that it won’t be totally alien to you.

Despite various laws etc, don't mention your age on your resume, and only list a few previous roles (perhaps the last 5-8 years max with "more details available on request" or something vague). Don't put your graduation date etc. Don't list job history going back decades. Basically don't give people any ammo to think you are "old".

Bias - unconscious or otherwise - is real. It sucks but you may need to try to work around it and play the games. Don't lie, just don't mention it or bring it up.

Good luck.

I've been in this situation and I second this strategy. I removed ten+ years from my resume's experience section, removed graduation dates, and immediately saw an uptick in calls.

It isn't necessarily bias against age; it's bias against "overwhelming experience" that scares hiring off, for various reasons. But the result is the same.

As a web developer who works almost exclusively in PHP/SQL and devops, if I was presented with a "Leetcode" challenge or any other intentionally esoteric / purely theoretical bullshit interview technique I would immediately but politely excuse myself from the process.

That nonsense is utterly non-representative of what the average programmer will be doing on a daily basis.

Even Leetcode's most "easy" problem just seems utterly ridiculous to me: https://leetcode.com/problems/two-sum/

What next? "Vim golf" scores in interviews?

> Even Leetcode's most "easy" problem just seems utterly ridiculous to me

Generalized slightly from the specifics, “return the indexes of the elements, one from each list, constituting a tuple satisfying a predicate” is not an utterly ridiculous task unrepresentative of things real programmers need to understand how to do. Yeah, usually it won't be lists of integers or the sun operation returning a particular value as the predicate, but none of that is particularly significant to the task.

The problem as I've experienced it is they hire you based on the code example from the interview and then the actual job requires you to know all the orchestration components (puppet, chef, kubernetes, package manager and system settings, etc) to bootstrap the virtual machine OS or cloud component that then will require you to know the particular OS distro CLI or cloud API to then run the code upon.

In my experience, I spend 80% of my time just figuring out how to get the code to run safely and properly and then chugging through the "stack" part of the full stack programmer before I'm even able to run my code at scale. The actual code itself tends to be simple. Sometimes already existing in a very fleshed out and optimized library, sometimes even core to the language itself.

It's really more endemic of more the prevalent problem that what HR thinks programming tends to not be what programmers actually do.

You think finding two numbers in an array is ridiculous? How do you think software like the OS, web browser etc. is made? Someone has to do stuff like this...

Yeah I totally get it. It's just not nearly as relevant for my industry (web dev) as it is for actual rocket science, for example.

I don’t remember the problems Google asked me to solve, there were 5 of them during a daylong interview in Mountain View. WRT Facebook, the problems were a schedule organizer (iOS) and a contact tracer (iOS). The FB second problem was a NSRange intersection problem.

I agree that leetcode-esque problems used to decide aptitude are a poor judge of overall performance, and it may show a bit of desperation (and slacker behavior) coming from the HR departments of MANGA companies

Yes I have done this in my 40s: Go to a coding boot camp. Sure, you will be possibly the oldest one there, but do it. Do the work, stay humble. Choose a focus (front end, full stack, backend) and sharpen on the latest tech.

I went in-person, but remote learning could work. I highly recommend choosing somewhere where there is code peer-reviews and instructor reviews. Self-learning is harder than it looks when you have a family.

When I recently was hired, I noted they specifically wanted cloud programmers, not local desktop programmers. Therefore, make sure you choose a bootcamp that works with Heroku or AWS or Vultr, etc, to get that exposure.

Also, consider going to local meetups that focus on coding (meetup.com or other channels). Listen to what they're talking about and what the latest trends are. Some even offer mentorships.

You can do it. (And after you've done it, help others.)

The churn rate of current software development practice is quite rapid. When you took several years off, you "fell out of the job market". In effect, you need to reboot your skill & tool set to make current.

In addition, you must reboot your interviewing skills. I've been a professional software interviewer (600+ interviews) and have seen most very experienced software developers do quite poorly during interviews. The interview skills required for FAANG-like companies and startups alike are very different from the skills required to work as a typical software engineer.

The interview is the gateway to getting the job. As such, good or great interview skills (i.e. algorithms, data structures, time & space complexity) are a pre-requisite to getting a job.

I hope that the above advice is useful and helpful.

> I've been a professional software interviewer (600+ interviews) and have seen most very experienced software developers do quite poorly during interviews.

So... you've 1) realized you're dealing with experienced people and 2) yet discarded them based on irrelevant "interview skills"?

How does this serve the company trying to hire someone?

FWIW, the couple of times I've interviewed someone -- I've always given the guy a 2nd chance if I've seen he's obviously nervous or just not on a good day, but has the material. Even an autistic nerd like myself can spot that and have the common decency to look past trivial human weaknesses.

Besides, I'd rather pick a genuine human being as a colleague rather than some overbearing, over-social, potentially arrogant prick whose competitive urges are liable to disrupt technical decision making down the line. Those types belong in the suite & tie department, not in tech.

Interviews at FAANG don’t really work like that. The typical interviewer has very little say in metrics used to evaluate the candidate. Their job is to evaluate the candidate based only on those metrics, with little room for anything else.

Part of the reason is standardisation. There is lots of training given to avoid bias. I think you’ve misunderstood what the parent meant by interview skills. The criteria don’t select for social skills (beyond the basic), but rather for algorithmic skill. However, most day-to-day development will not require as much of it, which is the parent’s point.

I think most people are aware that the system is not perfect, but the process of determining the metrics (as far as I understand it; I’m a fairly new interviewer) is pretty data based. It’s been optimised to hire people without relying heavily on the interviewers all being very experienced (because that doesn’t scale enough for FAANG).

Also the 'metrics' being used to make the final decision are secret, most likely not known even by the interviewer. This prevents gaming the system but the lack of transparency makes it easy to imagine that MANGA companies choose new hires the same way that South Park depicted the FED making economic decisions: with a headless chicken running around and finally falling down on a big diagram.

> Also the 'metrics' being used to make the final decision are secret

The metrics are known. However, their weights may be unknown.

What is missing from the interview process is actionable feedback.

Some firms provide practice interviews (for pay) with detailed feedback.

> How does this serve the company trying to hire someone?

The interviews are designed to evaluate algorithm & data structure knowledge and proficiency. Most experienced software engineers have not kept up to speed with such knowledge since they were in school. It is not their fault, as most jobs/projects don't require maintaining such knowledge in order to be effective on a day-to-day basis.

N.B. The interview firm I worked provided the option for a second interview if the candidate believed that the first interview did not provide an accurate assessment of their skills.

In any STEM profession, one's academic knowledge "expires" in 5 years or so. Continual learning & practice (incl. interviewing skills) is a requirement to maintain employability in a field.

Like you said,

> most jobs/projects don't require maintaining such knowledge in order to be effective on a day-to-day basis.

This is common knowledge to any developer - you really don't need the academic angle most of the time.

So... how does rejecting on that basis serve the company trying to hire someone?

> So... how does rejecting on that basis serve the company trying to hire someone?

One way to describe the rationale is that the hiring firm is hiring for 2-sigma capabilities versus 0-sigma or 1-sigma capabilities.

The ability of a software engineer to "shift gears" to the 2-sigma skill set when outlier conditions (e.g. debugging rare events, performance issues et cetera) occur is a form of insurance against having to contract outside resources.

N.B. I am one of those outside resources that gets called in when none of the FTE staff can resolve a difficult (aka "burning platform") problem.

If you "have seen most very experienced software developers do quite poorly during interviews" then you are the problem. Change the way you interview.


thanks. that is a good observation. tomorrow i will be talking with a meta recruiter who has already emailed me that i am "100% what they are looking for" ...but ... maybe would you like passing these coding tests first???

WTF! It's your job to find people who can do the work. It is NOT the applicant's job to fit your preferred interview design. Talk about arrogance!

It's a description of reality. We can agree the situation is unfair, and that the big companies show an arrogant approach, but if you want to get hired you have to conform to what is asked and expected.

I get what you're saying but this attitude is what essentially says "Developers are ok with this crap so keep doing it please". Or, in other words, you say it's unfair but then participate anyways and whatever you say no longer has value.

It really doesn't take much effort. Non compliance to this kind of interview BS would make at of these unfair practices go away.

There are thousands of people looking for jobs at any particular moment who "can do the work."

If you are searching for your next position out of need, then you are not special. The employees who can afford to have egos are those who are being recruited.

Maybe it is his job to execute the interview design.

Absolutely! You get fired if you don't. The hiring firm wants a quantitative & unbiased comparison of all candidates.

If an applicant needs the job more than the company needs that applicant, then yes it is the applicant who will have to blink first.

I take it you have never heard about the Criteria Cognitive Aptitude Test (or similar) that every candidate has to take nowadays even before being invited for a technical interview.

I’ve spent past 2 years interviewing at all sorts of companies (from FAANG to small startups to fintech) while working at my current place, and just recently accepted an offer.

Only counting those where i got all the way to the final rounds, my sample size is roughly 15-20. Not even once have I encountered anything even remotely similar to the Criteria Cognitive Aptitude test, and neither have I heard of it from friends of mine who were interviewing as well. I had a couple “take home programming challenge” things as a filter before the initial interview, but they were either leetcode-like or project-based, not some diet coke version of IQ testing.

With that in mind, it seems blatantly wrong to say that “this is everywhere these days”. Out of curiosity, what type of companies did you encounter that tested you with a cognitive aptitude test? No need for company names if you arent comfortable sharing, just curious about what type of companies those were (e.g., small startups or big tech or non-tech big companies or etc.).

> As such, good or great interview skills (i.e. algorithms, data structures, time & space complexity) are a pre-requisite to getting a job.

This is so wrong. Headhunters are acting like typical bureaucrats and instead of adapting their approach to make it better at finding the actual talent (the whole point of their job), they push for developers to fit their stereotype tests better.

Just like back in the school when we had to learn what professors want to see in essays, instead of learning to actually write better...

> This is so wrong. Headhunters are acting like typical bureaucrats and instead of adapting their approach to make it better at finding the actual talent (the whole point of their job), they push for developers to fit their stereotype tests better.

The interview requirements & assessments are driven by the hiring companies and not the headhunters.

Scaling technical interviews of this kind has created $1 billion companies recently.

Technology employers want an unbiased assessment of a candidates skills - like any other firm.

> The interview requirements & assessments are driven by the hiring companies and not the headhunters

And it's exactly what drives the bureaucracy, the transfer of responsibility. All you need to do is blindly follow the request in the most defensive possible way and no one will ever be able to accuse you of screwing it up. So you have headhunters who just follow the clients' briefs, client's HR follows their playbooks to cover their asses, and as long as they all get paid in the end of the month, who cares if you miss to hire some really talented people. It's developer's mistake, they should have prepared better for the test.

And I'm not trying to accuse anyone here of being guilty in particular, just to point that the whole process of hiring is deeply flowed by the very design. On the brighter note, it motivates a lot of really smart people to stay out of big corp world and go indie, which is actually great...

absolutely on the skills evaluations! delivering code cant be summed up on a spreadsheet

The technical interview is designed to be a small-scale exercise in delivering code.

Some firms provide take-home problems/projects - typically with a time limit. Their objective is to provide a more realistic scenario for writing code while evaluating the candidates technical skills.

> I've been a professional software interviewer (600+ interviews) and have seen most very experienced software developers do quite poorly during interviews.

It seems that -- to use some old AI jargon -- the difference is between "forward chaining" vs "backward chaining". Forward chaining is all about the set of tools and techniques to work towards a variety of problems. Backward chaining is all about starting from a specific problem and and curating the best tools and techniques.

Very experienced programmers will have spent most of their time Backward Chaining. New programmers will have spent most of their time focused on Forward Chaining.

Here is where I see the disconnect: it may take days to learn a new tool or technique. However, it can take years to learn how to curate the best tool or technique. Long term thinking is undervalued.

For additional information regarding current technical interviews please refer to this class offered by the Stanford University Computer Science department:

CS 9: Problem-Solving for the CS Technical Interview


> The interview skills required for FAANG-like companies and startups alike are very different from the skills required to work as a typical software engineer.

What are those start up skills?

I was referring these common interview skills:

Understanding the problem

Stating one's assumptions

Verifying one's assumptions

Selecting a data structure appropriate for the problem

Selecting or describing an algorithm appropriate for the problem

Selecting test cases appropriate for the problem

Writing the code

Verifying the correctness of the code

Understanding & communicating the time & space complexity of your solution

N.B. IMO, the best programming language for technical interviews is Python. It provides many built-in data structures and methods that make one's solutions brief and eliminate the need to write a lot of boilerplate code.

I don't see anything special in this list

>It provides many built-in data structures and methods that make one's solutions brief and eliminate the need to write a lot of boilerplate code.

Could you name some? the most important / handy in your opinion?

Data structures:


dictionary/hashmap/hash table


priority queue





contains key

list comprehension

N.B. I've done most of my interviews in C and watching me code has been referred as "watching paint dry" because of all of the boilerplate code that I have to write.

It feels very standard, don't all language have it in their standard libs?

C# has all of this + LINQ (very handy list comprehension?)

Java probably too + it has streams

Idk about other

> It feels very standard, don't all language have it in their standard libs?

Many do. However, ease of use is an issue.

Some interviews don't allow you to look up the names of types & methods nor use IDEs that provide pop-up lists of types & method names.

You have to everything in a basic editor w/o IDE support.

dont forget graph theory. FB caught me off guard on a takehome project which involved contact tracing (very timely in 2021) Dyjkstra's algorithm (spelling?) and backward tracing through graph nodes

Yes, I forgot Depth-First Search/Traversal and Breadth-First Search/Traversal.

Those two algorithms are the workhorses of graph algorithms.

Advanced graph algorithms include Dijkstra's algorithm, Minimum Spanning Tree, Strongly Connected Components, among others.

In addition, dynamic programming (DP) also shows up as a more advanced algorithm/technique in high-level interviews.

Excellent list, thank you!

I agree, we interviewed some potentially skilled people that just didn't interview well. Even when I interview, I must have someone give me several warm up interviews.

you are right, but maybe if they asked me "whats your best area"? and then asked me to do something imaginative in that area then perhaps that would reveal more of a developer's talent than mere algorithm testing...??

IMO, the reasons for algorithm testing are the following, but not limited to:

Unbiased assessment of candidates for "apples to apples" comparisons

See if the candidate has skills deeper than typical day-today skills that can called on if needed

Demonstrate an understanding of performance trade-offs that have profound economic impact on the delivered solution(s)

Demonstrate the ability to create solutions beyond "textbook" solutions when required

Screen out quickly candidates who lie about their technical capabilities on their resume

I hope the above list is useful and/or helpful.

Two pieces of advice:

1) Think of getting hired as a numbers game, and think of applying for a job as a sales process. That means having a funnel for companies, e.g. "discovered -> openings available -> resume drop -> recruiter screen -> interview round 1,2,3 -> offer". Make a spreadsheet and start filling it; don't just list companies you know about, start googling tech you're interested in to find more companies you can add. If certain types of interviews seem to go better, look for similar companies you can add, too (as musesum suggested)

2) As others have said, gaming the interview process (with e.g. leetcode) can only help you. Perhaps unlike other commenters, though, my advice (based on a friend's long-term unemployment situation) is to focus on fixing "only interviewed once or twice a year" rather than "my skills no doubt became somewhat outdated," at least for a few months. If you do notice a big drop-off in your funnel (recruiter screen, first round interview) then focus on that part.

> Since then, and after my skills no doubt became somewhat outdated, it is absolutely impossible to find work.

This seems like the obvious problem here. You need to make sure that you have skills that are relevant for the current job market. If you're an experienced developer then it shouldn't take you very long to get up to speed, but you can't expect to just not learn anything new and walk into a job.

I would recommend picking a technology, spending 4-6 weeks learning it (in this time you can also produce some sample project code that you can use to convince potential employers of your skill), then start applying for jobs.

I agree. As a follow up, the OP might benefit from posting the skills they emphasize on their resume and maybe we can confirm whether or not they are indeed outdated, and make suggestions on what new technologies they can learn.

Big tech is very much ageist. It goes beyond discrimination during the interview process. Companies like this will take steps to weed older folks out of their company for good, it's awful. What programming languages and skills do you have on your resume?

I didn’t expect so many replies, thanks for the help! Over the years my skills have been spread across a variety of platforms: >>Most types of UIs: text based, old school assembly code, weak in react but strong in iOS >>2D / 3D interfaces and data visualization: 3D simulators and demos for aerospace >>Multimedia / Transmedia : After Effects plugins, music videos, analog studio expertise >>VRML visuals: did lots of live EDM shows on Maui in the nineties, the app is called SpacePark, but only runs in VRML

My “real world” resume i.e. "what have you done for me lately?" can be seen on the app store (iOS)

     huedoku  (its a color game)
     huedoku pix  (sharable games)
     oogiecam  (synaesthetic app, converts colors to sounds)

again thanks for the input

Most of those skills are still applicable today. I'm gonna go against what others are saying, I don't think you need to upgrade anything. I wouldn't apply to web companies unless they need an iOS dev. Objective-C is high pay but you should stay in the music industry if that's what you like. It's not like you only know ASM or COBOL.

Oh, iOS experience? Your skills are in demand in the e-commerce space. The past two companies I worked for were always looking for iOS/Swift developers. Keep applying!

Whenever companies lay off a significant amount of people they have to be very careful they don't fire more older people or they run into problems with Dept of Labor. Most FAANG big tech hasn't had to layoff much if ever yet but it's true for older companies like Sun, Cisco, Yahoo etc.

There's a lot of banks in Europe that have Cobol and M4 legacy systems which need maintenance. Banks tend to pay well and there's few young people competing for these boring jobs.

I'd say double down on the fact that you have experience with old technology. Then find a good headhunter / recruitment firm to work with you. If you're willing to start out as an external contractor, they might get you started working without any interview at all.

Also, do some projects just for fun. Nothing screams "fake" like a self-proclaimed experienced coder with no battle stories.

All banks AFAIk not just EU banks.

Build a side project using modern tech. You’ll learn a bunch and then you can put those skills on your CV. I’m happy to look over your CV and guide you on stuff I would look out for. There are also programmes for people that have been out of the industry for a while.

+1 on this. Code some project on a pro bono basis using the latest tech, then use that as your ticket.

One problem with this is that when you learn a new technology on your own, you’re likely to use patterns and idioms of the language/tech you know best, and not the appropriate ones that an experienced developer would use. When the prospective employer looks at the code, it will often seem completely naive.

As an example, when I was trying to make the transition from C and Python to C++, I wrote a moderately sized interactive, real time, visual programming language. I didn’t ever show it to anyone, but I went back and looked at it a year later: I totally facepalmed because it was filled with glaring indications that I totally wasn’t a C++ programmer. For example, I often accessed an object’s members with “this->bar” (like in Python, where you use “self.bar”).

I certainly learned a lot, so it wasn’t a waste of time (and it was a fun project for me anyway). If I had a really good friend or mentor who would have been willing to invest the time to do an extensive code review first, then it might have been a useful demo. But at the time, I had no idea just how little I knew!

here are two side projects, please let me know what you think:

huedoku.com (and the app on itunes)

oogiecam (on itunes)


The first two Download on App Store buttons aren’t links to the App Store. (The third Same Same Or is, but is missing a game screen shot on the web. All Safari on iOS.)

Huedoko is fun for the first few plays anyway. I love the clever name. Being 4 years old and never updated may not “read” the greatest evidence that you’re actively developing.

The core gameplay is alright. It’s not going to be a game that I’ll find addictive, but the core gameplay was interesting and different in a generally good way.

What was missing was some of the challenge/fun elements of modern puzzle games. A timer, a target number of moves, maybe locking in the squares that were already correct. (Why would it move them anyway once I knew they were correct?)

It was also missing some polish. On an XS Max, it didn’t fill the screen. Every so often, I would end up with a solid red screen that I had to click on to proceed.

In your shoes, I’d consider using that app as the basis to rewrite it in React Native. That will give you a game where you know the core dynamics and gameplay, a modern platform that’s highly relevant and well-understood by recruiters.

For oogieCam, I got nothing at all useful until I realized I had to turn off the hardware mute button on my phone (which generally lives engaged but if you can find in software the fact that it’s set, you could give the user a hint). This one’s much more on me than you/the app, but a recruiter or hiring manager is going to be making a 5 minute judgment, so maximize your chances.

Best of luck!

+1 learn, build and show.

Someone else already mentioned it but I also think it is a good idea to look for University IT/DevOps positions, or maybe scientific computing, etc. They are generally much more interested in reliability over risk and are much happier with someone who will hold things together for a few decades than someone who will bring in fads and then get hired away.

Looks like a lot of advice here is around learning new languages and “staying current”, it seems like this can become a treadmill/rat-race best suited to more junior positions. If you have them, I would advocate you play up your leadership “high leverage” skills, not management mind you, but technical leadership. These will age the best over time, can offer high returns on effort, and get you more appreciation. You still need to interview well but the focus becomes less on what specific language you know and more on how you can deliver for the company.

I would absolutely recommend contracting. Contracting world is full of bs and of profoundly unqualified people still getting paid well. Someone with a track record like yours will clearly stand out there.

sorry, i wasnt clear enough. the last half of my career was exclusively doing freelance work, Hughes laid me off in 1998.

therealdavesky I'm over 60, became employed recently for the first time in 11 years. I've been independent 1099 for about 1/2 of my career. My history is mostly in C language embedded systems.

Just keep hammering on indeed, or whatever other site you're applying on.

It took me 6 months to get employed. With many many multi-interview companies not offering in the end.

Just keep at it, you'll find a match...

How many applications are you sending out and who are you applying to? Are you contacting recruiters? That's important information missing here.

I suggest looking at startups as I imagine the number of applicants is much less and interviews are less "leetcode"-oriented. Also as someone else suggested, you can look for consulting work, then if you want to transition to full-time you will have up-to-date experience.

You should contact a technical recruiter. There are I'm sure thousands of software development openings in your area from companies you have never heard of but with salaries that are 60-80% of FAANG.

i forgot to indicate where I am. if I was in silicon valley it may be a bit easier to get references, currently i am in the rainforest on the big island and they sub out all their tech to the mainland here.

Ok! Are you planning to stay there and try to work remotely? Or are you willing to relocate to an environment with more on-site work available?

hawaii is only a nice place to live if you have lotsa $$$ i am willing to relocate tomorrow. just send me an airline ticket.

Just quick perspective check: Facebook and Google are high bars to set for yourself. With some hyperbole we could say that’s like saying you’ve been paying the guitar for 40 years but neither the Beatles nor Stones would hire you. You could have a great and lucrative career playing guitar for, like, the Pretenders or something.

Each of those hire thousands of employees and they are saying that 40 years experience is less important than 6 months of leetcode. The analogy doesn’t fit

I think the analogy is quite correct. I am a fairly accomplished technologist but have failed every google/facebook interview I've had. I just can't do leetcode, and study for the interview. After a few failed interviews, I just don't accept interviews from such companies any more. I still make a decent living. Could I become rich at a FANG? Of course .. but there are other things more important to me to study (I study all the time .. just follow my curiosity .. not for tests). So my one piece of advice for the OP is aim a bit lower... there are tons of companies that are not fangs and still pay reasonably well for hard working, smart techies.

Finance is one field which is desperate for good coders, and which is using tons of outdated software. I'm sure there are other fields like that, too - think really old companies with critical software that can't be ported to newer paradigms in case some tiny oversight breaks it.

I am 55. 39 years since I got my first programming job. I long ago lost my interest in production coding, but my coding skills are highly valued in the testing/training/consulting world.

Part of your problem is that the world expects guys of our age to have moved into leadership positions. For instance, I have two part-time consulting gigs right now where I do coding to get the kids started with certain test tools that they didn’t realize they should have created before I came along. I’m ostensibly coaching and training. But coding is a helpful part of that.

Another part of your problem is it sounds like you don’t know anyone. I got both my current gigs because former colleagues hired me. Socialize!

I'm not sure what you mean for outdated skills? Where I work we don't usually hire for tech stack or languages, we test more design pattern, principles, architectural knowledge even knowledge about paradigms, which are like not things that change often, I guess you have to know what pattern becomes an antipattern. I think maybe you might have found some javascript developers that to me have always felt very stuck and introvert(?) with their tech stack or last framework hunting, but I think to be able to give you an informed opinion one should know also what kind of knowledge you have and what have you built, and what kind of positions you're applying to

If you'd like to send over your resume we can exchange emails and I'd be happy to give some pointers on what might stand out for a modern resume, or also recommend techs you could try get some practice with that are in demand now.

please email me at fraktalmaui@gmail.com thanks!

> Over the past few years I have been only interviewed once or twice a year by anyone who seemed interested, most notably Google and Facebook, but neither decided I was a worthy hire. At this point it seems impossible to get even a junior developer job!

I don't see how you can have a mere two job interviews (that likely have many applicants each) and then arrive at this conclusion.

How many jobs have you applied to? What are you doing to stay up-to-date or get back up to speed?

obviously i havent applied enough. it is usually about 10 per month.

It really is a numbers game. You should apply to ten PER DAY.

Apply to some places you wouldn’t necessarily even want to work at, because they might surprise you by being better than expected, or meeting someone you think would be a great manager or colleague.

Also, message a lot of recruiters, both independent and those at specific companies. Recruiters move around a lot and may refer you to places you’d never think of, and jobs that aren’t well publicized.

Good luck! Please post an update here in a few months.

Think like an insecure beginner. Learn to write React JavaScript framework.

Don’t overthink this and don’t think like a technologist. If you can write small declarative code islands to put text into a browser you can get hired for six figures. You have to be willing to be trendy and preference tools over code while working with people in their lower 20s who may or may not value programming experience.

i hear you, but i need to think more iOS for the time being, what about swiftUI? is it still too early in swiftUIs life to write real apps?

I don't really know much about that job market but I would just point out that becoming a deeper expert in something very iOS developer specific might be a strategic mistake compared to learning just enough about the non-native apps people's needs to help them publish their apps on iOS.

With one group you may be a specialist now while with the other they may always have a proof you are not a true scottsmann if staying a scottsmann is their full-time job.

This is why young people should save / invest / risk up in their late 20's and early 30's. Be in a position where you don't really have to work in your 50's or at least maintain the energy to pivot when you realize you are no longer as valuable as you thought. I've already started to feel this at 28.

One possibility is to chose a specialty that is in high demand, and where you are not competing directly with large numbers of younger people. So, for instance:

1. Don't focus on frontend work. There are large numbers of young people going through development bootcamps and there specializing in front end work.

2. Maybe focus on devops. Right now, in New York City, the top devops people are charging between $200 and $300 an hour. And, in my experience (and with some notable exceptions) devops people tend to be older. But this strategy would require you to push yourself very hard to come up to speed on modern devops, which is a vast subject. It really depends on your own self-discipline. If you don't know much about this topic, you'll need to study 12 hours a day for 6 months to come up to speed. But presumably you already know some of the languages that play a large role. Ideally, you already know Python, as Ansible still plays a large role in devops.

If contract work is an option for you, I have a few ideas that might be interesting for you. As an independent consultant, I'm continuously reading the market to get a feeling for current and future demand. This thread is filled with great advice on upgrading skillset and I +1 to all of that because having a viable skillset is a prerequisite for a lot of jobs. You can get some experience by contributing to open source, which is something you discuss in a potential interview - recruiters might not care about it but someone interviewing you might.

On contract work, you'll need to select the recruiters you want to work with. Large recruiting firms have clients all over town and if they send out your resume, they send it to everyone. Essentially, this means if you give your resume to too many recruiters, you're hurting your job prospects. Many hiring managers will skip resumes that are multi-submitted because they don't want to deal with the hassle of which recruiter gets paid if they want to hire you. What has worked well for me, when I use a recruiter, is to go with individuals or small shops that don't have the reach of the larger firms. They're also more likely to pay attention to you because of a candidate shortage and thus easier to create a relationship because you're taking a bet on them as much as they are on you. Go after Jr. developer roles for whatever they want to pay you.

The idea here is to get your foot in the door on any software development work possible. This corresponds to the business perspective of being a contractor, the market determines what you're able to do. When times were hard, my rate went down and I took less desirable work - but it was work. The benefit of any work over no work is (beyond bringing in > $0) that people would rather hire developers that are already working. With contracting, you can get a 3, 6, 12 month gig and get experience. When that's over, it's easier to get the next (better) gig at higher pay - just work your way up over time.

Another idea is to scan CraigsList, attend user groups, or network locally to see if there are any companies or individuals looking for software help. Volunteer work is better than nothing too. Then submit a proposal that is dirt cheap enough to get the work - again this type of market is cost conscious. There are also very few developers, beyond college students, who are willing to do this type of work, especially in today's competitive market. It isn't much, but all of the sudden you have something current on your resume.

A Jr. Developer job is just fine for me, however the last time FB talked to me they said they were looking for a particular job role (it was lead Developer) and would'nt bump me down... how do you look for a lesser role if you cant be hired for a bigger one?

Here are answers to some earlier questions, so my situation may become a bit more clear:

“Tell us more about what you want to do.”

It didn’t seem on-topic to mention goals and such in my original query, so here is a short list of software goals and answers to a question above:

    creating a “killer app” :  Since the 80’s. many many tries.
     was lucky enough to work on CineLook for several years,
    synesthesia: the merging and mixing of different types of media : this has been a fixation of mine for decades

    making UI’s that look good AND are easy to use

    data visualization:  good data visualization can really help 

    game development: my first app that sold was a math game
. . .

“Do you have anything you want focus on or do you pride yourself on being a generalist?”

It seems to me that AR will become the de facto standard for UI/UX, and most software will need to adapt to that new metaphor. That includes multimedia and musical software. It would be great to help out in that area somehow. In the 90s I wrote lots of in-house tools, which required me to think like a generalist. This sort of work is fine for me but I would place it as a second priority desire in a perfect world.

. . . “Architect, team lead, or pure development of a system from day to day?” Have led a team on a few occasions and was able to handle it but it would depend on the team. Have done pure development for decades but it doesn’t have to be the only thing I do.

. . .

“And business domains that you’re especially familiar with or interested in?”

Anything involving new uses of media and trans-media. Some things being done in aerospace are very appealing, such as the concept of a 3D-printed rocket. Financials are interesting also, as would be supporting research in astronomy, physics (especially superconductivity) or perhaps infrastructure. Education is also a great field to do work in.

thanks once again for all the info and support!

I'm over 50 as well, and my last job search took 4 months (being fairly picky about what I wanted..).

The key is to 'work the ends' - the demand in tech is in really old tech (COBOL, RPG, CICS) and really new tech ('cloud', Rust, tech-de-jour). Middle ground (Java, C, python (sorta), perl, etc) is either low demand/pay or saturated with people all ready.

Also, trite as it seems - two best resources I have for leads are LinkedIn and personal network. Make sure your LinkedIn provides a good indication of not only what you're good at, but also what you're interested in.

First of the year is coming up, and that always brings a slew of new positions! Make sure everything is up to date, and keep an eye out for positions that seem interesting!

Good Luck!

Well, I can't claim to be making a _good_ living, but if you look online at sites like Upwork or even reddit or various Discord channels, there is a lot of demand for programmers who are willing to work for cheap. And that may not be an option for someone with a family, but there are also a few clients here and there with real budgets.

One of the nice things about freelancing is that if I don't want to use React or Svelte or whatever the latest CSS framework is, there are projects who don't really care and let me do things how I want.

The other idea related to that is whatever business niche it is you have experience or interest in try to follow that community and see if there is any tool you can build.

Question to the audience:

Given the prevalence of Stackoverflow, Reddit, &c, and the launch of https://repost.aws , has anyone gotten on there and demonstrated enough technical heft to turn into an interview?

I get the occasional ping on LinkedIn, but haven't really followed up on that.

Answer to the author: You probably know the deal about cleared work as government contractor. Relatively stable gigs, but nearly impossible to stay cutting edge. You may need to take a "murder" job for long enough to kick-start the resume, but you'd have to satisfy yourself as to why you'd eat the indenture.

I was in a similar situation in 2007 having been out of programming work since the dot com bust in 2001. I got hired at a small startup where I happened to do well on the interview - I aced a couple of brain teaser like interview questions and just happened to be a cultural and personal good fit with the interviewers. I then got to choose the front end framework for the company and chose ExtJS and that keyword on my resume got me headhunted into a major tech firm 6 months later. So pick some current hot tech stack/framework and get some experience with it even if you have to work on open source or pro bono for a bit.

In addition to the other great suggestions: think about how you present your attitude during the interview process.

IME, many hiring managers want to see passion (desire to focus on the user/mission), drive (evidence you will work hard), and humility (ability to be a team player), in addion to technical skills.

Displaing corresponding negative traits can really undermine their view of you. For example, cynicism, ignorance/resistance to hot/new tech/approaches, lack of interest in learning on your own time, condescension for decisions they have made, disdain for the hiring process, etc.

ummm. also i have an iterview with meta tomorrow morning.

I would strongly, STRONGLY advise you to email the recruiter and say that after getting some more info about the process, you would like to please postpone the interview.

Get yourself onto http://leetcode.com Start practicing. Aim for three questions per day. Work on it for one hour, if you can’t get it, look at the solution in discuss tab and then understand it and rewrite it.

Don’t waste your time taking any FAANG tier company interviews until you can do a medium difficulty question in 20 minutes.

Once you feel ready, sign up for the 10 mock interview package on http://interviewing.io and apply for the cost deferral program (you don’t pay until you get a job).

Also read on http://teamblind.com

As other posters have said, the alternative is to go for very very old tech and find a job doing cobol or something for a bank.

On salaries: are you aware of the current pay scales?

If you can work on leetcode.com for 2-4 months and get your skills up, you should be able to land a “senior software engineer” position. This pays around $300-400k at FAANG.

Look at the total compensation on http://levels.fyi

thanks for the links. leetcode is already familiar to me but i will study the others

Is Dice.com or Monster.com full of employers. There are tons of jobs, just not at a salary you want. That's a bad matchup that has nothing at all to do with your age. Let's talk about keywords and what that means.

Yes, if you are an Ada developer, that resume is a tough sell. How about you get some experience or demonstrate some experience (with say a github) during your lengthy downtime, with technologies that are in demand? Then interview and fail (because that's not uncommon) and try to learn what they thought you lacked. Improve. Repeat. This is the developer grind.

Tell us more about what you want to do. There’s a lot of people on HN who hire developers.

Do you have anything you want focus on or do you pride yourself on being a generalist?

Architect, team lead, or pure development of a system from day to day?

And business domains that you’re especially familiar with or interested in? E-commerce, SaaS, aerospace, business systems, data engineering, etc.

Give us a little more and someone here might take an interest and be able to help directly. The start of the year generally sees an uptick in hiring due to some pent-up demand from the previously 30-45 days when a lot of business processes slow down.

I’ll second that. We’ve got potential openings for either React/Node or C/SELinux/FPGA work.

if anyone wants a lead engineer on a X-style project, something that is out in the fringes, a project with legacy code, unusual multimedia/3D projects, ATE (automated test equipment) projects i may be able to help you

also can help in most multimedia projects involving studio equipment, audio sampling, video processing, MIDI software, and old-school graphics.

forgot to mention, i am weak in react, i like it because it is similar to swiftUI but havent been able to come up with a good project involving react and the types of multimedia apps i am currently developing... if a good idea came up to me involving react and multimedia that's different.

Maybe look for jobs at defense contractors?

Merry Christmas. I'm Software Engineer, near 50 and I faced the same problem with you. I propose to you two paths. The first and is what I did. I moved in a field that I was not very famirial with and it concerns industrial programming and especially in CODESYS (ST programming). This is a relatively new technology but the way you design and programming is similar to those of previous decades. The second is to start your own company related or not to your field, taking advantage of your knowledge, experience and skills. I wish you the best.

Industrial systems with Functional Safety is always in demand for those that can, and the OP work history probably sets him up for something like this.

Hey Davesky, can you shoot an email with your CV to sam@prairierobotics.com?

As a primer you can read what we've built (and are expanding upon) here: https://betakit.com/prairie-robotics-secures-690000-cad-to-i...

Have you considered learning COBOL? Maybe not the most inspiring language to work in everyday but the ecosystem that uses it has money and has intense demand.

You could even do something crazy like write tooling for COBOL that makes programmers more productive and be loved forever (or make a lot of money).

Practice Leetcode for a couple a months. Then apply again to Facebook, Google and similar companies. There is a lot of luck involved when passing those interviews. So to increase your chances, increase your interview skills and increase the number of interviews. Good luck in your search.

i did that for the first FB interview, spent 6 weeks writing leet puzzles down by hand, thinking them over 3X before coding, and then solving the problems.

But then the interviewer hit me with a topic i didnt cover. wups!

I can relate. I don't enjoy the "pop quiz" type of interview questions, asking weird coding questions that never come up in the job. If it was just to find out how extensive my knowledge is and use it to converse on topics, that's fine, but they (Ama$on) use it as a all-or-nothing filter. One miss and you're out. We all have gaps.

thank you. my thoughts exactly!

From the sounds of it you have a lot of great experience. We have an awesome team and we are currently expanding. Email me at: Cody@Mandsc.com

I'd really enjoy the chance to talk with you.

On the other hand, people who can code in legacy software have strange opportunites appear in front of them if they are suitably prepared and ready. VB6, delphi and ancient versions of microsoft access are still used in many and varied ways.

Its very much a who-you-know deal though.

If I may do a hunch, since I don't see much information.

But I think older engineers could probably find a better/easier? Job in dev where memory isn't managed.

Eg. C++, hardware companies.

Also, I see multiple references to golang which seems good advice if you want to learn something new.

I would like to ask a follow up question, what tech industry jobs would HN recommend where ageism isn't a problem? I know I can only be an IC for so long before everyone will see a new grad as more economical.

Contract work is a possibility. The benefits aren't as good but employers will take people they wouldn't hire full time.

And work to update skills. Without more details I won't consider giving you advice on what to study.

therealdavesky , I am sorry to hear that. I suggest, dont get demotivated. Keep trying. I am sure you would find one. Good luck.

@all, Is this a general trend for experienced devs? Lets say, someone doesn't have a gap in resume and is well versed with the current tech, system design etc and the current employer is fairly reputed. (Say top 25 in terms of market cap in the US). Will this problem still hold? My understanding is that, at 20+ yrs experience, people expect us to be in leadership roles such as director etc. But then, not everyone can get to that level.

> once or twice a year

Getting hired is a numbers game. If you really want a job, you need to go on 5-10 interviews PER WEEK for months. Even people in their 20s have to deal with this. That's just how it is.

> anyone who seemed interested, most notably Google and Facebook

Google and Facebook aren't interested. They have massive amounts of cash and earmark a huge amount of it to pay recruiters and junior engineers to interview literally every engineer they can find. Getting a first interview with FAANGM is easier than falling off a log. Getting a second interview is harder. A lot harder.

> impossible to get even a junior developer job

To many managers (not me), "junior" means "we're going to give you all of the shit tasks no one else wants to do, and we expect you to work insanely hard, AND we're going to not pay you that much, because there are others willing to take your spot". So vanish any thoughts of applying for "junior" jobs from your mind. You're not the target market.

> after my skills no doubt became somewhat outdated

The best piece of advice I can give is this: A lot of things that were once done manually are now handled by an open-source project. You don't make a search engine, you use Solr or ElasticSearch. You don't configure Linux, you use Docker configuration files. Become an expert in some project that companies actually use.

Figure out how to re-frame your experience in a way that it applies to modern development. Did you spend years in the early C++ days, then C# or Java is probably the way forward. But you have to know it, and know the difference. You have to research. You can't say "I only know C++, I can't do Java" and you can't say "I knew C++ at one point, so I can do Java".

Just interview with random companies, and ask THEM what they need. You have a fantastic free resource in front of you. Companies are looking to hire people, and they're willing to let you waste their time to ask them questions. Take advantage of it.

One last thing. Don't take it personally if a company declines to continue interviewing you. A lot of companies (web and app startups) have zero need for someone with experience. They just want someone who can do a little HTML and CSS (and do it quickly). Experience just gets in the way. Learn what you can from them during the interview, but move on. You're looking for companies that are doing hard things, and can benefit from someone who's seen a lot of things before.

We're always looking for great developers of any experience level.


It's probably nothing to do with your actual age. Your skillset matters most. You can either upgrade your skillset or look for jobs where your existing skillset puts you at an advantage.

Get involved in some open source work so you can point it out? Yes, those keyword-driven recruiter things are a nonsense, but maybe that would trigger a useful one?

Also, contracting, as suggested before.

Tech unfortunately moves at a blistering pace. Perhaps see where you'd like to pick things up and do a crash course of some sort (Udemy, etc).

find what companies still use the languages your most proficient in and apply there directly, whether they have a job posted or not.

Maybe getting contracting gigs might be easier than finding perm roles?

contracting jobs are great, and I love them. its all about getting referrals, that has been the best route to new jobs, at least for me

In reading through this thread, I am not getting a clear picture.

What has changed and resulted in contracting jobs no longer being an option?

Personally I prefer to bypass recruiters and pitch to those with a compelling need for what I can deliver. Requires more up-front research but once you demonstrate your track record in delivering results the hiring process becomes smoother.

I am open to contract positions or permanent positions, no problem either way. It sounded like I was just a corporate developer from my original post, so I may have confused some of you, sorry about that. I thought putting out a whole life's story was too much me, me, me! stuff...

Change your resume so it looks like you’re 22 years old.

Hello from another greybeard. I've been in the same boat. I'm not a programmer, though. I was a sysadmin and senior tech-support guy (L3, but I can do anything.) I never specialised: I do Windows, Linux, Mac, and in the past, I did UNIX™, VMS, Netware, all sorts of long-dead stuff back to CP/M.

In 2007, I decided to switch from freelance to an office job before I turned 40. It took me about 500 applications to get my first interview, over the phone. I landed the job on that first phone interview. It was good, reasonable contract rates, shift-based but I needed the money.

Snag: I used to be a journalist, and I preferred it. A journo job came up, so I quit. The journo job ended about 4 months later, just as the Credit Crunch hit.

Over the next 5 years, I applied for over three thousand jobs. Not exaggerating. I was British and I also applied for roles in any country where I spoke enough of the language to write the cover letter: France, Spain, Germany, Norway, Sweden.

I averaged one interview a year, I got 2 roles, one of which lasted 10 days and the other 2 months.

Ready to give up, I managed to get a book deal, which paid enough to pay off the urgent bills and cover a one-month intensive training course to be a Teacher of English as a Second or Other Language. I planned to go abroad and travel as a TESOL teacher, as I figured I was too old to work in IT ever again.

Well, I told a friend, and that got me a referral for a technical writer job at a Linux vendor – but in Central/Eastern Europe, the former Communist Bloc. I'd never considered there.

Well, that job didn't last, but I found another quickly and easily – in fact, I was offered 2 roles by 2 different companies.

I have had half a dozen jobs since then, steadily increasing my pay. I moved cities to the capital.

Now, as it happens, I am back to journalism, but what I would say to you is this:

Ageism is very real and it's rife across the English-speaking world and the West in general. Kids (and you know what I mean by that) will deny this, and point out that it's illegal, which it is, but it happens anyway.

There's no escaping it.

But I found that it's not true in the former Communist Bloc. I didn't make as much as I did in Britain, but then, the cost of living is about a quarter of the West, so I lived very comfortably, thank you.

I successfully rebooted my entire career in my late 40s and now in my mid-50s, I own my own place outright, I have a young family with an adorable tiny daughter, a fulfilling job, a savings account and some investments, and I don't owe anything to anyone.

Get out of the collapsing West. Go East. Not necessarily Eastern Europe, but a lot of the developing world is crying out for English-speaking experienced people.

Sure, there are remote jobs, too, but at local pay, which won't go far in the West.

Pre-COVID I flew back to visit my aging relatives 3-4 times a year, which is a lot more often than I could afford to do when I lived in another part of the same country.

Ageism is not a worldwide problem, but you will have to travel far to escape it. But it's totally worth doing, and I'm glad I did. I even changed citizenship to make it simpler.

Thanks for sharing your inspiring and encouraging story.

I suspect that very few people would be brave enough to go as far out on the limb as you have. But you have shown what is possible.

There are quite a few of us knocking around out here. I have many friends in their 40s through to one in his 80s (!) who got sick of the West for various reasons and came out here and found a better life.

It's not just the rampant ageism. In the UK, nowadays, if you actually want to leave the office and go for lunch, that is frowned upon. Especially in the financial sector, dedication means eating at your desk and a few hours of unpaid overtime every day as standard.

Here, my bosses chase me out of the office for lunch every day. Many locals bring their own food in, in which case, you're expected to go for a walk for half an hour or something. It's the law: you must take a break.

It's a far healthier working culture.

Also, of course, Americans need to remember that you get at least 4 weeks of paid time off every year and free unlimited healthcare with no restrictions. Women get a minimum of one year of paid maternity leave, which can be extended to 3 or 4 years (but the same fixed amount of money is spread out over that time, so the longer you take, the less you get each month... But still...)

same! oh the stories i could tell...

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