Friday, January 4, 2013

Questions you should ask at the job interview

I stumbled into my first job without so much as a formal interview.  Had I bothered to ask a few key questions, I would have been much better prepared for the fiasco that was about to unfold.  Hindsight's 20/20, but I hope I can pass some of my vision onto you.

How much am I getting paid?
This seems like a no-brainer.  Most of the questions here are about getting the feel of the company you're about to work for and this is no exception.  Unlike all of the other questions, this helps determine how much the company values their workers.  There's no hard and fast rule to determine what dollar amount is best.

I didn't ask this (yes, slap me for that).  I was a poor college student who was just happy to be paid to code.  As it turned out, starting pay was $10 an hour which works out to around $20,000/year.  Big money to someone who never considered other options.  However, this put me in the second percentile with regard to entry-level coders.  Ouch.  I'm still not sure I would have realized this when I arrived.

A good followup to this question is "What's the raise/promotion structure like? [0]"  It's good to make sure that there's a path to progress upward as you spend time working.

What's your Joel test score?
It's surprising how well the Joel test has lasted against the fast-changing software world.  It was written in 2000, for heaven's sake!  While it was not intended to be comprehensive, it provides a good overview of practices that everyone should have.  Be prepared to provide a copy of the test (or at least a few questions), as the interviewer may not have heard of it.  I wouldn't consider not knowing the test to be a black mark, it's a wide world out there.  By asking, you're avoiding the cold water shock I had a month in when I realized that the company scored a 1.5.

If the company is missing a few points, you've now got a perfect example for the next question:

If I wanted to do <radical thing>, how hard would it be to implement?
The value of radical may vary depending on which way the corporate culture leans.  Still, it's incredibly important to know that change happens, regardless of how.  If there's an enormous process to changing anything, you may want to move on.

As scary as a DMV-like change process can be, be more afraid of a company that can't answer that question.  This means one of two things:

  • There's no change at this company.  Unlikely, but possible.
  • There's change at this company, but no one documents it.  ARG!  Documentation is power.  Change is good, but uncontrolled change can spell a death spiral.  If everyone can dive into the codebase and mess around, that's a problem.  Speaking of:

What's your workflow like, and why?
Ah, workflow.  This is the other half of "undocumented change."  What you're looking for here is evidence that the company supports collaboration while still allowing coders to get work done.  How does a team work together?  Who's in charge of setting requirements?  You should have a good idea of how your day-to-day coding life will look like before you start.

Naturally, it may be difficult for the interviewer to properly answer this question, especially in larger companies.  You may want to talk to someone in the position you'll be taking.

What will my training look like?
If you've made it this far, congratulations!  It looks like you've found the right place.  There's one last step to a wonderful job: training.  Programming is such an interesting field in that every job will be different, not only in language but in process, tools, goal, etc.

Training is important because it provides practical instruction in the tools you'll be using as well as an introduction to the corporate culture.  Make sure that the practical training is hands-on as well as actually relevant to your specific job.  I spent a full day watching videos on how to create articles with Joomla.  (SPOILER ALERT: You click the "New Article" button).  What I really needed was an introduction to the Joomla API.  The culture bit is tricky.  It's easy to overwhelm a new hire with buzzword-filled "values" and "missions."  What I really wished for was a go-to person who could answer the questions I had as a new hire.

This list isn't intended to be comprehensive or scholarly.  These are things that I wish I had known about before I started my last job.  I'd love to hear your stories either in the comments below or at Hacker News.

[0] You may think that discussing money through the interview/offer process is shameful.  HR would LOVE for you to assume that.  Read this excellent article for more negotiation techniques.

No comments:

Post a Comment