Ask HN: How do I get back into the tech industry after 4 years of unemployment?
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 ] threadA few of the popular buzzwords to start a project with: Next.js, Prisma, Supabase
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.
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.
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.
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.
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
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?'
Thanks a lot!
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.
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.
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.
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.
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.
Thanks for your response!
You are exactly the kind of candidate they want because they have more leverage when making an offer.
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.
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.
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.
Get going, simple as that.
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.
What language you recommend that has lots of jobs and low competition?
You can't have both!
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.
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.
Just checked the Linked-In in your profile - is that you? As it isn't a C/embedded developer :-)
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.
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 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.
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.
What were you doing with C professionally that wasn't embedded work?
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.
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
+1, You're really pitching yourself wrong here. Also you would be unwise to take vertis' offer to talk, please do!
Also, it appears you meant 'it would be unwise to NOT take vertis' offer'.
If they were building flask applications then, and refresh their memory, they probably already know how to become productive contributors on a team.
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.
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!!!
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!
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.
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."
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.
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!
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.
> 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.
> 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
Thanks!
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.
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.
Even an entry level AWS or GCP cert is good.
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.
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.
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.
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.
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.
>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.
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.
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!
Thanks a lot for your advice!
It won't get you a job immediately, but it's something to show.