The interview process should ideally be an equal, two-way conversation between the interviewers for an employer and a potential employee. However, speaking as someone who has sat on both sides of the table, it has always seemed to me to be imbalanced towards the interviewers. They control the process and ask far more questions than the interviewee. But it is just as important that the interviewee make sure the employer will be a good fit as it is that the interviewers ensure that the interviewee will be a good fit. It does neither side any good to have an unmotivated, unhappy employee looking for the first opportunity to leave, no matter how skilled they may be.

This point was brought to my attention again a few weeks ago when I read the article 100 Interview Questions for Software Developers by Jurgen. I liked the article and have used some of the questions, but it got me thinking that software developers and other I.T. professionals deserve to have the same resource – interview questions to ask of employers. So below I list 100 questions you should look for answers to during the interview process. Some of the questions are specifically for software developers, but many are more broadly applicable to any professional knowledge-worker position.

Warning: Do not simply ask the interviewers these 100 questions in the first interview! Your first priority in an interview process is to convince the interviewers to hire you by selling yourself. The important but secondary priority is to determine that the company is a good fit. It does not matter how good a fit the company is if they will not hire you. (This reminds me of all the blog posts from people who interviewed for Google but did not get in.) So wait until the company is at least seriously interested, and better yet has extended an offer, before doing your due diligence and asking these questions. I would not recommend asking all of these questions directly of the interviewers, especially those from the human resources department, as they likely do not know what the specific working conditions are like and may sugar-coat the facts. I recommend instead talking directly to a few regular employees, preferably in a neutral setting outside of the office.

Without further ado here are the questions organized into categories.

Organization What drives the organization? What do senior executives value? What is important to them? What are the core values that make up the organization's culture? Has this been consistently supported by senior executives? Is the organization financially strong and stable? Please provide your annual financial reports for the last three years. (This is available on-line for publicly-traded companies.) What are the significant strengths, weaknesses, opportunities, and threats facing the organization over the next few years? What are the organization's strategic goals? How does the department / team I will be joining relate to the overall organization? How does it support the organization's strategic goals? Is the department a cost or profit center? How is the department perceived politically? Management How often will my immediate supervisor meet with me one on one? What is the management style of my immediate supervisor and their superior? How do you deal with poorly performing employees? What is your strategy for empowering employees? How do you ensure you are delegating effectively rather than micro-managing? How do you help ensure that employees are highly motivated? How do you ensure that each employee is doing quality work? How does management ensure that employees feel listened to? How do you enhance the creativity of developers? How approachable and receptive is management to suggestions and feedback? How do you minimize interruptions for developers? Do you treat people with respect and integrity? Provide an example. How important is productivity of software developers to the organization? What do you do to maximize productivity? Do you put as much if not more effort into retaining employees as you do recruiting? What is your retention strategy? How do you promote a healthy work-life balance? What metrics do you track and report on? Provide a report showing data from the last few months. Teams How are teams assembled? How are team members selected? What are the selection criteria? How often will the team I am in meet as a group? What do you expect will be my role on the team? What are the experience levels (i.e. junior, intermediate, senior) and job roles of the other team members? What is involved in moving to another team or changing work assignments? Do teams have a sufficient diversity of skill beyond simply coding? What about ability in gathering requirements, architecture, usability design and testing, database design and administration, functional testing, and technical writing? What types of team-building activities are done? How frequently? Are teams empowered and self-organizing? Are teams able to choose and tailor a methodology to suit them and their work? How much freedom and support is provided to mentor and consult with colleagues, superiors, and customers? Describe the clients, customers and end users I will be working with or for. How reasonable and pleasant are they? Work Assignments What kind of work assignments will I be given? What will be my day-to-day responsibilities? What opportunities will there be to work with new, interesting technologies? How do you plan to provide me with challenging work that makes optimal use of my abilities while providing a supportive environment? Are developers required to do administrative or non-value-add tasks that could be done more cost effectively by others? Work Environment Will I be situated in an office with a door? Is the work environment quiet with no distracting noises like intercoms, call center staff, ventilation systems, or traffic? Are living, green plants in abundance in the office? Are high quality chairs provided? Is the office setting (chair, desk, keyboard, and monitor) ergonomically friendly? Can I adjust the height of everything to fit my needs? Do you supply at least two large monitors as a standard configuration for software developers? Are software developers provided with high-powered workstations? How often are they upgraded? Does the office setting support collaboration with coworkers? This includes at least one extra chair, the ability for two people to sit in front of the computer (i.e. pair programming), and a white board fixed onto a stable surface with room for at least three people to stand in front of it. Will I be provided with an ergonomic keyboard and mouse to my specifications? Or can I purchase my own and expense it with no questions asked? Will I have the freedom to install the tools I want on my workstation? What is the process and lead time to get a new tool, workstation, or server purchased and installed? How much bureaucracy and delay is involved? Project Management Do projects have realistic schedules, resources, and scope that are actively managed and adjusted? How much freedom and control does the project manager / team have to change these three factors? How do you deal with a project that is behind schedule? How do you manage requests to change the scope or requirements of a project? What tools and practices are used to manage project schedules? Who estimates the time or effort required to do development work? How is the expenditure of effort tracked? What tools are used for time entry and tracking progress? What is the duration of iterations and releases? Development Practices What development methodologies do you use? Describe how they are put into practice. How closely does development activities align with the philosophy & principles of Agile and Lean? What languages, libraries, and frameworks are commonly used or mandated? What developer tools (especially IDE) are provided or mandated? What do you do for: Version Control? Unit Testing? Code Reviews? System & Integration Testing? Client / Customer / End User Collaboration? Requirements / Design Specifications? Design Reviews? Defect Tracking? Build Automation? Continuous Integration? Usability Testing? Continuous Improvement What continuous improvement activities are performed on a regular basis? How often are retrospectives / lessons learned meetings held? How aggressively do you minimize bureaucracy and non-value-add activities? Can you provide an example of improving in this regard in the last six months? What is your process for handling suggestions and ideas from employees? How many suggestions per employee on average were received in the last year? How many were acted on? Professional Development Do you provide opportunities for developers to receive feedback and learn from having their software running in production? What opportunities will I get to work with or mentor under expert world class software developers, architects, and managers? How much paid training do you provide to each employee per year? What kind of training is it? Can employees choose or recommend the training they take? Performance Evaluation What kinds of opportunities for growth and advancement are possible? Describe the options for technical career paths that do not involve management. How do you make decisions regarding promotions? What approach is used for providing timely, effective feedback on performance? How are performance evaluations carried out? What do you look for in an ideal employee? Working Hours What are the official number of hours worked per week? How many hours per week on average have your software developers worked over the last three months? Do you allow or expect mandatory overtime? What do you consider an unacceptable amount of overtime (both mandatory and voluntary)? Do you provide flexible working hours? What limits are there? Compensation and Benefits Do you provide a competitive salary? What is your definition of competitive? How do you ensure that the salary of long-term employees stays competitive, especially in a hot job market? Do you respect your long-term employees enough to raise their salaries in such situations without waiting for them to ask for raises? How do you compensate for overtime? Do you pay your software developers according to their level of productivity? Why or why not? How many weeks per year of vacation do you offer? How flexible are you concerning how banked vacation can be used? Can it be saved from year to year? Are there any restrictions on taking vacation? What is your policy concerning raises? How regularly do you give raises? Do you consider a yearly increase in salary equal to the local inflation rate to be a raise? How do you reward exceptional performance? What do you consider exceptional performance and how do you identify it? Do you provide share options, profit sharing, retirement savings contributions, or pension? If so, what are the details of the plan(s)? What medical benefits do you provide? Do you cover dental work or eyeglasses? Do you cover health preventative measures such as exercise programs, vitamins, or preventative medical exams? What is your policy regarding sick days? Do you allow and support people in working from home? Up to what percentage of the time? Will travel be expected? If so, how frequently, for how long, to where? What is the policy on travel expenses? What other benefits or perks do you provide? Contribution to Community How do you participate in and contribute to the local and global I.T. / software development community? What open source software do you support? What form does this support take? Wrap-up Questions Who are you competing with locally for recruiting software developers? Who are you losing developers to? Bonus Question: Please provide three references consisting of employees I can talk to. The references should include a senior software developer and a technical lead.

The vast majority of Internet resources for job interviews focus on questions to ask employees, but I did find a few relevant articles that were helpful in producing this list of questions:

Tweet

If you find this article helpful, please make a donation.