Rachel Salois is a software engineer living in Brooklyn, New York. Currently, she works at the Flatiron School, helping build their online learning platform, Learn.co. Previously, Rachel has worked as a software engineering consultant, technical writer, and children's book reviewer. You can find her on LinkedIn or learn more about here at rachelsalois.com
In December 2017, I began job hunting. Nine months earlier, I had completed Flatiron School's web development bootcamp and then worked as a teaching assistant at Flatiron. But going into 2018, I was ready to find my first software engineering job.
I knew getting my first dev job wouldn't be easy. There would be a lot to prove: How can I show what I know? What can I bring to a team as a new dev? And—-if it comes up—-how can I address my areas of weakness while still giving my interviewer confidence in my candidacy?
Cover letters, interviews, code challenges--it was pretty daunting to get started and, at first, I didn't have a formal plan. But over the course of my job hunt I came up with a system that helped me accomplish these three things:
- Improve my responses to interview questions and hone my talking points.
- Determine which of the positions I was interviewing for would be a good fit.
- Create a set of reference materials that will make the start of my next job search much easier.
It was a pretty simple process (I'll get into the details in a sec), but generally it's an idea that most programmers are already familiar with: iterate, iterate, iterate.
So, how did I do it?
Here are the steps I took before, during, and after each interview to become a pro interviewee over time.
One note: this article focuses specifically on honing interviewing skills, but the principals can apply to cover letters and code challenges, as well!
To get the iterative process rolling, I created a document. (My Google doc was called 'interview prep', but I should have called it, 'MY WORK-IN-PROGRESS INTERVIEW PREP MANIFESTO'.) It had a simple format: interview questions in bold with my responses below. Also, my questions for the inevitable “do you have any questions for me?” portion of the interview were at the bottom of the doc.
For my first interview, I started by looking up common interview questions online (example: what made you interested in applying to our company?) and wrote down my answers after researching the company and position I was interviewing for, as well as looking up my interviewer on LinkedIn.
For each consecutive interview, I used my previous answers as a guide, but tailored each set of responses to a specific company, position, and interviewer.
During the Interview
For in-person interviews, I reviewed my manifesto just before going inside. For phone screenings, I taped up a printed copy of the manifesto on the wall (with important words highlighted) for reference during the call.
As soon as possible after finishing an interview, I wrote down any questions I had been asked that weren't already in my manifesto. Then, I did a bit of reflection on each new question.
First, was the question reasonable? (Wondering what sort of question might qualify as unreasonable? Once, an interviewer asked me, 'What do you think of women in tech?'. Since I was a woman, looking for a job in tech, I was shocked he felt the need to ask.)
For reasonable questions (which were the vast majority), I added them to my manifesto and prepared an answer for my next interview. For unreasonable questions, I used it as an opportunity to reflect on the company or person interviewing me, and decide whether I wanted to continue in the interview process.
Of course, even with my manifesto, it wasn't a stress-free job hunt. (Those VERY rarely exist, anyway.) I was putting in eight+ hours a day five days a week. It was hard not to feel discouraged sometimes. But over the course of my job search, I did notice a change.
At the beginning, every invitation to interview or callback to a next round felt like a stroke of luck. Conversely, every rejection felt like it was sending me back to square one.
But after iterating on my interview responses for several interviews, I had crafted solid answers to those tough questions that I had been nervous about facing as a new dev. I was confident going into interviews, because I was prepared to do my best. It also meant that when I got a rejection, I didn't feel like I was starting from scratch again. I had learned lessons that I could use next time around.
For me, it took four months to get an offer with a company I was excited about. It was a longer job hunt than I had hoped for (my ideal length of time being less than one day), but thanks to an iterative process, it was time well used. Next time I decided to look for a job, I'll be dusting off my manifesto and iterating on my interview once again, but this time, with a head start.