The first web development interview

Originally written Friday, August 15, 2015 and not published until the interview process was completed. See the update at the end of the post for more.

Interviewing is a weird and often nerve-wracking thing, however with experience it does get less so. That’s true generally, but having transitioned from digital communications and project management into web programming, I’m glad to say that it remains so. I recently completed my first set of job interviews for a web development position, and I thought it would be worth reflecting on my impressions of that process.

Some context

The company where I interviewed is a fairly small dev shop whose work I’ve admired since I started exploring Ithaca jobs before we moved here. Let’s call them Ithaca Web Makers (IWM). Being a small business, I knew that there wouldn’t be a ton of opportunities to apply to IWM. I applied there for a non-technical position a while back, which went well enough (without being hired) that someone there pinged me when a dev opening came up for a front end dev position.

Being only about half way through the Bloc development boot camp program, my biggest worry in applying was that my portfolio was too light. At the time of applying, I had one fairly simple site case study on my site and a few Bloc projects on my GitHub account (one AngularJS and one vanilla JS game project). The application asked for a Javascript code sample, for which I supplied the primary script for the latter Bloc project. Being a Pong game and relatively frivolous, I was initially nervous about that but I didn’t really have another good option.

The only other project I had to talk about was still in progress. That project was designed from the start with my client to be a portfolio piece for me as well as serving his needs. Partially because of that, I’ve been focusing on bringing in new technologies, including Sass, Bourbon and Neat, as well as some exploration of Grunt.

Interlude - Why did I even apply?

 Dog floating in spaceship with text I have no idea what I’m doing

I mentioned that I didn’t have any other option other than the Pong app for JS code to submit. That’s not really true. My other option? To not apply at all. Sure, I won’t have a ton of chances to apply to this small company, but it’s certainly not comfortable applying when my portfolio doesn’t yet show off lots of great work. So why did I apply?

Because my wife told me to. Seriously, that’s ultimately why. Yes, someone at IWM sent me the listing, but they weren’t necessarily following my work closely. Maybe they thought I’d have a lot more under my belt by now. I was on the fence about applying since you don’t often get a second chance at a first impression. Fortunately, Meg push me over that fence and I did my best to tuck and roll. You can’t really beat having someone encouraging you, but it’s also true that most of us underestimate ourselves more than we would someone else.

The interviews

My first interview was with two of the dev team. I’d met one of them at my previous non-tech interview, which definitely helped. It’s also worth mentioning here that I’d met a couple of other people from the company at a local MeetUp group. We never got into deep discussion, but seeing familiar faces and having my face also be familiar made the whole process easier.

The initial interview went well and mostly focused around development process and the code I’d written to date. Several of their questions directly related back to specific technologies I’d listed on my resume and cover letter. We talked about my experience and thoughts on Sass, Grunt, and the Bourbon ecosystem compared to Bootstrap, their framework of choice.

The most stressful part of this interview was most definitely my code walkthrough. They asked me to walk through my Pong script. On one hand, I wrote it, so I know the code well. On the other, I’m not always good at recalling exactly how or why I did something without looking over the code for a bit. I had reviewed this code the night before, however I still said “um” more than I’d like. I also wasn’t sure how deeply to go with this. The script is about 250 lines, and after a bit it feels like reading the phone book. I took it step by step, describing the purposes of major object and functions, as well as reasoning behind them, and after about half the file an interviewer graciously said that was enough.

Major takeaway: Even though it wasn’t as fancy a code example as I’d have liked to show, I never talked it down. The interviewers were looking to see that the code was well thought out, that it worked well, and that I knew it well enough to talk through it. Starting with, “well, this is just a silly game, but…,” would not have helped me.

 Barny Stinson giving a thumbs up

I got a second interview! This one was with the CEO and CFO of IWM. I’d met both of them during my interviews for the non-tech position earlier in the year, so again it helped to not be meeting them for the first time.

I think I did well on the technical questions, including stuff like “What happens when you type in a URL and hit Enter?” and “What would you do if a web form you were using wouldn’t submit?” That first question threw me at first and I started into the DNS process. He then asked a follow up, which made clear that (duh) he was asking this front end candidate how the browser got and used the file it received from the remote server.

We also got into some non-technical questions. They’d asked me some behavioral questions in my earlier interview, so I got everything from “What concerns do you have about working with our team?” to “What do you like about living in Ithaca after a year here?” I have to say, I love getting those “fit” questions. They’re much harder to “get wrong” and let me think like a regular person for a minute.

I then got to ask some questions. My best question, and one I recommend to other early career developers, was “What concerns do you have about my background?” I’d seen this suggested before because it allows them to identify potential weaknesses that you may be able to explain away (without being defensive). In this case, an interviewer not surprisingly mentioned that I would need to quickly learn some specific tools and technologies. Fortunately, she followed that up with a comment about how I’d already shown that I am a quick study, already have a good foundation, and that I have shown initiative to learn on my own. With that, my lack of specific technology experience wasn’t as much of a concern.

Major takeaway: Don’t stop learning and try things outside of the boot camp. If I hadn’t been using Sass and the Bourbon ecosystem I don’t think I’d have a chance. Neither of those were suggested by Bloc and both display my prime area of interest: CSS.

We’ll see!

I had the second interview this afternoon and I don’t expect to hear back until the middle of next week. I’m feeling good about my chances, but if I don’t get the job I won’t be too surprised. I haven’t even finished my boot camp program and it’s not unthinkable that a more experienced front end developer of good fit is in the applicant pool. I’ll be disappointed, but not totally surprised.

What I can say for sure is that a few things have made this interview process better than it could have been:

  1. It’s not my first time meeting these folks. Sure, I interviewed there before, but I also met some of them through the web development MeetUp group. I’m a introvert for sure, but just getting out there and taking a couple of chances helped me.
  2. I leveraged the experience I do have. I may not have years of programming already, but I have years of managing digital comms teams and project management. IWM uses a developer-led team model, so in the latter interview, the interviewers raised my client work as a major asset. Never put yourself down, but also don’t pretend to be someone you’re not.
  3. This ain’t my first rodeo. It’s my first web development interview process, but it’s far from my first job interview. Job interviewing is most definitely a skill. Researching general questions and web dev interview questions, as well as preparing answers in writing, made me more confident going in–even if I didn’t need most of the prepared answers.

There’s hope here, as there is for other new developers out there. The biggest factor here may be best put by the classic Wayne Gretsky quote, “You miss 100 percent of the shots you don’t take.” The worst they can say is no, right?

Update

If you read my last blog post, you already know that I got the job! I clearly wasn’t too confident I would since I was being so cryptic. “Ithaca Web Makers” is Singlebrook Technology and I’ve been working here for a few months now. The rest of the interview process went pretty quickly, due in great part to the fact that two people had left not long before, slowing down project progress. I’m also not blind to the fact that Ithaca’s smaller talent pool, compared to cities like DC, worked in my favor.

Starting the first web development job is a topic for another post, so I don’t have much more to say about the interview process. My circumstances as far as personal history and my location definitely influenced the specifics of my hiring process. Still, the points above should still apply to most new developers: Get to know the local dev community, be constantly learning and practicing, and be prepared to talk competently (even if not flawlessly) about your code.