When it comes to interviewing, everyone has their own style and way they like to approach it. When I started looking for my next opportunity, I was not quite sure what to expect. I read a few blog posts to prep myself. These were incredibly helpful, but I found a few things even beyond their recommendations that helped me to succeed and that is what I want to share with you all. My approach may not be ideal for everyone but it worked very well for myself and using it I was able to land five job offers.
Many folks will tell you that interviewing is a skill and you should make sure to get in some practice rounds before aiming towards a company you really want. I 100% found this to be the case. The first couple of phone screens I did I had to pause and think about the answers to the questions. As things went along, I was asked similar questions over and over and it got much easier.
However, even with a couple of practice rounds, I still felt a bit stressed and anxious going into interviews. Then, as my interviewing frequency picked up, I noticed my anxiety nearly went away. When I had an interview scheduled almost every day my anxiety was almost non-existent because it felt like just one more meeting on my schedule.
Once I had this realization I started to schedule interviews on a consistent cadence each week. This not only lowered my anxiety, but did wonders for my ability to solve the technical problems. Instead of getting nervous before a technical session, I would get focused. Interviewing on a consistent basis got me into a nice groove when it came to tackling technical interviews such as coding or systems design problems.
I even went so far as to schedule a set of interviews with a company solely for the reason of getting me in the groove and prepped for one of the final companies I interviewed with. Not only did that extra company help prep me, but it turned out to be a fabulous interview and I got an offer that I seriously considered in the end.
The first couple of roles I did hiring screens for determined I was not a great fit. One of the roles I actually thought I was a great fit for but realized I had not presented my skills as well as I could have during the phone screen.
Immediately after those phone screens I decided it was time to get organized and take interviewing more seriously. I sat down and wrote out the questions they asked that, at the time, I didn't think I gave good answers to. Then I took time to come up with much better answers. I combed through my mind to find examples that would better highlight my skillset. In addition to writing down answers to the questions I was asked in the phone screens, I collected some more generic technical interview questions from various websites and wrote down answers for those as well.
I initially put all of this into a Google doc. The Google doc was great for getting my thoughts written down, but I wanted something that I could use repeatedly to prep. To achieve this I went back to my college days and used the tried and true study method of flash cards! I made flash cards with the questions on one side and my answers on the other. Then, like in school, I would run through the flash cards at the beginning of each week to make sure I had a quick recall of all the stories and highlights of my career.
Even though the interview questions didn't always exactly match those on my flash cards, the flash cards helped remind me about the key points throughout my career. Those key points and experiences were easily transferable to many types of questions. For folks that are interested, I wrote a second post listing out all of the questions I used to prepare.
Before starting this process I looked into companies and websites that I could use for interview prep. I felt pretty confident in my coding ability, but wanted to learn more about the systems design portion that many interviews have. To fill this void I signed up for Exponent. Exponent is a bit pricey, but it was completely worth it for me. One nice aspect is that they have some free content available so you can see if it is right for you and what you want to accomplish. I only ended up subscribing to it for two months.
I found their guide to SWE interviewing to have a lot of great information in it. One part that was crucial in helping me was the systems design section. I had never done a systems design interview before so I had no clue about how to approach one.
Exponent had many examples of folks answering system design questions which gave me an idea of what a good answer included. They also had lots of literature about how to break down the system design questions and what to cover when answering them. Once again, I ended up making flash cards around system design question elements and ran through those periodically to keep myself sharp on that front.
For more details on how to I tackled my system design interviews stay tuned for a follow up blog post. 😎
During your interviews take notes! Especially if you are interviewing at multiple companies, it can be very hard to keep them all straight. I have Google docs for each company I interviewed with that have extensive notes from each process.
These docs contain everything from the questions I asked, to the background of each interviewer, to any feelings I felt during the interview. These notes were invaluable at the end of the process when it came to decision time.
Scheduling interviews around work can be challenging, but one thing I found is that scheduling in downtime right before is crucial to get yourself in the mental state to interview. My routine involved the following:
- Gather up my notes already compiled for the company and write down questions I wanted to ask
- Research the interviewers if I had their names
- Turn off all notifications and close Slack
- Open any necessary tools (code editor, whiteboard tool, etc)
- Go to the bathroom and grab some water
- Power pose for a min and then have a quick dance party to get rid of any last min nerves and pump myself up.
That last point is not for everyone, but for me, listening to some pump up music while dancing makes me feel really good about myself and gets me in a good headspace. I also listen to music before I compete with my horses to get in the zone which may be why it worked well in this scenario.
Once I got into that interview groove I started to really enjoy them. I got to meet some incredible engineers and people while solving some fun and interesting problems. A lot of the code interviews I did felt like I was working with colleagues. Yes, I was responsible for coming up with the solution, but during the process I shared so many good laughs with interviewers as we commiserated over a typo or trying to put together a regex.
Maybe I got incredibly lucky and the 30+ people I met from the 6 companies I considered were all just really nice. Or, maybe some of it had to do with the mindset I went into these interviews with.
Once I had settled into interviewing, I approached each interview with a collaborative mindset. I was there to learn about the company as much as they wanted to learn about me. This made me much more relaxed and open during the interview and I think my interviewers ended up mirroring that feeling. If you go into an interview like you are heading into battle, then it likely will be a battle for both sides.
Even though I had to say no to many companies, they are still places I would have loved to work. I would recommend them to others in a heartbeat because of how much I enjoyed their interview process.
Interviewing is not easy. It is a full on side hustle when you decide to take it on. But it is worth it in the end! Your perfect next opportunity is out there, now you just have to find it.
Anything else you all want to know about my interviewing process? Drop any additional questions you may have in the comments 👇