You know the prospective company fairly well but are asked "Do you have any questions for us?". To show interest, what are some of your favorite questions to reply?
I like to ask one or two fairly casual questions about current "stuff" in the company. This might be a question about their newest product. Or it might be a question about an emerging market I know they're exploring. Or I might ask if they have a major release of product X coming up.
(I mostly learned this from interviewees asking these types of questions to me.)
I think one reason this works well is because people love to talk about what they're currently working on, or what's new and interesting in their company. It gives them a chance to feel knowledgeable and end the interview on a high note.
Another reason I think it works well is it shows interest on your part in what the company's up to. And, depending on what all went on in the interview, it may give a sense that you did some research into the company beforehand (you did, didn't you?), and have a sort of unique interest in what the company does.
Perhaps more than the above, I think it's good to not drop any "heavy" questions at this stage. My best interviews (giving and taking) have always wrapped up on a relatively light, conversational, friendly note.
- What languages/frameworks to you usually work with?
- What development tools- IDEs, Bug Trackers, Version Control, etc do you use?
- What's your development methodology like (Agile, Waterfall, Scrum, Crystal, etc)?
- Do you have dedicated QA personel? Even if so, do developers do some amount of their own unit testing?
Also a good list to consider is the Joel Test:
- Do you use source control?
- Can you make a build in one step?
- Do you make daily builds?
- Do you have a bug database?
- Do you fix bugs before writing new code?
- Do you have an up-to-date schedule?
- Do you have a spec?
- Do programmers have quiet working conditions?
- Do you use the best tools money can buy?
- Do you have testers?
- Do new candidates write code during their interview?
- Do you do hallway usability testing?
Some things to help you decide if you really want the job:
- What's the best part of your job? And the worst or most frustrating part?
- Why do people tend to leave the company?
- If I took this job, what would you most hope I could take care of for you? (Especially to your would-be manager, but also to peers, other managers; it's curiosity not sycophancy.)
- What are the goals for this project over the next year or two? What changes would you like to see in the way the project runs?
- How do the short and longer-term project goals get set and how is work distributed?
I have been giving a great deal of interviews recently, and here are some of the questions I have received from potential candidates.
(not such good ones)
- How did I do?
- What do you think of my skills?
- So do you think you will hire me?
- What source control tool do you use?
- What development methodology do you use?
- Do you use Agile?
- What is your day like?
- Do you like it here?
- What part of your job do you like the least?
- What is the best and worst part of your job.
Any questions that show the interviewer that you are seriously considering working and that you are interested/serious in/about your job are good. Have questions ready at your interview and even if they don't ask you, still say: "Do you mind if I ask you some questions about this position/job"
I always ask what the company policies around training and personal development are.
- do the have a budget for software or software related seminars? (e.g. Spring Core Training)
- if a new technology or framework is being implemented, will you offer a group seminar?
- do you reimburse staff for job related books, or have a company library?
- do you allow employees to dedicate any percentage of their time other projects? (e.g. investigating and prototyping with new technologies)
How the answer, or react, to these questions gives you a decent indication of how interested they are in your growth as a developer.
The bulk of the interview should have given you an idea what the company does and where they think you fit. If nothing else from the questions they are asking you they should be fishing for a go/no-go as to you fitting in the position they need. If the interview was too generic and doesnt explain what the company does from a technical perspective. Ask. Interview them as they have just interviewed you.
Secondly, work is not all about the technical topics, the day to day work environment, can I take personal calls (from spouse, kids, friends, etc). Dress code. do I get a computer a cube, an office. Can I install my favorite text editor or other programming software, or am I extremely limited only to what the company provides. You spend about half of each work day in that chair or stool or whatever they provide you. Better to know now that you have to have a shaved head and wear a three piece suit every day with no air conditioning and/or heat, get 37 minutes for lunch and are limited to what is available from the snack machine, than to figure this all out after you have committed to the job.
The specific questions to ask in both categories are very specific to you and you wont really figure out what is important (to you) until after you have experienced it. For each job or each office experience you form a list of what you can tolerate and what you cannot. Work from that list.
In any interview, you should also be interviewing the company. To do that well, you should already know something about the company, having researched them before the interview.
So I would ask questions that tie your knowledge of their company to something you would like to know more about. Something like:
"I understand that your company is very involved with community activities, such as [random charity]. Can you tell me a little more about that?"
"Is it true that you have a policy of [allocating time for individual research]? How has that worked out?
An interview is a two-way process - you need to want to work for them as well as them wanting to hire you.
Before you apply to a company (or an agency applies on your behalf), you'd do some research on the company to find out more about them - who they are, what their products are, what market(s) they operate in (including major competitors).
During the interview process (telephone, physical, etc), you'll also be able to assimilate information about their procedures/workflow/methodologies, the tool chains used, working environment plus any other useful info that wasn't on their website.
If, by the end of the interview, there's some important-to-you items they haven't answered in other discussions, this is the time to ask.
Don't end the interview with unfinished questions - some of them may be deal breakers to you - e.g. working hours > 50/week.
Here's a checklist, in no particular order:
- Programming Language(s), Environments/Platforms
- Tools used - IDEs, Compilers, Build System, Version Control
- Testing strategy - unit, automated, human
- Deployment strategy
- Work ethic - hours, rewards system
- Working environment - noise, daylight, air quality, space
- Physical location - transportation, parking, lunchtime options
- Non-salary package items - hours-per-week, dental, healthcare, gym, drinks, other perks.
- Career opportunities within the company
What is the staff turnover?
High turnover means there is something wrong with the company. Low turnover means it's probably a good place to work.
This wouldn't have occurred to me to ask until I was talking about previous jobs with a co-worker. He'd worked at a place that had 3 to 4 developers leaving per month. The longest-serving developer had been there for just 2 years. The smart ones left after one or two months in the job.
- Ration of hours spent on support issues against development?
- What new things will I learn?
- How clean is your code-base? How fragmented (branching in repository)?
- What's your automated test coverage percentage?
- Do you use Lotus notes?
- Which source code control system do you use?
- Can I use my favourite IDE (Intellij-IDEA for me)?
- Do you have continuous integration on the project?
- What is your deployment process?
- How agile are you?
- Both pigs and chickens at the standup?
- Who are your customers?
- Developer's kit? Dual 19" monitors? Local admin rights?
I ask about the build/deploy process. I also make it a point to ask the tech guy. This gives me many insights into the company culture and the developer skill level and maturity. Stuff that tells the tale:
- Is every step automated?
- Do they write tests?
- What tools do they use?
- Heck, do they even use source control?
- How often they deploy to production? That's the best way to tell if somebody claiming to be oh-so-agile really is.
- How do they fix bugs and push fixes to production?
I draw tons of conclusions from answers to the above. And I love it how everybody shares as many juicy details as possible since, superficially, that looks like a tech question to ask.
To find some good answers here, you might ask yourself
why do they ask that question?
Usualy a Human Resource person is asking that question to see wether you are prepared for the interview or not. So in this scenario you should ask something about
- the company in general
- empoyment conditions
- education plans etc
For technical persons there are two options: maybe they ask just because they run out of questions by there own or they really want to found out something about our expertice. As a regular interviewer myself I can tell you that it's not the answers that tell you someting about the know-how of a person but the questions do...
So for technical questions you should try to ask something that is related to the job you are after.
If it is the very end of the interview, a classic question is "what are our next steps?" You want to know whether to expect another interview or if they're going straight to a decision, and also roughly when. This is the note on which the conversation ends, so save it for last.
Before that, don't worry too much about questions that "show you care" and "are eager". As an interviewer, I make note of many things, but what I was asked is rarely specifically important. Ask what you want to know. If you really have no questions, say "I had a number of things I wanted to find out about, but you've covered all of them, thank you!" and then ask what the next steps are if you feel the interview is wrapping up. (Don't ask it if 10 minutes into a one hour interview you are asked "but before I go into detail on that, is there anything you wanted to ask?")
I like to ask, "What is the biggest challenge you are currently facing?"
This question serves multiple purposes.
- Does the interviewer know what's going on in the company?
- Can they admit that they don't have all the answers?
- Does it sound like something I can help with?
- Do they have a direction, or just chaos?
These are aside from technical questions which have been already given...
- Who will I be reporting to?
- How many people are in the team?
- How would you describe the daily duties within this position?
- What training would I be given?
- What is the company’s policy towards training?
- What promotional prospects are there?
- How frequent are the performance reviews?
- What areas do you focus on in performance reviews?
- How does one advance in the organisation?
- How long will it take before you expect me to be fully competent?
- What would my exact duties be?
- How much decision-making authority will I have?
- Will I be responsible for prioritizing my own work or will it be prioritized for me?
- What resources are available to this position to achieve primary goals?
- If I am hired and am successful, what will I have accomplished at the end of three months? One year?
- What are the benefits of working for this company?
- Do you have any sports and social activities?
- Is the company growing? If so, where is growth coming from?
- Are there any plans for expansion or reduction in staff?
- How is one judged? What accounts for success?
- Could you describe your company's management style and the type of employee who fits well with it?
- What do you find most frustrating about your position
I usually ask more about the problem domain, who are the current clients/buyers of the product, financial situation of the company (esp. important if it's small), plans for future development of the product, etc. Also important factors are whether there's cantina, whether I get to work from home occasionally, working hours (flexible or fixed), release schedules, overtime, etc. Everything that can affect the overall quality of my life.
I've been in this business for over 10 years now, in different roles, and I've found out that the people you work with are AT LEAST, if not more, as important as the project/technologies you work on. So ask also whom you will be working with and who will be your leader. When it comes to judging people who have interviewed you, trust your intuition. Did you feel that they were hiding something during the interview, were they evasive, or were they open about things?
I always ask if they can show me their work area.
At least one place I interviewed, I was subsequently offered the job, would have accepted, but ultimateley declined, was because of the office space.
It was ridiculous hot, sun shining in, no blinds, really cramped workspaces.
Now, maybe the blinds were getting replaced the next day or something, but it really put me off.
I haven't interviewed lately, but a couple of questions I am sure I would now ask are: Do you practice test driven development? If not: Do your developers write automated tests for your code?
Then I would probably get more details such as the types of automated testing they do and the tools they use.
I would generally ask about project plans, and then perhaps more specifically what they have planned for me, i.e. what they are actually recruiting me to do, whether there is anything specific new or exciting I will be working on, or whether I am just filling in a head-count or replacing someone who is leaving so I can fix their legacy code / bugs.
In reality I am not sure whether this section is part of the selection process for them or part of it for me if I get more than one offer, although if I am already in a job and considering moving, it certainly is important for me to know that I am moving somewhere better than where I am now for a career perspective.
I keep a list with all those things I experience during my work which I would like to not encounter again at a new work environment. The list is getting larger and larger.
Most stuff the Joel Test asks for lead to natural questions.
Also I won't work again with less than two well-sized monitors and expect overtime to be compensated!
Also I like coffee and want a decent machine in the kitchen, nothing fancy but certainly not cheap either.
If you are good then you might end up with more than one offer and then you want to know where the actual differences are.