Ask HN: How do I get back into the tech industry after 4 years of unemployment?

85 points by troutskey ↗ HN
Hello,

4 years ago I felt burnt out and decided to take a short break in order to reassess my career. I simply hadn't realised how much my health had deteriorated and that led to what ballooned into a 4 year long convalescence. I finally feel physically capable of returning to work but worry that I'm no longer competent enough, not even in the kind of roles I used to work at (primarily web-related backend along with some system and network administration).

A few questions I have are:

1. What should I do to get to a point where I feel confident enough to actually send in applications? (I have never really been any good at LeetCode-type problems and have no personal projects to speak of.)

2. Will the 4-year gap and my choppy CV be a major hindrance to my hirability? (My employement history consists of 2 years at a consulting firm and 3 short startup stints of <1 year each.) If yes, how do I minimise its debilitating effects?

3. I feel like I have the best chance of getting hired in the kind of roles I used to work at and those are the ones I'm interested in as well but in doing so am I restricting myself to a limited number of positions? Should I be spending my time in expanding my knowledge areas? (Although I feel like I know too little of anything else to ever feel confident enough to apply for an actual paid position in those roles.)

4. Is my timing bad? Is the current climate not well suited for someone like me to get back into the industry (though I have a feeling that no climate would be conducive to someone in my position.)

To add: I am in my early 30's and have an undergraduate degree. Financially, I have a comfortable 1 year runway or a 1.5 year runway at a pinch. So I can't afford to go back to school; a bootcamp I could attend (as long as it's remote) but I'm not really sure how good they usually are.

Many thanks to anyone who takes the time to respond.

125 comments

[ 3.4 ms ] story [ 181 ms ] thread
1 year worth of runway? Why not start hacking on a revenue generating indie project to 1) beef up your skillset and 2) extend your runway. Who knows, you could apply to YC with it!

A few of the popular buzzwords to start a project with: Next.js, Prisma, Supabase

I think it may be possible you live in some kind of js bubble - I have never heard of those things and it wouldn't be something I'd advise anyone to do.
"Revenue generating indie project" is easier said than done. If that's what the person would really like to do? Sure. But otherwise it's probably a distraction given that revenue producing means it will probably be as much about marketing and selling as developing.
As someone who can't get hired, you can't really apply to and get rejected from positions 8 hours a day, that would be soul crushing. So I plod along on my projects and walk the line just on the other side of soul destroying levels of rejection ;)
I don’t think it’s a distraction because it can be a portfolio project to demonstrate competence in a new area.

Even if it doesn’t make revenue, it’s still a years worth of xp on a resume.

I think there’s pretty much zero chance of getting a programming job with a four year gap and no meaningful projects. But add in lots of commits showing off good design and coding decisions and it’s easy for a company to understand value and hire.

I don't know why this is getting voted into the ground. This advice would seem to be a way to keep motivated while interviewing, keeping sharp through actual coding, and getting up to speed with any changes in general software engineering in the last 4 years. Even if the coding projects go nowhere, motivation is king.
I didn't downvote. But, while working on a side project might well be a good idea to polish up skills, build a portfolio, etc., trying to bootstrap a revenue producing business--assuming that isn't an actual goal--is likely to be a big distraction from both coding and job-hunting.
Agreed, but I'd guess it wouldn't get downvotes if it focused just on brushing up skills and making a portfolio piece rather than mentioning revenue and extending runway.

You can't bank on a new project having any significant financial success, or much traction at all really, especially if it's your first rodeo. Making money is mostly about validation, talking to potential customers, and iterating on ideas, not coding. While they are great skills to learn, it's not a particularly efficient way of beefing up an engineering resume.

I do think it's good advice though to build some stuff while interviewing. I'd focus on small projects that can be built and shipped in a month or so, and do a few of these alongside interviews. Also be sure to put effort into nice landing pages--people judge by appearances.

(comment deleted)
Honestly just interview around. Worst case it’s some practice and interesting conversations.
Conversations that could lead to product ideas or short term contracts. Or at the very least practice at interviewing!
Based on the OP I have a somewhat similar background. Practice at interviewing never became a thing since responses were so far and few between. I was averaging around 100 applications per phone screen, and I think I ended up with maybe 3 interviews over the course of several months. It was a colossal waste of time.
Out of curiosity, how much were you changing what you were sending out to experiment?
> Honestly just interview around. Worst case it’s some practice and interesting conversations.

They'd have to stay strong and not take the failures to their heart; otherwise a lot of rejections or no replies could lead to moral destruction.

Morale is certainly important. But so is talking with people. While the whole process is indeed emotionally exhausting, that is a sort of stamina skill that can and should be developed.
Doing some little bits of smaller work for smaller companies can help get the CV moving again.

I've had gaps, and done that - find bits of work that are a few days or a few weeks, then it's easier from there.

First you should try to see if you still like what you were doing and what burnt you out in the first place. If you still do then there are loads of video tutorials to help you out cover the gap. This will take at least a month to get back in shape. Don't bother applying before as you won't be ready and might fail one interview you could have succeeded by being more prepared. Train for interviews and ask the correct questions. You need to be prepared to the questions about those years and how quick you can get back to your feet. They will want to know if a burnout can still happen.

For system you can always try to get a certification.

Also you need to know if you're still capable of working 8 hours a day.

Good luck

Keep in mind I've been where I'm at for about as long as you've been away -- the ground has surely changed since either of us saw it last.

With that said, just apply/get in the mechanics of it. You have a lot of runway, and I think the 'being employable' dance people go through with Leetcode/etc is over the top.

I don't buy this performative dance thing -- ridiculously unlikely problems, take home work, etc. I've never had to go beyond a few conversations where ability and fit is assessed.

Personally I've done well having very little projects to show and no formal education for this work, largely by filtering who I apply for -- aided largely by my network.

As an SRE/Operations person, the most 'code' I can show anyone would be Ansible roles/playbooks I've written, but it hasn't been a challenge.

At a certain point I think the biggest concern is, 'are there foundations we can work with?'

Getting the applications started and see what happens seems like the best thing to do. It's just that when every now and again I used to open up HN, I would see these clumps of articles filled with Dall-E, ChatGPT etc. and these interesting new innovations, I managed to convince myself that everyone but me now knows everything there is to know about these fancy technologies and that made me a bit worried. But my worries are very likely misplaced.

Thanks a lot!

Happy to offer my input!

If nothing else, I hope getting in the process will help alleviate some apprehension.

You likely will find some questions about the gap, but realistically - life happens. Most people understand this, at least the places where you want to work.

This approach is on my mind because of similar thinking patterns. My current employer is so dysfunctional that I've regressed skill-wise, but oddly found comfort.

I know how to fix our problems, but my ability to troubleshoot has diminished incredibly. Now I'm terrified of trying to survive 'in the cold', so to speak.

Anyway, the thing to do here is be brave - the good thing is, there's not a lot at risk besides time/effort.

I have no qualms about getting asked about the gap or short duration of my employment because I am sure most will on some level be able to empathize with my situation. It's the idea of automated filtering machines or some person who has to go through 100s of CVs a day filtering me out without giving me a chance to explain that worries me. But that's a chance I'll simply have to take, I suppose.

What you mention about your current employer is eerily like the situation that ultimately led to every aspect of being just giving up. My last place of employment was an electronics startup making a portable version of an Amazon Go store. I joined fairly early and worked on pretty much every aspect from programming arduinos to migrating an old version of the web application, the mobile app and server code. I used to work about 17 hours a day and initially I really enjoyed solving all these different problems. But it eventually got to a point where those were the only problems I could solve and it ultimately came to a head, oddly enough, when I was buying milk at a store. I bought 2 packets and knowing how much 1 packet cost I couldn't calculate the cost of 2 packets. I just broke down right there and knew I needed to take a break. The feeling that I could write a daemon to reconfigure iptables rules on the fly without referring a manual but not multiply a small number by 2 is shattering.

Ah, indeed - that's a fair concern. I was laid off before finding this place, and it took me a lot of applying to talk to people.

Once my foot was in the door things almost went too fast. I received way more offers than I accepted - it's a fair worry, there's a lot of drudgery involved.

Sadly effort is about the only fix - either apply yourself or make a machine :)

That pretty much perfectly goes hand in hand with my experience; thank you for sharing! I don't want to dwell on it, since I don't think it'll be good for either of us... but I can truly relate.

Most of us work with boring tech solving everyday problems.
Very true, and the foundation for why I walk away quickly when presented with Leetcode style interviews
> 1. What should I do to get to a point where I feel confident enough to actually send in applications? (I have never really been any good at LeetCode-type problems and have no personal projects to speak of.)

We can't answer this for you, it's ultimately a question about how you feel. You're never going to satisfy every interviewer so I recommend trying to treat rejections as impersonally as possible so you can focus on trying to get stuff done without being overburdened by them.

> 2. Will the 4-year gap and my choppy CV be a major hindrance to my hirability? (My employement history consists of 2 years at a consulting firm and 3 short startup stints of <1 year each.) If yes, how do I minimise its debilitating effects?

Some people are going to care and some people aren't. For the sake of your sanity I recommend just telling the truth and accepting that it's going to screw you sometimes.

> 3. I feel like I have the best chance of getting hired in the kind of roles I used to work at and those are the ones I'm interested in as well but in doing so am I restricting myself to a limited number of positions? Should I be spending my time in expanding my knowledge areas? (Although I feel like I know too little of anything else to ever feel confident enough to apply for an actual paid position in those roles.)

If what you do is reasonably widespread I think you're fine to just focus on that.

> 4. Is my timing bad? Is the current climate not well suited for someone like me to get back into the industry (though I have a feeling that no climate would be conducive to someone in my position.)

Maybe. Maybe not. Ultimately, you're never going to have perfect circumstances in life, so worrying about whether they're ideal right now is only something you need to do if you have meaningful alternatives. It sounds like you don't really have those, so why worry?

I don't think you need to go to a bootcamp, I recommend just getting your CV out there and seeing how it shakes out. If you get no traction, you can always drill into things then and try and debug.

> I recommend just telling the truth and accepting that it's going to screw you sometimes.

This strategy works best if you’re engaging with humans rather than human resources.

Seek out the hiring manager directly, or even the management if it’s a startup.

The thing that worries me about the gap and short bursts of employment is me getting filtered out before I even get to speak to a human being. But I don't think there's any way of getting around that short of lying, which is something I'm absolutely unwilling to do.

Thanks for your response!

Don't forget there are companies "looking for a bargain" when hiring.

You are exactly the kind of candidate they want because they have more leverage when making an offer.

My primary question would be what has changed since you were last working in the industry - whatever the answer is, it would need to convince me that you wouldn't leave after a year or two or would be likely to need another long break.
That's a great point. What caused it, and has that been addressed?

OP might want to think about that (if they haven't already) for their own well-being, apart from job prospects. There could be some issue that interferes with being able to handle work in a healthy way, and they can power through it... until they can't anymore. (And then comes separating themselves so time allows them to recover.)

If so, then by addressing that issue, maybe they can not only prevent the same outcome but also have a better time of it in future jobs. A healthier, more sustainable relationship with work, etc.

Barring some serious illness, neither I nor the doctors I've been consulting see any future events of such sort. The only thing I've worked on these last 4 years is getting to a point of career-sustainability. All I can do is tell whoever asks that I won't be needing such an extended break and maybe, if pushed, get a doctor's note signing off on my health. But that seems a little school-like :)
you're fine. Sure lots of stuff changes in four years, but plenty more doesn't change. Start applying to stuff that looks good right now, and in the meantime work on porfolio/personal projects using the kinds of tools you want to use and get better yet.

If someplace is too leetcodey in their interview process, you probably don't want to work there anyways. Tell them up front in the first "get to know you" interview that you don't like whiteboard coding but are happy to talk about code and explain the details of things you've done. If that's a dealbreaker for them, that's good, it's a good filter for a place that would probably be unhealthy anyways.

Ultimately nobody cares what tools or tech stack or methodology or anything like that. If you can build stuff that works, you'll find work.

Seconding the personal/portfolio work.

It's a great way to show off recent experience. After all, they don't care if you got paid for it, they just care that you have it.

Open source work could be particularly visible - and some companies look for devs with ties to the OSS community.

What have you done for the last 4 years, surely something? I would simply summarize those activities, spend some time ramping up on any technical gaps you might have and start applying. You'll quickly learn through interviewing what areas you feel light on and can then iteratively start improving.

Get going, simple as that.

> What should I do to get to a point where I feel confident enough to actually send in applications?

If you apply for a junior position: no need to do anything. Everything is relative to what kind of a job you want. LeetCode problems are only relevant in FAANG. I've never done LeetCode.

> Will the 4-year gap and my choppy CV be a major hindrance to my hirability?

The short stints don't look great.

> I feel like I have the best chance of getting hired in the kind of roles I used to work at and those are the ones I'm interested in as well but in doing so am I restricting myself to a limited number of positions?

When you specialize in anything, you restrict yourself. However, specializing makes it easier to get through the interview process. There's a bazillion Java developers, but not that many Haskell developers. Haskell shops can't just discard 70% of the applications, they actually can take the time to interview all the people that apply. A great Haskell developer has a way higher chance to get a job than a great Java developer, probably not that much difference for an average one though.

> Is my timing bad?

Does it matter? If you can't get a job right away, keep applying, but find some other way to support yourself in the meantime.

I am unemployed and have a newborn and the situation is getting really bad. Problem is the language I am specialist is C, but C shops don't want to hire me because I don't have any past industrial embedded jobs.

What language you recommend that has lots of jobs and low competition?

> lots of jobs and low competition?

You can't have both!

I interpreted the phrase as high demand with low supply. Such conditions can exist, but not indefinitely.
Or there is a high barrier to entry. GP doctors in the US are both High Demand, and Low supply. But they have a very big barrier to entry, namely:

a) It's incredible hard to get into and graduate Medical School in the US

b) Medical schools have a very strict limit on the number of students, thus gating supply.

c) For only a little more work than being a GP, you can be a specialist doctor and make much more money.

Would not see this changing without a law change or something major.

Companies that use newer or niche languages are more forgiving and understand that there's fewer specialists, therefore they are more accepting of people who don't have much experience in the language.

Competition is still high in companies with high hiring standards. I wouldn't say that it's easy to get hired. You just have many more chances to prove that you're good, even if your resume seems lackluster, as companies are more eager to talk to you.

I don't know enough about the market to suggest any specific languages.

Learn web development. Coming from C backend web development isn't hard. Feel free to mail me and I can give you more direct tips.

Just checked the Linked-In in your profile - is that you? As it isn't a C/embedded developer :-)

Yes, it is me. I am a gamedev that loves C and been trying to get embedded jobs since I was a teenager but never landed any.

I done a lot of C work, but for example using iPod (I made a check fraud scanner in C for iPod, for a client), or for games. Never figured out how to get my hands even on some hardware so I could tinker with C at home, the few times I found how to buy some, I didn't had the money to do so.

Gamedev pays poorly and is hard to get jobs in first place, thus why I was hoping to get embedded jobs too. Or any C high performance work, for that matter.

You have to decouple “programming in a language I love” from “earning money to support my newborn.” It sounds like you have a strong desire (requirement, even?) that your job has to provide both. It’s a common desire, but in my experience it is very rare that the world configures itself to satisfy that desire.
Seconded. This is a perk not a given. You might get to program in a language you love and you might even get to work on projects you love doing parts of the project you love, but not always.

Every part of software development at big companies is compromise. Working with toolchains and packages that aren't my favourite. Styling code in ways that aren't my preferred way (it better be automatic though). Working on features I'm pretty sure are a waste of time.

You pick your battles. You can improve some of the things most of the time, but very rarely all of the things. Even if you're building a startup/product solo you have to compromise and you have to build the boring features.

Most importantly though, employed and earning $€£, followed up by working on moving more towards working on things I love.

I learned go and that was unusual enough in London to make me more attractive to a company that needed it.

I took a few steps back in salary from where I had been to get a job in a new technology area. Now I earn more.

I don't have an excellent answer for you - C is a bit too limiting as you mention but I wouldn't stop looking because a company that needs you at a reasonable price might be out there and might overlook your lack of embedded experience if they like you as a fit for their team - eager to learn, person they could have a beer with kind of thing.

I would definitely learn some other thing - at least to show you can. Something too popular won't give you that "we can ignore experience" thing and something too odd won't get any hits. You could say "I'm learning Rust" or "Go (basic level" on your CV and see if it gets you more hits.

I'd guess most of the places that use C would tend to be embedded; those that aren't probably moved to C++. Could you credibly claim to know C++?

Have you used Java or Python for anything in the past? If you need something now those are options with a lot of jobs.

If you only know C, I'd recommend at least learning Python. You'll use it for a lot of quick stuff, and it opens you to more jobs. If you want employment and are okay with "boring" companies, Java is useful: there are a lot of Java jobs that aren't going to go anywhere, and Java is superset of C so at least you'll get going quickly.

You can also go the contractor route, via Toptal, for instance. Breadth is also valuable in contracting. I got a contract once because I'd worked with the PostScript language a bit as a kid, so I could claim to have worked with PostScript.

If you can credibly claim to have learned multiple languages, you could try applying for an job with a fairly obscure language. If I were a hiring manager, I would assume anyone comfortable with C would be able to pick up the language my team is working on, and if you have other skills the obscure language shop might accept that nobody knows the language so they will have to train anybody they hire.

> C shops don't want to hire me because I don't have any past industrial embedded jobs.

What were you doing with C professionally that wasn't embedded work?

It's funny you mention Haskell because it happens to be one of two languages (the other being Python) that I have any significant industry experience in!

The short stints were the result of an unfortunate combination of poor judgement on my part, ill-timing, and outright deceit. There's not much I can do about them at this point though; blot or not, they shall have to remain on my CV.

You're pitching yourself wrong here, and based off your other comment. Those things are not blots. Here are a few counters that pitch better

Every language teaches us new things, haskell might not be my language of choice but it's damn sure taught me things about functional programming and correctness. Those lessons are portable, either to other functional languages (Scala, Elixir) or just to the way you build programs in something like typescript.

Working long hours at a startup and having to do everything makes you a generalist that can pick up obscure codebases quickly. Haskell again is evidence of this.

Watching the startup(s) make bad decisions has given you an appreciation of the importance of selecting appropriate tooling. Working across web and mobile gives you an appreciation of the architectural challenges of the current app and web environment.

Startups fail and make bad decisions, the pitch here is that you've learned from all their mistakes and can help your next employer, big or small to avoid the same ones.

Burnout from 17 hour days, and not wanting to repeat that is evidence of not being as young (or stupid). Work life balance and sustainable pace are vital parts of software development (see also 996[0], for some of the endemic problems in China about this)

Taking a sabbatical, is an opportunity to grow and become a T shaped individual including things beyond tech (In 2021 I learned how to sail, and got licensed, I'm better for it).

Interviewing (and later Performance Reviews) are not exercises in soul searching. They're sales and marketing exercises. Not lying, but presenting everything you've experienced in the best possible way. The reflection and growth should be done with mentors, coaches and therapists.

Always happy to talk about this, my contact details are in my profile (and this applies not just to the OP, but to anyone that wants career advice or mentoring).

[0]: https://996.icu/#/en_US

I was going to write up another reply after seeing the Haskell reference but this comment will suffice.

+1, You're really pitching yourself wrong here. Also you would be unwise to take vertis' offer to talk, please do!

FYI, the pronouns are killing me. 'You' and 'yourself' are referring to OP and not vertis, correct? Sussed that out by the 'you would be unwise to take vertis' offer...'

Also, it appears you meant 'it would be unwise to NOT take vertis' offer'.

I'll second the junior position. Two years of consulting, three short startup stints, and four years away might as well be zero experience.
It might look that way to someone who's just recruiting, but if it got to the point where OP was burnt out, it's probably more than zero. 4 years isn't really that much, especially if they were using a relatively recent framework or something.

If they were building flask applications then, and refresh their memory, they probably already know how to become productive contributors on a team.

The burn-out happened to a major degree at my last place of employment. I was an early employee at an electronics startup and I was working around 17 hours a day migrating an early version of the web application from PHP into Node, programming arduino and raspberry pi boards, adding various payment modes to an android application, and writing server code in Haskell (a language chosen for no good reason other than it sounded cool and nobody except me could even read the code, the person who wrote it initially having left). 10 months of this ultimately took its toll.
Ya you're fine. Seems like you're someone who's been through some trials, I'd be happy to work with you. That's a series of messy problems and you learn a lot, including humility.

My advice as someone with perhaps a less intense but similarly tumultuous history, is that you should learn to tell that story in a concise and useful way to a variety of types of people and on your resume. Practice with any random recruiter call. Anyone would agree with why you left the industry for a bit. Also try to concisely describe what you genuinely want to be doing now, which I can provide some examples for if you like.

LeetCode or Hackerrank problems are not only relevant at FAANG. Not even close.
Glad you are doing better! Burn out is no joke and health is hard to regain, so you made the right choice in my book!

In terms of confidence, practice is what worked for me. Write code in your domain, see how it goes. You’ll probably feel rusty, but core principles should come back. Consider contributing to an open source project or as other suggested small gigs to practice/build up connections.

For interviewing, again have to practice - this means getting out there and talking to prospective employers. Starting is often the hardest part, but then you have to keep at it.

Good luck!!!

1. Just apply. Start with regional companies. 2. Just apply. Tell them you could afford the time off and took it. What better time to be free than in your 20's? 3. Just apply. Do try to code though and see if it is still something you want to do. 4. You can't pick the timing and can't predict how things will be a year from now. Find a job before you NEED a job.
Nobody knows. Find out.

Apply for a bunch of jobs. Let's say 30.

If you get no responses, things are bad, maybe "start again" via a a bootcamp.

If you get responses but no interviews, try to get some feedback on why not and work on whatever the problems are.

If you get interviews but no offers, remember each interview makes you better at interviews and it's only a matter of time. Keep applying for jobs and working on any weak points which are revealed.

Good luck!

I like this approach. Troubleshoot what part of the job offer journey you are blocked it. In addition to the advice of 'Find Out', which can be in the form of the OP making a post and doing the above advice, one one area I see other Engineers who are out of the traditional Engineer path often neglect is reaching out within their network.

OP mentioned previous employment and having an undergraduate degree. Is OP still socializing with anyone they met in those environment. Is so talk about this goal to get back into the tech industry and ask for advice and execute. Show your network that you are trying so they can give you feedback.

I don't use any networking sites such as LinkedIn etc. but I've kept in touch with a couple of people from each of the places where I've worked. The biggest challenge with getting them to recommend me is that most of them have moved to a different country (mainly Canada and Germany). I'm not really keen on moving to another country, hence my apprenhension at having to apply cold.
> I don't use any networking sites such as LinkedIn etc

Reconsider that. You can try to add everyone you remember from previous companies or school, and you'll be more available to recruiters. "Luck surface area."

Reconsider it, the network effects are undeniable. And if your former coworkers are international, believe it or not your network is even better (in the sense of blind opportunities coming your way). Don't discount LinkedIn just having a basic profile, albeit scarce, will be good enough. The value is reconnecting and gaining information of value to your goals (opportunities, recommendations, and getting a job in this case)
This is really the ideal approach especially with the runway you have.
> 1. What should I do to get to a point where I feel confident enough to actually send in applications? (I have never really been any good at LeetCode-type problems and have no personal projects to speak of.)

It's unfortunate that the LeetCode type problems are an issue, because it's those types of companies that ignore gaps on resumes and other signals as long as you can pass the technical interview.

Have you built anything in the last 4 years, even if they weren't work related? Are you familiar with the latest trends and technologies? I think work on filling those gaps if the answer is no, if nothing else it'll dampen some of the imposter syndrome you'll be feeling.

In your situation I would apply to the Recurse Center: https://www.recurse.com/

I'd spend my time immersing myself in something I found interesting in tech, get depth, and utilize their connections to see if I can land a job in a related space.

Best of luck.

It's not the LeetCode problems themselves but the time element that makes me freeze up. Not to toot my own horn but I'm quite good at solving LeetCode-type problems, if only there wasn't a blinking time indicator counting down like some foreboding doomsday device.

I'll just send a bunch of applications and see what comes of them. If nothing materialises, I'll definitely apply to Recurse Center.

Thanks!

First, the most obvious: bang the drum in your network to see if anyone you know is hiring. Facebook, LinkedIn, etc. Just post everywhere.

If that doesn't work, you'll need to go through application processes. Smaller companies are hiring now and larger companies are laying people off, so you'll need to optimize for getting hired at smaller companies. Smaller companies tend to interview for the specific skills that they need as opposed to hiring generalists. Between frontend/backend/adminstration, you'll want to specialize in one of them to make it easier to get through the interviews.

You'll need to get through the funnel at each phase. To get your foot in the door, you may need something beyond your experience that separates you from other devs. A portfolio is a good example: build a project or three in the specialty that you picked. For example, if you want to be a frontend engineer, build some UIs that have some justification for using nontrivial React techniques, write tests, write a good README that points to the files and lines of code that use different techniques, throw them up on Netlify, and post the code to Github. You can add a "portfolio" section below your work experience section on your resume to highlight your recent work.

You'll also need to get through the technical and culture interviews. For the technical interview, you'll probably want to be able to solve at least Leetcode medium problems (not everyone expects you to be able to do these. But many do). Just try them. If you can't solve them, just go into the discussions and keep reading through different solutions with names like "simple with good explanation and comments" until you understand how to solve it, and then make sure that you can code it.

You should also search for "$specialty interview questions" and be able to solve any of them quickly. You really want to polish this - I went through the interviewing process recently and failed a React interview when I hadn't really done much frontend coding in the past year. I thought with 20 years of coding experience I could just wing it, and I was wrong! You really want to make sure that you can solve simple problems in under 40 minutes with minimal searching.

To get through the culture interview questions, you're going to need to find a way to address your experience gap. My advice is to find a way to frame everything positively when possible. Talk about the positives from your time away. Talk about what you learned about yourself that makes you a stronger engineer now. Talk about how energized you are to come back. Whatever it takes. If you're like "oh man I was so burned out and I had so many health problems and now I'm running out of money so I have to work again," they will probably just pass on you. If you say "I got to the point where I could take a step back and address long-lingering health problems, so I made the decision that I had to. It took longer than I thought, but I'm so happy they're behind me, and I was able to use the time to reconnect with friends and family. I'm excited to get started on my career again, and here's why I'm the perfect match for your company", you'll be more likely to pass.

If you struggle, focus on the part of the funnel where you're running into problems: getting a call back, getting past the recruiter, getting past the hiring manager, getting past the coding interview, getting past the culture interview, etc.

Best of luck.

If you have that much runway, you should apply to Recurse Center https://www.recurse.com/ which will give you a chance to build up your skills, your confidence, and your network.

> Will the 4-year gap and my choppy CV be a major hindrance to my hirability?

Yes, so spend some time thinking about how to get a hiring managers attention. If there's nothing separating you from someone with more recent experience you're going to struggle and get filtered out before anyone talks to you.

Ideally you can find a way to have conversations with a hiring manager or someone on the team you'd like to join vs emailing in a resume that a recruiter is going to toss. Find or create a reason for them to want to talk to you.

This. And because it wasn't made explicit: Recourse centre makes money by placing their graduates with companies.

> The biggest thing we can do for you is help you get a programming job. We partner with companies to help them hire engineers, data scientists, engineering managers, and more.

https://www.recurse.com/career-services

Recurse Center seems interesting. If my job applications don't work out, I'll definitely consider applying.

Thanks!

I just wish they would reopen the physical space... I'd find it 1000x more useful in person. I was on the verge of putting in a leave request for an RC application before the pandemic, and have been waiting to hear about their reopening, but still nothing more than "we are planning to, but not committed to anything yet." :(
Even though you may not feel good at LeetCode type questions, study algorithms and data structures anyways!

Try watching YouTube videos, reading 'Cracking the Coding Interview' and get familiar with the programing language you are most competent with already or are trying to get a job with.

The best way to make up for a gap in resume or short stints at other companies is to prove you have the technical knowledge anyways.

I'm not by any means bad at ds/algo. Back in university I worked on pretty much all the CLRS problems. It's just that I freeze up in time-bound situations and outside of actual interview situations I don't know how to get used to solving those questions under pressure.
I would suggest doing exactly what you’re doing here but reaching out to hiring managers to talk to them about what it would take for them to consider you.

If you reach out asking for help on getting back into the market and start some conversations about your real world experience and what you already do know it may help getting your foot in the door.

Go ask via LinkedIn for 15 minute chats with some leaders, come prepared with poignant questions and suggest keeping in touch. Referrals go a long way here and building up some relationships will help.

Get some certs in current tech and go for contract jobs. The hiring bar for contract is lower, but they'll drop you faster too if it's not working.

Even an entry level AWS or GCP cert is good.

Honestly-- lie. It's none of their business. If they comment on the work hiatus and choppy history simply tell them it was family related. You had to take time off to take care of your family.
I don’t think this will lead to a healthy relationship with a good firm. Maybe a short term one though and that will pay the bills.

If I were an employer, I would think that it is my business. I want to understand why someone has a gap. OP doesn’t need to go into any detail and can just say “medical reasons that I’m completely recovered from and no longer apply to any position” and leave it at that. But lying is a bad strategy because they’ll either need to maintain the lie forever or the truth will come out. And it’s hard to have a good lie. If a candidate says they had family related work gaps for four years then that will place them poorly compared to candidates that don’t.

I’m of the belief that even though employers may lie or be deceitful, I don’t want to be. I understand that puts me at a disadvantage and I accept that trade off for “doing the right thing.”

I also look for companies that don’t deceive like this and don’t want to be in a situation where I try to explain that I only lie to bad companies and promise not to lie to them.

"If a candidate says they had family related work gaps for four years then that will place them poorly compared to candidates that don’t."

Same applies to telling them you had health issues?

You are right, not lying is going to place you at a disadvantage. Especially when your competition is lying, padding their resumes and leveraging their networks as well.

Yes, but at least it’s a real story in stead of a fantasy.

I’ve worked in orgs where the resume passers and lying applicants are heavily screened out. There’s no perfect way to do this, but as an applicants, I’d rather tell the truth and demonstrate my value than lie and be believed without demonstrating.

One thing I really like about programming is that you end up with a portfolio of projects where people can evaluate your design decisions and code and whatnot down to an individual level. I think this is harder with other professions that don’t produce direct paper trails of individual contributions.

I think it comes down to framing and the vibe you project when you talk about it. Realistically, while the people interviewing you may be sympathetic on a human level to issues of burnout, mental health, etc., they are also going to be asking themselves whether it could happen again, which would make them look bad for taking a chance on you.

If it were me, I would just say I was taking time to explore the world and have fun, or work on non-tech projects, or read a lot of books, or something like that, but have now decided to it's time to buckle down and focus on career. Put a positive spin on it, in other words. Most people have dreams of doing those kinds of thing, so they're less likely to hold it against you, whereas anything that hints at you being difficult/high maintenance could get their guard up.

> What should I do to get to a point where I feel confident enough to actually send in applications?

Change how you think about applying for jobs. A job application is not a one-shot inflection point for the rest of your life. Instead, think about them as mini-experiments. Send out lots of applications, tweak your CV for some of them, try different keywords and cover letters, get ChatGPT to write a few for you. Treat it like any other skill that requires practice to improve. This works best for jobs you sort of don't want anyway, so you don't get spun out of your head trying to get everything dialed in perfectly for the jobs you do want. (I am also bad at this.)

> Will the 4-year gap and my choppy CV be a major hindrance to my hirability?

Yes.

> how do I minimise its debilitating effects?

Do you have time to contribute to some open source projects? Lots of FOSS is written in C, and they can always use more contributors. This is a great way to sharpen lots of the skills you need in good work environments anyway: collaboration, modern tooling and techniques, communication.

And then you can add, "Contributor to ... ... ..." to your CV and that will help.

> Should I be spending my time in expanding my knowledge areas?

Always. But, focus some of that energy on deepening your knowledge in areas where you're already strong. Usually, deep knowledge gets more money. But you should also have some working knowledge of stuff outside your specialization. Cross-pollination is cool.

>> Will the 4-year gap and my choppy CV be a major hindrance to my hirability?

>Yes.

Ultimately, your 4 years of not working turns into a maybe 4 minute story you’ll need to tell a few times when people ask about your gap during interviews. I’d probably ask about it if I was interviewing you OP because I’d worry we’d hire you on and find out you were still burnt or that I’d be effectively gambling about your productivity. Doing some open source work or even personal projects using relevant technology (check job descriptions for what people are looking for) and talking to me about it would assuage me, and boom 4 minutes later your gap is no longer a problem when I give my feedback.

4 years career gap is not uncommon for a mother of two, so your situation is definitely not unusual and not a red flag of any sort. I personally wouldn’t care much about it as long as you can show your skills on the interview. My advice would be to catch up with some modern stack and look for a junior to mid-level position in some established company, ideally European one — they usually respect work-life balance more. Don’t try to get a lot of money quickly, build confidence in yourself first and make sure you have a job that doesn’t stress you out. Look for diverse and inclusive teams, they have less potential for developing toxic culture than boys-only friday-pizza-and-beer ones.

What stack to choose? I’d go for the one that offers more choice (i.e. good old Java), but you may also follow the Haskell advice - maybe there are great teams in this field too.

1. I would do some kind of coding that is externally forced (where you can't hand-wave away the hard parts). Whether that's Advent of Code, Leetcode, codewars, codeforces, hackerrank, or others. Consider taking online courses, following online tutorials on adjacent areas that you've never looked at before. Consider getting a couple of the easy AWS certs. You don't have to be able to do Leetcode hard problems to have a job in industry, but you probably should be able to do 80+% of the easy ones.

2. Yes, but so what? It's not like you can change it without lying (which I do not recommend as I think being straightforward will serve you better practically and psychologically).

3. Applying for roles you're interested in, would enjoy, and are qualified for does not seem like a crazy plan. Whether there are 200K or 1M jobs in your consideration set, those are both more than high enough to apply to find the one that's next for you.

4. Yes, your timing is bad. So what? You can't change that either and so it doesn't impact your next steps, which are to get your skills back up to at least 90% of where they used to be, which will get your confidence back up to at least 75% of where it used to be, so get cracking on that.

Wishing circumstances were different will only burn daylight and runway. If you were competent before (I read nothing to suggest otherwise), you have the brain for it; you are sorely lacking in confidence and are probably a little rusty. Both of those are solvable with some directed practice.

Good luck!

Regarding LeetCode: I made it seem like I am bad the problems themselves, which is not the case at all. I can solve most of those problems in a whiteboard interview because I can always talk to the interviewer. It's when I'm given to a problem alone with just a timer staring me in the face that I freeze up and no matter how hard I try I can't get over that seemingly silly little hump.

Thanks a lot for your advice!

How about advent of code then? There's no time limit. Make sure you upload your solutions to a public github repo.

It won't get you a job immediately, but it's something to show.

Pound the pavement by day, open source projects by night. No projects to speak of? Remedy that.