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!
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.
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
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...
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").
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.
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.
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.
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?
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.)
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.
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.
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'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.
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...
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.
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 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?
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.
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.
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.
“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!
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!
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.
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.
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.
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.
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.
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...
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).
I'd really enjoy the chance to talk with you.
Its very much a who-you-know deal though.
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.
And work to update skills. Without more details I won't consider giving you advice on what to study.
@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.
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.
Also, contracting, as suggested before.
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.