HACKER Q&A
📣 nathanaldensr

How can I effectively restart my dev career?


Hi, HN. I wanted to share my unique experience with you all and hopefully get some good advice on what I should do next in my career.

I was laid off from my most recent position in 2022. I had originally been hired in 2018 as a software dev but quickly transitioned into more of a leadership role, and then finally into digital transformation. I knew the transition was a risk and I was counting on being in that role for several years, or even the rest of my career. Sadly, things didn't work out that way. I haven't written code for a business in several years now, although I do have more recent contributions to open-source, especially my hobby game engine, and I have many years of experience in programming, architecture, DevSecOps, and leadership. After being laid off, I went through some personal life issues that prevented me from working, including taking care of a parent with dementia.

Through this unique set of circumstances I am finding it difficult to find work. Even though I have 20+ years of software development experience and am completely self-taught, employers only seem to take a "what have you done lately?" approach during hiring. I've found it difficult to communicate my unique experiences to them in interviews, which I've found to be heavily scripted and impersonal to a fault. Essentially, there doesn't seem to be much empathy in hiring. I feel like I'm being "Pareto principled," so-to-speak.

Does someone with my experience really have to grind leetcode and memorize algorithms to prove his capability? Is it realistic for me to expect to be able to work on a software team again after having transitioned away from software development? I'd be interested in management, but in my experience managers and directors either already have experience or transition into those roles from within a company rather than between jobs. Basically, I know I'm fully capable but I've found it difficult to prove that to ornery employers employing what I see as broken hiring practices. I've been involved myself in hiring for several years and I always made an effort to take an empathetic approach with people I interviewed. Sadly, I seem to be one of few who take that approach. I've considered interviewing for more junior positions but I'm concerned that I'll be seen as overqualified.

I'm frustrated and, to be quite honest, worried that I've lost my career after this confluence of unfortunate events. What does HN think I should do in my position? There is a lot more to the story than I feel comfortable posting here, so anyone who wants to reach out to me directly can find my contact information in my HN profile. My LinkedIn profile URL is also available in my HN profile.


  👤 biglyburrito Accepted Answer ✓
You said that you were laid off in 2022. How recently did you restart your job search?

FWIW I'm a software engineer with 25+ yrs of SaaS dev experience (since 1998) & 10+ years of .NET dev experience. It took me four months of job searching to find my current position, which I started a few weeks ago. I was employed during the first two months, when I first suspected I was going to be laid off, & was collecting unemployment during the last two months. I applied to 175-200 jobs, got callbacks from ~40, interviewed with ~10, and received one offer, which I accepted.

I started off by grinding LeetCode easy & medium questions, but I stopped after 3 weeks because those types of questions have literally no bearing on the type of work I do daily (e.g. building/supporting APIs, datastore CRUD operations, performance debugging). If a company thinks that they're going to find solid candidates by requiring candidates to solve N Queens under time pressure, then they're not somewhere I want to work anyway, as that's probably just the tip of the iceberg in terms of the problems they have.

Basically, it's a numbers game. On the one hand, you should be applying to a lot of jobs, to maximize your odds of getting selected to start the interview process. On the other hand, you don't want to waste your time with companies that are going to waste your time. For me, that meant ignoring job descriptions that wouldn't provide their salary range upfront, before talking to a hiring manager or taking any tech tests; bailing out on any job interviews that use LeetCode/HackerRank in the technical interview stage; bailing out on any job that didn't support an acceptable remote-work arrangement (in my case, I was only looking for 100% WFH). Also, the lead time for most of the jobs I applied to was 3-6 weeks. It's a slog, but playing the stupid LeetCode game is likely to only waste your time, if you're like me & don't live/breathe algorithms like I'm taking CompSci 101 in college again.

Also, as other folks have said here, you should be doing everything you can to see if folks in your social network know of any roles for which you might be a good fit. I've landed several jobs that way -- it helps if you can get your resume seen by a hiring manager without having to deal with all of the BS that's typically involved in modern automated resume screening.


👤 taurath
> Does someone with my experience really have to grind leetcode and memorize algorithms to prove his capability?

If you're going into a coding job, expect that people will test your ability to do code (relevant to the job, or leetcode/algos if a generalized thing).

Also self taught, and also laid off - I had to take short term disability initially and then took a layoff for severance, and now I'm on my 401k to survive. My situation is that I've had to deal with a lot of skill regression and memory loss, so its been a really difficult grind to get back to where I was.

Honest advice - if you want a code job, and CAN do it, just grind the leetcode - 10 hours a week for like 6 weeks should be sufficient to cover most cases. You can get in at even really big companies if you're good at it.

Advice for applying places in 2024 with a multi-yeargap (from someone who's seen what doesn't work, not someone who's made it work):

* Tailor EVERY resume, probably way more than you're doing right now. Fitting directly into the job description matters way more than general skill and will get you through to the next interview level.

* Quality over quantity

* Then quantity, you'll probably have to apply 200 places with the above to get 5-10 interviews. It sucks. 2 flags generally means you're out - no college is usually fine, but gap + no college means only some folks who are looking for diamonds in the rough will look at you.

Bonus things I've been told that help:

* Make up a consultancy, remove the gap. Talk about stuff you've built

* Built a folio website, github, or some other things to show that you're sharp and can build things right now. Doesn't have to be relevent, just recent.


👤 devoutsalsa
If you want to be a developer, shape your resume and LinkedIn profile to look like that. Would you hire a person marketing themselves as a not-a-software-engineer as a software engineer? I wouldn’t, at least not when there are so many other developers applying to jobs.

Do this:

- drop most everything from your resume that doesn’t sound like "I’m a software engineer"

- don’t to be proud to play the game, so grind a bit on Leetcode, take a class, hack on a personal project or do anything that gets you back into the mindset of being a software engineer

- don’t spend too much time apply to junior roles, as you’re unlikely to be taken seriously


👤 null_investor
It doesn't matter if you think that leetcode doesn't make a difference, if the company asks for it, you need to be ready to jump in and do it. In case you never studied this before, you need to start from zero and read books about it, there's plenty of $30 dollars courses that will teach you everything you need to know -- as long as you put the effort into it.

Furthermore, Leetcode easy/medium aren't about memorization, most of them they are about knowing algorithms, complexity and stuff that you'd have in an university CS course. If you've read Cormen et al's "Introduction to Algorithms", have done most of exercises and got it down, you'll likely already do well enough if you just practice some to write common algorithms quickly that are frequently used as a part of a solution, like BFS, DFS, stacks etc.

There are some medium exercises that are about either some maths or binary arithmetic, those you can even leave it out as it isn't very common to be asked, but it's worth to study them once you are very confident with the basics.

I know it's a pain to review it, but if they ask it, you need to be ready to prepare yourself, honestly I wouldn't like to work with somebody that in any small challenge that they have, they'd be coming up with excuses to it and that's a filter that they are using successfully against you so far.

"What have you done lately?" - I've been preparing myself to become a developer again, here's a list of things I've done meanwhile: (big list)

That's what they want: play the game or keep having the same results that you had before.

As you are looking for a job since 2022 you should have been preparing since then, but it's never too late, start to prepare now, go to programming meetups and even pretend to be working in a company of a friend or colleague you met there.

There are so many things you can do to fill that gap, you can also just lie, but that isn't something many can do.


👤 sjducb
You need a compelling story for why you want to go back to being an IC. Good options are, love of programming and dislike of the tough challenges of leadership and management. People are worried that you’ll quit after 3 months when you get another leadership position.

Also come up with a one line explanation for the gap. “Dad was diagnosed with cancer and I wanted to spend the last year of his life with him.”

Also leetcode. Just do one problem per day for a week or two. I quite enjoy doing those puzzles. They’re like crossword puzzles.


👤 blacksoil
Meanwhile applying, how about working on a project that you can showcase? Use the latest popular technologies in terms of maximizing chance of getting hired.

I think it's pretty normal for hiring team to be worried to hire somebody who hasn't coded significantly for the past 3 years to do coding role.


👤 mvdtnz
> Does someone with my experience really have to grind leetcode and memorize algorithms to prove his capability?

Unfortunately yes, this is necessary for all of us at our level of experience. I have 15 years in the industry at great companies, and I still need to put myself through the horrible coding tests and take-home assignments even for engineering management roles.

The good news is that in my recent experience, the better companies are doing a better job of these nowadays. I had to do lots of technical interviews, but only a handful had horrible algorithmic stuff while the smarter companies had me do things like reviewing a merge request and suggesting edits and architectural changes. There seems to be some recognition that the leetcode style interviews aren't necessarily returning the right signals.


👤 kugelblitz
I think it's more that it's a crap job market. Have been dev freelancing for about 10 years, used to be able to choose from a few projects within a couple of weeks of searching.

But the last 18 months have been hard. On some freelancing projects I was up against 80 or 120 other devs. (I live in Germany.)

Recruiting agencies have told me the same. I finally found 2 part-time projects after 6 months of search and will now try to wait our the dry period.


👤 jameshush
Triple down on referrals.

With 20 years of experience, you must know someone who knows someone who’s hiring. I recommend reaching out to everyone you’ve ever worked with with a message like:

“Hi $NAME! I saw you’re doing $THING on $SOCIAL_MEDIA. Whats the latest with you?”

Followed up with “Oh thats cool! I’m looking for a new job doing $THING_YOU_DO, do you know anyone who’d need my help?”

From now on, make a point to wish all your past colleagues happy birthday every year forever. The best time to say hi is when you don’t need anything, 2nd best time is today.


👤 VirusNewbie
>Does someone with my experience really have to grind leetcode and memorize algorithms to prove his capability?

No, you don't have to memorize every algorithm. You can pass interviews doing sub optimal solutions if you have good code, a clear thought process, recognize there may be a better algorithm, have a dialogue about what that might look like, etc.

I did rounds of interviews at Microsoft, Google, and Netflix a couple years ago, and with the exception of a single round in Microsoft, none of the 'algorithms' I needed to know went beyond understanding hashmaps, recursion, and the concept of a graph. (yes I realize that encompass DP, but still).


👤 kagakuninja
Good luck, I'm sympathetic as I've gone through some rough patches, and once thought my career was over.

Looking at my career, it tanked at age 44, in 2007 due to the financial crisis, and has never truly recovered. Part of this is the reality of getting old. Age discrimination is real.

I am now 60, and still employed, but mainly with contracts, and even those have been difficult to get, in part because I am not a good interviewer.

My approach has been to focus on senior software engineering roles, even though that could be considered "junior" given my decades of experience.

All I can suggest is that you cram for interviews for whatever roles you are hoping to get. Read Cracking the Coding Interview, practice solving problems on Hacker Rank, cram for design and behavioral interviews, etc.

Yes, I had to practice doing l33t code bullshit. It is part of how we have to play the game.


👤 ssangani
Leetcode is now deeply embedded as part of dev interviews. In current market there are 300-800+ applications for any given dev role. You gonna have to play this game if you are looking to go back into corporate.

This is a good study plan to follow if you want to get in shape for dev interviews: https://www.techinterviewhandbook.org/coding-interview-study...


👤 Icathian
Frankly, it sounds like you know what is needed but don't like it. If you could blast through coding and system design rounds, would you have already found a next role? It seems clear that you think so, and I personally agree.

You can think whatever you want of leetcode, and algorithm interviews, but that's the front door into tech jobs. If you don't have a back door available to you I think you probably have to bite the bullet and deal with them.


👤 dustingetz
1. resumeraiders.com

2. bear labor market means it can take 50+ applications (easy apply doesn’t count)

3. get a coach, they can help optimize your answers for nontechnical interviews while you work on your technical strategy

4. try crufty industries - government, defense, healthcare


👤 nathanaldensr
A tangential question to my post: the use of recruiters. Would I benefit from using a recruiter? Would they have additional capabilities to filter employers to only those amenable to my situation?

👤 austin-cheney
There are two paths to career mobility: expert or trend whore. You cannot be both so choose wisely.

An expert is somebody who spends many years performing a deep dive into one or more technologies very narrowly. The expert has learned what beginner nonsense to ignore, which makes them weird from a beginner’s perspective but they can probably do things you deem impossible. Experts tend to come from formal researchers and hobbyists. Real experts know where their strengths and limitations are and so may undersell their capabilities.

Trend whore tries to be a master of everything. They are a master of none but are well rounded in a way an expert will never be. They can talk a good game during an interview as they have experience with many different tools. If you need someone who is good at writing config files to paste together a tech stack you want the trend whore. Trend whores are experts of none who may oversell their capabilities with over confidence when they may confuse diverse shallow experience for a depth that doesn’t exist.

There are pros and cons to each path. Just know your own personality and goals. If your goal is just to be employed then be the trend whore as the cost of investment is lower. If you want to innovate or deliver superior solutions then be the expert.


👤 brudgers
Have you reached out to everyone you have ever worked under, worked over, and worked beside?

With twenty years experience, “why isn’t this person working with someone they know?” is a reasonable question an interviewer might ask themselves. Even if only subconsciously.

It makes sense to assume that’s the case. And it makes sense to ask yourself why that isn’t the case. As a person becomes more senior, what it is like to work with them is more constant and how it would be to work with them is a bigger factor. Good luck.


👤 Eggs-n-Jakey
Maybe do some contracting to get your recent xp up

👤 tacostakohashi
I'm familiar with this situation myself, so I can empathize. However, I can also see it from the other / hiring side of the equation.

I hope you will excuse me for delivering some tough love, as a lot of your narrative around this is not as objective as it could be.

* Nobody cares about your "unique experience", "unique set of circumstances", "this confluence of unfortunate events", "heavily scripted and impersonal to a fault" etc... "You are not special. You're not a beautiful and unique snowflake. You're the same decaying organic matter as everything else. We're all part of the same compost heap." The only thing anyone cares about is demonstrable ability to develop software.

* Nobody cares about "20+ years of software development". If they did, they'd put it in their job descriptions / requirements. Rather, they care about 3, 5, maybe 7 years of experience. Anything that comes before that is irrelevant. Only in highly specialized fields, or senior management, is extensive experience an asset.

* "what have you done lately?" - well, what _have_ you done lately? Do you have a good answer to this question, mentioning only things that you have done, and not any mentions of uniqueness? The reality is that people hiring for software developers see having developed software in the very recent past as indicative of someone who can be productive in the very near future. Explanations of unique circumstances and software development experience several years ago won't cut it.

* "Does someone with my experience really have to grind leetcode and memorize algorithms to prove his capability?". Well, yes. Frankly, given your level of experience, brushing up and kicking ass on leetcode should be a walk in the part, and nothing to get indignant about. If entry level / fresh grad folks are expected to be able to do this, you should be able to do it too (and more). "20+ years of software development" doesn't get you a free pass on this, you should be able to do it all day, every day, in your sleep at this point.

* "Is it realistic for me to expect to be able to work on a software team again after having transitioned away from software development?" - only if you can demonstrate your ability to develop software here and now, and in the near future, as distinct from years in the past.

* "I'd be interested in management" - do you have management experience, which is articulated in your resume, profile, applications, etc? That means performance management, hiring, firing, project management, powerpoint, stakeholders, etc., etc... it's not a given after "20+ years of software development", it's a distinct skillset that you may or may not have developed.

* "I know I'm fully capable but I've found it difficult to prove that to ornery employers employing what I see as broken hiring practices" - nobody cares about your opinions on hiring practices. When you start your own company, you'll be able to institute your own, superior hiring practices. Until then, it would be in your best interests to focus on the hiring practices as they exist, rather than how you wish they were. Proving your capability, given the hiring practices that exist, is what it's all about.

* "I've been involved myself in hiring for several years and I always made an effort to take an empathetic approach with people I interviewed. Sadly, I seem to be one of few who take that approach." Nobody cares about empathetic approaches. They only care about demonstrated ability to develop software.