It’s been a hot minute since I have written a blog on one of my favorite topics, the job search. On one hand, I know this is because I landed the software engineer coaching position at Flatiron School back in August (which I left at the end of November). On the other though, I didn’t stop interviewing even when I got that job, so what’s my excuse? I don’t have one.
When I wrote the first part of this series only 57 days into my job search, I never thought I would be where I am right now, still jobless. It’s been a tough ride over the last year and as I’m gearing up to hit the one year anniversary of declaring my job search, I have begun reflecting on the mistakes I have made along the way thus far. It is here, with this article, that I am truly self-reflecting and will be sharing the wisdom I’ve gained through this process.
Let’s get started!
Take Notes
After the first few months of interviewing and not having any luck, I wasn’t entirely sure what I was doing wrong and eventually decided to start taking notes at the end of every interview. As soon as the interview would end I would start jotting down notes about what I think I did well at and what I think I did poorly at. Then I’d sit and reflect on what steps I could take to improve. I would always ask myself: “How can I do better next time?” This is a very important question to ask oneself after every interview.
Rehearsed Answers
We all know that a lot of interviewers ask similar questions. This means that we often have thought-out answers for every one of those oh-so-familiar questions. I do, but I don’t always phrase it the same way every single time. Some days I phrase it in a way that I even surprise myself, and, on those days, I have started to write down the exact phrasing that I used. I then reflect on why the new phrasing stood out to me and which aspects I’d like to reuse.
To further this idea, I also take notes on the phrasing I didn’t like. There are times that I reflect and think that what I said could have come off wrong or wasn’t representing the message I wanted to relay. To avoid making the same mistake again, I write it down.
Ask Questions
One thing I’ve lived by during this whole journey is that the interview is just as much about me interviewing the company as it is the company interviewing me. The more interviews I have had, the more I have learned which questions bring out what I want to know about the company. There are a few key questions that I love asking and I’m going to share them with you here. Feel free to steal them for your personal use!
1. What is your favorite aspect of working at Company XYZ?
This question is one of my favorites. This gives the interviewer a moment to boast about their favorite aspects of the company. In my experience, the interviewer tends to have the longest answer for this question because as they talk about their favorite aspect they often think about other aspects and go on and on. It’s a fun moment for me to see the pride the interviewer has in the company they work for.
Immediately after asking this question, I follow it up with…
2. What is your least favorite aspect of working here?
This is also another favorite of mine that tells A LOT about the company. I often have the interviewer say something along the lines of “oh, that’s a tough one.” The answers I get always seem genuine. One time I got a very raw answer that once I ended the interview, I crossed this company off my list. To me, this is great because this is the point of interviewing! The company must be a good fit for me and the only way to find that out is to ask the tough questions. Which brings me to the next question…
3. What are the biggest challenges facing the company right now?
This question often gets answered with difficulties that face the company as a whole. If it is a startup, I often hear about the growing pains of a startup. If there is a new competitor in the field or something along those lines, they’ll mention that.
There are times that I omit this question if time is running out because I think the above question is more telling about a company.
4. What does Company XYZ do to promote an inclusive and diverse work environment?
The answers to this question, in my experience, have determined whether I want to continue interviewing with a company or not. With one company, I made it 3-rounds in and asked every person this question. None of them could give me a solid answer. To me, this comes off as if the company doesn’t do anything to promote an inclusive and diverse workplace.
Then there are times where I get an amazing answer that is detailed and says a lot about the company and how they care about their employees' mental health and well-being. This not only helps me get more excited about the company but also gives me faith in the future of tech. It’s often my final question to hopefully end things on a high note!
Note: Inclusivity and diversity are incredibly important to me, which is why I always ask this question. If these things aren’t important to you, then this question seems a little pointless and you don’t need to add it to your question list.
Technical Interviews
Now for the embarrassing story. After almost a full year of interviewing I have completed a ton of technical interviews. It is normally at this point in the interview process that I have received those daunting rejection no-reply emails. There have been many interviews when I thought I had crushed the technical interview, but it turns out, I hadn’t.
It wasn’t until around October/November of 2019 that I realized what was going wrong. To prepare for a final round in-person interview, a friend at the company offered to help me prepare. He brought up multiple data structures that I knew about but didn’t know why I should use one over the other or what their Big O implications were. This opened my eyes and by December I enrolled in the Udemy course Master the Coding Interview: Data Structures + Algorithms created by Andrei Neagoie.
Now we are creeping up on April and I have still yet to complete the course, but my confidence during technical interviews has improved tremendously and I have moved on in the interview process more often than I had before.
Here are a few things I have changed recently that I think have helped and hopefully one would find useful:
- Speak most, if not all, of your thoughts aloud. This gives the interviewer the chance to get to know your thought process. If you choose to use data structure A over data structure B, let them know your reasoning.
- Write comments and pseudo-code as much as possible before diving into writing code. This allows you to discover holes or possible problems in your approach before starting to write code that you’d have to change. It’ll save you time from going down the wrong path.
- Ask clarifying questions when necessary.
- Come to terms with the fact that you will not always finish the problem and that is OKAY!
Handling Rejection
Rejection: arguably one of the toughest aspects of the job search. When I first started the job search, I felt as if every rejection was personal. This is a really silly mindset to have when looking for jobs and I am very happy that I have come to realize this. It has made a world of difference in my ability to bounce back after receiving a rejection. I often like to think of the old saying that when one door closes, another will open in its place.
Now, if you get lucky and receive a rejection from an actual person and not a no-reply email, make sure to leave things on good terms. This happened to me recently and the company reached back out a week later offering to do a week-long paid trail interview. This was amazing for me because it gave me the ability to gain a week's worth of professional experience that I had never had before. I got to sit in on a design review, daily stand-ups, code reviews, etc.. It was an invaluable experience I would not have gotten otherwise.
An update on that story: I received an offer, but due to COVID19 the offer was rescinded. They have since offered to hire me as a contract engineer until I find a full-time role somewhere. I am incredibly blessed and grateful to have been exposed to this amazing company that cares.
Anyways, make sure to handle rejection with grace and try to bounce back as fast as you can. If you find yourself struggling with rejection don’t worry, you aren’t alone. I have had my fair share of rejection tears over the last year. Feel free to reach out to me if you can’t seem to move past one, I am a great positivity buddy.
Keep Improving
The most important piece of advice I can give you today is to continue improving yourself. Continue to write code. Continue to learn new things or deepen your understanding of topics that you already know. Continue to learn more about yourself and your weaknesses so that you can turn those weaknesses into your strengths.
Final Thoughts
While it is incredibly disappointing that I have yet to land a full-time role as a dev after nearly a year of searching, I am proud of myself for continuing to self-reflect and improve throughout the whole process. If, in a few months, you haven't secured a role yet, could you self-refect and say that you are proud of how far you have come? I think this is an important question to pose to yourself down the line or to use as daily motivation. Always strive to continue improving yourself!!
Another closing note I'd like to mention is that the choice to be positive is important in maintaining your mental health during the job search, so do your best to stay positive. I get it, sometimes you just can't stay positive. Take 30 minutes and just let all the negativity out. Let it be acknowledged, then move on.
Note: This posts cover image is brought to you from my recent trip to Hawaiʻi Volcanoes National Park in Volcano, Hawaii.
Top comments (1)
Thanks for sharing. These points are much important for young programmers like me. You has given me lot of motivation. Nice post!