How I did it


How I got a job in tech after getting laid off.

I was laid off in May along with 20% of Shopify and this past week I signed an offer letter with an exciting startup. The startup upscribe.io is early stage, which excites me. I love startups, and never worked at one at this stage. It means that I’ll be wearing a lot of hats, working hard, and that I’ll be able to have a lot of impact. The problems that you have to solve at that stage are very different than problems you solve at larger companies.

I’m also incredibly excited about the people. Every person I spoke with was both kind, and wicked smart. I thrive in environments like this. I’m looking forward to learning a ton, and sharing my experience and expertise.

What took me so long?

It really wasn’t all that long, it just felt long. Two and half months to find a job is actually pretty reasonable. Typically, the average is closer to six months.

But to give you an idea of what the process is like, this is what the typical interview process looks like in tech:

Stage I: The phone screening. You speak with a headhunter that has connections at different companies to see where you might be a good fit. This step is important, I’ll get to just how important later.

When I first got laid off, I took a few weeks to update my resume. I took weeks because I wanted to take the time to run it by several professionals. Google has some great tips too. There was a lot of back and forth, and I find this type of writing excruciating. In the end I’m happy with the results. However…

I said the headhunter stage is important because I got far more interviews via headhunters than by submitting my resume to companies directly. Working with a headhunter is a lot like having an agent in publishing. These are trusted people who vet candidates before the hiring manager does. A hiring manager will pay more attention to a trusted source, rather than sifting through the hundreds (or more) unvetted resumes.

Stage II: A second screening. Speak with an internal recruiter, or hiring manager. This is to confirm that you really are a good fit.

Stage III: The technical interview. These are typically an hour long pair-coding session over a computer science problem, manipulating data to solve a problem, aka algorithms. I wrote about how I prepared for these using AlgoExpert.

One unfortunate aspect of these interviews is that typically, these sorts of problems are not the types of problems you solve in the job on a day-to-day basis. I maybe deal with something like this 2-3 times a year. You’re not likely to be good at these interviews from day one. It took me a few weeks to get back to my “fighting form” for the technical interviews.

Stage IV: Interview with the actual hiring manager, if you haven’t yet.

Stage V: The on-site. This is typically 2-6 hour-long interviews scheduled within a single day where you meet with other people on the team, product people, other developers. You’re likely to do several more technical interviews, architecture design, product analysis, and more.

Stage VI: Meet with someone higher up that confirms what everyone else told them. This is usually a formality, but it still is possible to mess up.

Then the offer! (Don’t forget to negotiate, while being gracious.)

Each of these stages of the interview process can have a period of several weeks in between. And if you’ve had one bad day, you have to start the whole process over.

Ideally you’re working with several companies in tandem, so you’re not actually starting from scratch each time, but one off day, and you’ll get the dreaded rejection.

How did I do it?

First, I was open about what I was going through. I wrote about the layoff and posted it to my networks. I had so many people come out and help me, and I followed (almost) every lead that I could. This was a huge boost for me emotionally, and really helped me get started. I am so truly grateful for the support that I got from my network.

You never know where the next opportunity will come from. So if you post what you need, and someone shares it, or even just “likes” it, it’s very possible that they know someone who is looking for someone like you.

Next, I treated the job-hunt as a full-time job. Because it really is. My #1 responsibility was to find a job.

That meant that I got to my desk by 9am, and worked until 5pm or 6pm. I modeled this after a typical work day. And just like a typical work day, there were days that I went longer.

This was my job!

What were my job responsibilities?

  • Submit resumes, including tracking down opportunities.
  • Interview. This includes all of the above stages I mentioned.
  • Level up
    • Practice algorithms for the technical interviews
    • Read books
    • Work on side projects
    • Take courses

Submit Resumes. I didn’t have a whole lot of success doing this. I got a few call-backs, several after accepting an offer. This process is grueling. Each time you get a rejection it’s demoralizing. There are so many positions I applied for, that based on the description I’d have been perfect for, and I know that there must have been something about my resume that just didn’t work for the hiring manager. It’s an imperfect system.

As a software engineer, I solve problems by trying things, seeing where it went wrong, and quickly iterating. The key here is the feedback where the thing went wrong. But with resume submissions there isn’t any feedback except “we decided to go with other candidates.” I don’t blame them. They potentially open themselves up for a lawsuit if they do give feedback, and they’re looking at so many resumes they can’t possibly write up critiques for every single resume.

But because there were so many rejections, I celebrated the wins. Each company that got back to me for the next round, was a win. Each round I passed, another win.

With all those “rejections” you have to keep reminding yourself to not take it personally, because it’s not personal. You have no idea why someone passed on your candidacy. You may have had an off day during an interview, they might have had an off day. It could be anything. The important thing to remember is that this is a numbers game. The more opportunities your create for yourself, the more chances you have to succeed. And the more you position yourself for success, the better your chance is when the opportunity arises.

I said yes to a call with most head-hunters when they reached out. The position they send you initially may not be a fit, but you don’t know what else they are working on. (I did pass on the ones who didn’t know the difference between Java and JavaScript.) I did not want to take any contract, or contract-to-hire, roles, so if a head-hunter offered that, I asked if they’re representing any full-time positions. At the very least, talking with a head-hunter is great practice for talking with hiring managers.

Interview. I described the process above, but not how I succeeded with them.

Early on in my career I found the book 60 Seconds and You’re Hired by Robin Ryan. I’ve read all her books, and they’re excellent. Get her books and read them. 60 Seconds is about interviews specifically.

In addition, have examples ready of your skills.

You should be preparing these already from when you’re building your resume. Think about your responsibilities from each job, and your wins. Then distill them into bullet points showing how what you did helped the mission of the company. That goes onto your resume.

Next develop a narrative for each point.

Telling these stories is what you’re going to go through during most of your cultural interviews, the interviews that are seeing if you’re a fit for the role. Work in keywords, responsibilities, wins, challenges that you crushed.

Level up. You need to stay sharp. Regardless of why you had to leave your last job, you want to start the next one and shine. So when you’re not creating opportunities to get your next job, you should be spending time making sure you’ll succeed in your next position.

Practice Algorithms. Read my essay about how AlgoExpert helped me to understand how and why.

Books. I read through Clean Code, Software Estimation, Hit Refresh, and The Manager’s Path. There are so many more on my list, I’ll get to them yet…

Side Projects. It doesn’t matter what you do, just make sure your skills don’t atrophy. I decided to over-engineer a to-do app. Building a to-do app is one of the first apps people learn. I chose that so I could focus on the tech, and not be distracted by the features. I wanted to treat building it as if I were building one professionally. I’m not done yet. And I do plan on finishing it. I’m collecting there all of the things I’ve learned about production ready applications. If I ever need to build an app I can clone this, and just change the to-do functionality to … whatever.

Courses. I signed up for A Cloud Guru and am working through the AWS Certified Solutions Architect – Associate (SAA-C03) course. Most of the contents are things I’ve done previously, so it’s a refresher. But of all the certifications and skills, cloud is one of the most valuable certifications right now.

***

That’s how I did it:

  • Be open about what you’re going through, and talk to people about how you are looking for your next position, and what you are looking for. You never know where a lead may come from.
  • It’s a day job. Spend your day leveling up when you’re not interviewing.
  • Celebrate the wins. As you see above, this is a long grueling process. Making the space to celebrate wins, will help you fuel your journey.