nicholasquirk.me/blog/2014/6/8/interviewing-my-start-to-a-new-start

I've been on the prowl for a new job since the start of this year. As of this writing, I've had three interviews. Each taught me a good deal. I doubt anything that follows is new. These are just my observations if you want to reduce the chance of a bad interview.

The first interview was for a company we will call Paperclips. They're shifting more to an online presence to compete directly with Amazon. In order to compete with Amazon, they've started work on a new platform written in Clojure. That was essentially my one and only ticket to the interview. The interview was broken into four one-on-one meetings. They went in the order of senior manager guy, some other manager guy, senior architect guy, and director lady. Each meeting was thirty minutes long. They all started with the interviewer asking 'So what have you been doing at...' queue the head to look down at my resume. Okay fine, they're busy people and don't have time to look at everyone's resume. Even on the walk down to the meeting room.

The first senior manager guy was the biggest mistake on my part. One thing you shouldn't do is talk bad about your current employer. It doesn't put you in a good light. It's best to be as humble as possible. Not just during interviews but in life. I'm not saying I said anything I regret about my current employer. While talking about one of my projects, I had mentioned my lack of control over the direction the application was going. I disagreed with some of the features and functionality that were being pushed on me to implement. I said how the operations guy I was working with was incredibly anal and I felt it was ruining the project. The interviewer asked me how I handled that type of dynamic. I said I didn't take it well. It bothered me that I was part of something I didn't like and that I would have to maintain it, so long as I remained with the company. As I stated, I don't regret saying any of this. It was all true. In hindsight though, talking about the negative aspects of your previous projects or employer is not a good idea. You should really focus on the positive aspects of it. If you do mention pitfalls or pain points say what you learned from them and how you've grown. That's something I didn't to. I left my negative feelings towards the project hanging. It would have been better if I mentioned how I learned to deal with conflict and disagreements better.

The second senior manager guy isn't really worth mentioning. He just told me about the company and asked me some of the same questions as the first guy. The senior architect guy followed him. He seemed like a very nice and intelligent man. The kind I would have liked to work under. I was expecting white board problems at this point, but he asked me more of the same questions as the prior two managers, with the added technical questions about Clojure and my experience with it. The last meeting was with the director lady and she was incredibly nice also. She mostly told me what they were planning on doing with this platform they were building. She asked me basic questions, like if I would like to be perm or contract as an example.

I didn't get a call back and I didn't follow-up. I was interested in the job but my morale was a little down. I felt I should have shined a little more. This was just the personality portion of their interview process. Did I not have a good personality?

Tip 1: Stay positive. The glass is half full. Use this one in life, not just for interviews. Don't say anything negative about your current or past employer/projects. If you do mention a project that went sour, express how it was a learning experience.

Like anything else, I didn't let that stop me. I continued searching online and came across a posting for a company not too far from my current employer. I checked out the site and looked at the job description. They mentioned the need for functional language programmers who know Haskell and/or Erlang. I liked the look of the company from what they advertised on their site. It looked like a start-up culture yet was financially stable. They offered perks like catered lunch every day and dry cleaning. Both of which I didn't care for. I can feed myself and clean my own clothes. I've been doing those since before I hit puberty.

After submitting my resume, I received a call from the head of HR. This was a simple phone interview to make sure I breathed air and drank water. From that, I had another phone interview with the engineering manager. I think this phone call lasted about an hour. He really wanted to gauge my knowledge base and experience. I got the usual question of 'What have you been doing at your current company?' I also received some new questions like 'What was the hardest thing you've worked on?' I don't recall giving a good answer for this question. Since it's the one that sticks out in my mind, it was probably the most important. When I asked in what regard, i.e. learning a language, project at work or something in my spare time he didn't care which. He probably just wanted to get an idea of what I find challenging and how I overcame those challenges.

The phone interview landed me an in-person interview. This post would be very long if I describe it in detail, so I'll be as concise as possible.

I met the head of HR who led me into a room filled with programmers and data scientist, shoulder to shoulder in a large room. Right away I thought, 'This sucks...' I was led into a conference room, where I received the first interview. It was a white board panel style interview. Three guys sat behind me while I solved problems. I solved all the problems with a few hiccups. It's usually expected that you'll get stuck. I recommend for this portion of the interview, don't give up. No one likes a quitter. If the people interviewing you are worth joining the company and working with on a daily basis, they will drop you hints usually in the form of a question.

After this portion, there was another panel style interview with an IT manager and data scientist. They asked me logic/puzzle questions. I got the puzzle question correct, but I couldn't grasp the question that involved their business. They wanted me to design a system that would do x, but no matter how many questions I asked I still felt like I didn't have enough information. Once this interview ended the coding portion started. Basically, I was asked to implement a site with certain features. I was given an off the shelf Dell with a fresh install of Ubuntu. I had an internet connection and sudo privileges. This was to emulate a real problem I would have to solve, which means I had access to Google and could use whatever technology I wanted. The hour I had quickly turned into a nightmare. I decided to use Java (playing it safe) with Apache and MySQL to run my web site. Between all the installing (remember I said this was a fresh OS install) and configuring, my hour was up before I had anything to show. I told the engineering manager when he came back into the room that I had nothing done. He asked me how much time I would need to get something up and running. I asked for 20 minutes and by the time he came back I had some of the basic features completed. He asked me how much more time I would like and I asked for 15 minutes. When he came back the second time, I had the main features done and was working on the bonus items.

Tip 2: Don't give up. White board questions are standard. You may not be able to solve the problems given to you, but you need to have a solid approach to solving problems. If you get stuck, continue to approach the problem from different angles. Don't be afraid to ask questions either.

The last interview of the day was with the engineering manager. Up until this point, I thought I had a done a decent job. I gave them most of what they wanted with only a few hiccups. This is the point in which it all fell apart. He essentially questioned my motives and desires to join the company. This company specializes in ad placement on web sites. I actually hadn't thought about why I was interested in this company before this point. In hindsight, I think I just thought it looked cool. It had a lot of young people and they had a very clean looking site. Once he asked this, I realized I didn't want to work there. I have no desire to work for a company that's in the ad space. I hate ads. If people were to ask me what kind of programming I do, I would have to say 'You know those really annoying ads on the right of a YouTube page?' I don't want to be that guy. I'm really grateful for this part of the interview process. The manager made me realize that I need to start looking at a career and not just a job. I should be focusing my attention on an industry that I'm passionate about.

I did get a call back but after this revelation I decided I would continue my search.

Tip 3: Know why you're there. If you're looking for your first job, then it's experience. If your mid or senior level, you need to be thinking about a career. Pick a company in a market or domain you're interested in. Leaving one job for another just for change or an increase in salary isn't a good enough reason.

Upon reflection, I had a couple industries I was interested in. One of them was education and I found a company about half an hour away from me that specialized in dynamic lesson plans for students. They make teaching games that assess students’ performance as they play and tailor the curriculum around weak spots. I landed an in-person interview after a brief phone call with the HR lady. Once I was in the hot seat it didn't take long for this interview to go sour. The manager was a nice enough person and I may have been his twentieth interviewee of the week. For what was supposed to be the personality interview, it wasn't. He started off with questions about my knowledge with current technologies. This was fine and I expected this. The rest of the interview was about the stack I use at my current employer. It's a web stack, but legacy by today's standards. It was started in the early 2000s. It turned into question after question about database access, all the actions an HTTP request would invoke from start to finish, AJAX calls, dependency management, unit testing, etc. The interview was 40 minutes of me explaining my current employer's stack. We setup the 'technical' interview for the following week but I declined a few days prior. After I e-mailed him to cancel and express my disappointment with the interview, his response was that he was trying to get to know me before we did any white board problems. I'm glad I didn't go back because I wouldn't want to work for someone that's either dishonest or oblivious to their own faults.

Tip 4: Interviews don't go the way you want them to. Be ready for the unexpected and to be let down. Don't compromise your own morals for a job.

This has been my long winded summary of my experience with technical job interviews. I hope this helps someone who may be looking to branch out and start looking at new opportunities.


Comments (0)

Sign in to post comments.