By common definition, the purpose of a job interview is to allow an employer to screen candidates and find someone to fill an open job position. Each and every applicant must prove his or her worth to the potential employer. Many will apply, but only one (or very few) will be selected.
In the world of software, the overall hiring process follows the same sort of pattern. I always aim to impress any potential employer by showcasing my work and showing the best of my abilities. However, I expect any potential employer to reciprocate and make an effort to impress me. When the interviewer finally asks me, "Do you have any questions for me?", I like to conduct a little interview of my own. Here are some of the questions I like to ask potential employers:
"What's the most interesting thing you've worked on since you started at Potential Co.?"
Nobody wants to work on uninteresting things with uninteresting people. I want to know if the work is compelling and if the team finds it compelling. Even if the work doesn't sound too exciting, if the interviewer is genuinely enthusiastic about it, I'll be more interested to explore it. Passion and interest in work is always impressive.
"How does Potential Co. show that it values the professional development of its employees?"
I'm constantly looking to improve my ability to build software. The best software developers are the ones who are driven by curiosity and strive to learn more about their craft. I think it's common for software developers to switch jobs because of mental stagnation. For me, it's important to work in an environment where developers are encouraged to improve themselves and their team. Whether it's attending conferences or hosting meetups, a company that mitigates mental stagnation makes that much more of an impression.
"Are you satisfied with the process and workflow of the team?"
While I try to steer clear of any sort of micromanagement, I also try to steer clear of programmer anarchy. In any case, this question tells me if the team has adopted a process for tracking progress on clearly defined goals. I have no strong preference on a development process, as long as the whole team diligently adheres to one. It's a pretty good indicator of how efficiently my skills would be utilized within the team.
"Does the team share any interests or hobbies outside of work?"
This is about as personal as I like to get during interviews. The goal is to get a better understanding of the people I plan to collaborate, discuss, and debate with for eight hours each day. Do they enjoy hiking and camping as much as I do? Will they laugh if I quote something from Office Space? I'd like to fit in as a person as much as I would fit in as a coworker. While I don't expect to become best friends with anyone, it's nice to be able to have conversations about something other than work throughout the day.
Do you have questions you absolutely have to ask a potential employer? I'd be glad to know about them!