Disclaimer: This post will be inevitably anecdotal, will probably be all over the place (I haven't written anything in years), and will most likely ooze with survivorship bias. If it feels like the things I talk about don't apply to you, that's fine. Everyone's journey is different. I wanted to share this in the hopes that even one person would get something out of it.
After one year of unemployment, I finally landed a job as a frontend engineer. 😄 In this post I'll share a little about who I am, what led to this one year gap in my employment, and what I did to get back into the industry.
If you're exclusively interested in learning about how I approached the application and interview process, just skip to the last two parts. The rest of the post is about who I am and how I dealt with some particularly crippling imposter syndrome.
Table of Contents
Who Am I (professionally)
Basics: 30 year old Indian guy, raised in the US since I was 7. Another Javascript person, mostly client-side.
Education: High school diploma, dropped out of a bunch of colleges, 2015 coding bootcamp grad (name doesn't matter, they're basically all the same).
Prior experience: 10 years in retail, sales, and banking. Was fairly successful; I was able to survive off of my income and support myself, but the job wasn't particularly rewarding and upward mobility didn't seem to alleviate that.
Industry experience:
- 10mos as an Assistant Instructor at aforementioned coding bootcamp
- 4mos with a small start-up, helping them migrate from AngularJS to Angular (at the time, 2.0)
- 2yrs 5mos at Amazon as a Web Development Engineer; 1 yr working on the retail side, 1yr 5mos on the API Gateway console team
The One Year Gap
tldr; Left Amazon in September of 2019, spent next 6mos dealing with family stuff, then entered the job market in a world of COVID and imposter syndrome, wasted a bunch of time telling myself I sucked, started another bootcamp, and didn't apply for a job until November.
I left Amazon in September of 2019. I wasn't enjoying the work, after switching teams I found it very difficult to gain any form of mentorship, and I found myself constantly butting heads with management. It reached a point where going into the office had become the primary source of stress in my life. While it would have been better to seek out employment before leaving my job, I don't regret the way I did things. I was miserable and I did what I had to do for my mental health.
Shortly after leaving, there was a medical-related family emergency that came up, and I chose to prioritize that over getting back to work. It was March of 2020 when things finally settled down and I was able to focus on looking for a job. Not only was COVID-19 in full effect, 6 months had passed since I had actively participated in the web development world. Given the pace at which that world moves, I felt very out of touch. Browsing through Twitter fueled my imposter syndrome; I had no clue what the hell anyone was talking about. "Are my skills even relevant any more? Do I need to learn <insert-trending-library/framework/technology/language-here>
? Should I ~just build stuff?" I had no clue where to start.
I ended up splitting my time between going through Web Development fundamentals, Javascript fundamentals, and learning various trending libraries (Vue, Svelte, whatever else). No matter what I did, I couldn't help but feel like I was wasting time and not learning skills that would help me find employment. Going through the fundamentals felt tedious; I knew all of the subjects covered. I already had a career in this field. I should be qualified. But when I would look at job descriptions, I would think to myself 'no, no, I need to learn more before I can apply.' I was just talking myself out of applying. Between September 2019 and August 2020, I submitted 0 job applications. I would find jobs, read the job description, tell myself I wasn't qualified, not apply, and then go do some more beginner courses. I am not a beginner. To be clear, there is nothing wrong with being a beginner. I'm just not one. So, while an argument could be made that going through these courses cemented my understanding and built a strong foundation, it wasn't a particularly good use of my time. I should have either learned new topics that I wasn't familiar with, or focused on building projects to add to a portfolio.
I eventually convinced myself that the best thing I could do for myself was to immerse myself in programming and web development again. While I might not have the nicest things to say about bootcamps, I acknowledge that they are very good for one thing: providing an environment conducive to learning made up of highly motivated individuals. So I signed up for another bootcamp, hoping that it would help me build some confidence regarding my knowledge and skills, and that I would be able to create projects to add to my portfolio. And the bootcamp experience did just that. I found that I was familiar with all the topics discussed. I had done this stuff before for a profession. I can do it again.
Applying and Interviewing
How I learned about the opportunity: I was talking with a friend of mine about my past experience at Amazon and why I left, and we got on the topic of what I was looking for in a team. After some discussion, he recommended I apply to the company he works for. He was close with one of the leads for the web development team, and he felt like my goals aligned with what the team was aiming to achieve.
The interview process: After sending my resume to my friend, I was contacted by one of their internal recruiters for a 20 minute interview. This interview was a 'get to know you' interview. The recruiter asked me about my past experience, the gap in my employment history, my education, what I was looking for in a career, why I wanted to work at this company...I wasn't asked any technical questions. After a day, I was contacted again by the recruiter about setting up a 45-min interview with the Senior Director for Web Technologies. I asked the recruiter if this would be a technical interview, and they told me it would be a mix.
This interview, again, started with the standard 'get to know you' questions. You should have consistent, practiced responses to these questions. Having concise, rehearsed responses will help you sound confident in the interview and will help the conversation move forward quickly. It's okay if you have a few 'um's and 'uh's in your answer, but you want to avoid long silences while you try to formulate a response. Think about common non-technical interview questions ("Tell me why you want to work here", for example), or find a list of them online, and prepare answers for them. Practice saying those answers out loud.
After those questions, we got to the technical part of the interview. Given that this interview was over the phone, it was more of a knowledge check than anything else. Could I confidently speak about scope in Javascript? Did I understand hoisting? Did I understand what the purpose of a Promise is? How would I create a two-column layout using CSS? How would I tell a browser that a cached asset is no longer valid? I wasn't asked to write any code, but I had to be able to speak confidently about topics that were relevant to web development fundamentals. Being able to write code is obviously important, but it's arguably more important to be able to talk about your code. In a team environment, communication is key. Being able to talk through how you approach a problem is just as important as writing out your solution. At the end of this interview, I made sure to ask what the next steps would look like. If there's only one question I urge you to ask when your interviewer says "do you have any questions for me?", I think this is the one. Regardless of however many books and articles people can release on the topic, the tech interview is shrouded in mystery because it changes from one company to the next. Don't be afraid to ask what comes next. You want to be able to prepare for success, and hopefully the company you're interviewing with wants you to succeed.
The final interview was to be a 3hr 'remote onsite'. Basically, I was to sit in front of a webcam and go through the interview gamut with a bunch of seniors, managers, leads, etc. I knew this would be purely technical, but I had no idea what kind of questions would be asked of me. Would I be asked about data structures and algorithms? Would it be more relevant to web development?
I had no clue. So I reached out to some current employees and members of the web development team on LinkedIn and asked them. There's no harm in doing this. It takes very little effort, and the worst that could happen is that you don't get a response, in which case you'd be exactly where you started. No big deal. Thankfully, someone did respond to me and confirmed that the interview questions would be centered around web development, with some questions around architecture, client/server best practices, and working in a team environment.
Every person I spoke to during this interview started with the same 'get to know you' questions. Again, practice your responses to these. Get your answers down so you can get to the rest of the interview and show off what you know. The technical questions were in line with what I was told, and for the most part I wasn't caught off guard, but there were a few times I was stumped.
In those moments, I made sure to maintain some level of confidence, and tried to talk through my thoughts and how I was trying to solve the problem. Having all the right answers is great, but when you're on the job, there will inevitably be a problem that you don't know how to solve. What's more important than getting the right answer to every question is to be able to explain your thought process, and walk through your approach to problem-solving.
I was contacted 3 days after the interview and was presented with an offer.
Conclusion
Lots of words. What I hope you can take away from this:
- Don't doubt your skills. If you do, ask yourself what you need to do to alleviate those doubts, and do it.
- Don't listen to all the Twitter hype or buy into the FOMO. Obviously this is easier said than done, but do what you can to turn away and just focus on yourself. That time scrolling through Twitter and reading about the hot new thing Thoughtleader X is selling to their 40k followers is probably better spent just...doing stuff.
- A gap in your employment experience is fine. When asked about mine, I tried to explain it as transparently as I could. I wasn't shy or ashamed of it. It's just a part of my experience.
- If you're invited to interview with a company, do what you can to learn about their interview process. Reach out to people who work there with the title that you're applying for, or work at the department you're applying to, and ask them what you can expect. Search for '
<company name>
interview process<job title>
' or something along those lines, and see if anything relevant comes up. The more surprises you can eliminate, the better your chances are. - It's okay if you don't have an answer to a question off the top of your head. Talk through it. Ask questions to gain more insight into the problem you're being asked to solve. Talk about how you would approach solving it.
I was very fortunate that the first place I applied to was willing to hire me, but I can't help but wonder how much sooner I could have had a job had I listened to same advice I listed above. I hope this information motivates at least one other person to feel confident about themselves, and to go out there and apply.
Thanks for taking the time to read! 😄 If you'd like to connect, you can find me on Twitter.
Top comments (2)
really good article, thanks for this ;)
Great article. I feel like this at this very moment. Thanks for the motivation.