As a director, I interview lots of programmers for positions in Front-End Development, Back-End Development, SQL Development, QA Development and even Technical Business Analysis. From my experience in this role I’d like to give job seekers a few tips on points that can make or break your next interview. Before I get into those details, I will say that I’m not big on written testing. That doesn’t mean that I don’t consider test scores provided by recruiters as part of the initial vetting of a candidate. If you score well, bring the results. They can never hurt. I just find that the candidate who really knows their stuff can speak to it in the interview in a way that convinces me of their skill level. I really look for people who “get it”. The candidate that demonstrates to me that programming, regardless of the specific language or stack, is a universal toolbox will win points regardless of a specific degree or test scores.
Pro Tip #1 : Know your OOP.
Come into the interview ready to rattle off the 4 basic principles of OOP
C# : http://msdn.microsoft.com/en-us/library/ms173152.aspx
Again, it’s not so much that you need to show me that you can memorize the description of the four pillars of OOP, as it is that you can talk about the concept, why you use it and how you would go about accomplishing it in a language that you are not fully comfortable with. Work on your ability to tie these tenants to complimentary concepts, for instance, describe the connection between encapsulation and scope or inheritance and scope… actually, if you can convince me that you truly understand scope in OOP, I’ll be fairly impressed with that alone!
Pro Tip #2 : Don’t drop buzzwords that you aren’t ready to talk about.
Quiz yourself on being able to demonstrate the knowledge of:
- What’s the difference between SOAP and REST?
- Can you describe how CSS and jQuery relate with the DOM?
- Can you explain the concept of MVC? (Microsoft, General)
- Why has JSON become more popular than XML? (hint)
- Can you describe consuming an API? Do you even know what it stands for?
Don’t just sprattle buzzwords and acronyms without being able to back up your BS. A conversational knowledge of popular topics goes a long way to instilling confidence in your interviewer.
Pro Tip #3 : Know your mark. If you have a lame corporate job, demonstrate some personal interest.
I don’t know how many resumes I scanned from people who work at banks or a government agency who obviously want to get out into the exciting world of interactive marketing or gaming. They are like reading library cards in a medical school. Oh my God, you had me at prior Senior Financial Systems Analyst! Please wow me with the fact that you worked on an intranet portal! (not really… I’m being sarcastic)
If your prior work is confidential, hidden behind a login, or otherwise unpresentable it will behoove you immensely to show me your best pet project. Show something that demonstrates your interest in modern web coding, even if it’s just playing around. Remember I’m not the guy interviewing the designers, I’ll forgive you for not be an artist, but if you are applying for a front-end programmer position and all you have to show is formatted rows of data and non-styled forms, then you are going to need to back up that enthusiasm for the position with something that incorporates animation, or mashes up APIs, or goes “pew pew” and blows stuff up.
Your interest in programming and exploring new things in this field is key to me being interested in that big salary the recruiter told you, you could get. Demonstrating how you chase down curiosity is a big bonus during an interview in interactive.
If you are interviewing for a back-end position then show me how you made it super-easy for the front-end team to consume some complex data or how you built a site using Entity Framework or Node.js just for the heck of it.
Pro Tip #4 : Don’t ask me when a typical day starts and ends.
Your interviewer will get to that point in the conversation when they say “…so, do you have any questions for me?”. If you respond with this question, one of two things will happen. One, I’ll totally lie to you and tell you that we always try to get here at 9 and leave at five with occasional exceptions; or Two, I’ll crush your hopes of having a social life with the truth. The honest truth is that it’s somewhere in between there. Nobody wants to work long hours, but we do it when we have a deadline and having a team member that isn’t willing to stick it out with the rest of the team is just, well…disappointing.
In cycling it’s referred to as Rule #5. I think it applies to a lot of things. If you want an awesome job with a great salary then you should make it a point to short circuit this topic in the interview completely by interjecting somewhere “I’m used to doing whatever needs to be done to get the job out the door as accurately as possible. Do I want to work into the night to do that? Of course not, but I will when it’s necessary.” Now you see me making a note again. It reads “sucker!” – I mean that in the most endearing way, seriously. You almost hired.
Pro Tip #5 : Be the bridge.
Programmers who can bridge the communication gap between project teams are gold plated in my opinion. If you can speak to non-technical people about technical things without causing them to glaze over, and then interpret those ideas into a detailed development approach then you are your way to being a leader. If that is your goal then take one more piece of advice into account: position yourself as a hands on leader. Convince me that you are not just coming here to go to meetings and tell people what to do. Show me that you want to get dirty with the code and show the other kids how to make killer mud pies.
I think one of the biggest mistakes we’ve ever made in recruiting is advertising a “lead programmer” position when we wanted a really experienced senior programmer with leadership potential. When I read resumes of people in management positions with outdated skillsets, I just pass them up. Candidates and recruiters seem to see $$$ dollar signs when a lead position is advertised. 10 times out of 10 I will hire the person with current skills, a great work ethic and possible leadership ability before the person with pure leadership skills. Interactive Agencies are the home of do-ers. Remember that, even if your goal is to eventually be a manager.
Position yourself as a problem solver, solution provider and dedicated team member. Convincing your interviewer of your titanium resolve goes a long way in this business.
Bonus Tip : Be Yourself.
On my team there are young guys barely out of high school, older guys with military backgrounds, women with tattoos and a love of zombies, dudes with weird chucks of metal in their face, varying dialects from various countries and various religious beliefs. Your uniqueness is a virtue, so long as it doesn’t prevent you from being part of the rest of the circus. Your willingness to be part of a diverse team and also be one-of-a-kind is a great thing.
Try not to tense up when you’re in the interview. If you know your stuff, be confident and smile. Visualize me having no way to turn you down, because you’re awesomeballs.
Good luck on the job hunt!
Tyrus Christiana is the Director of Software Development at BFG Communications in Bluffton, SC www.bfgcom.com