Great Questions to ask at an Interview


Photo by TheoGeo

Throughout my experience, I have found a wide variation in the quality of work environments of my employers. Speaking as a software developer, some have been healthy & productive, while others have been bureaucratic and restrictive. Therefore, it became a goal of mine to compile a list of questions that I could ask an interviewer of a prospective employer to determine if it would be a place I would like to work. I didn’t get far.

Then recently I stumbled upon a great StackOverflow question. It is essentially an attempt to do what I had always wanted to do: collect a list of indicators about a company that should be viewed as warning signs.

With this content as inspiration I give you my small list of original questions as well as a summary of my favorite entries from Stack Overflow.  My questions cannot uncover all issues.  However, the questions are meant to be questions you can actually ask your interviewer and not be viewed as nosey.

What is the potential for Developers to have to do support? Is Developer support necessary during non-business hours?

Unless working for an EXTREMELY small company, you do not want to be responsible for first-level support. This is bad for several reasons: it limits your productivity, is not an efficient use of your skills, and can be unnecessarily stressful.

What access do other departments (e.g. Sales, QA, Technical Support) have with Developers?

This is simply another question to determine how often other departments may interrupt your productivity. If the person doing Technical Support asks you to fix every issue without troubleshooting first, then you are essentially doing first-level support.

What does the team typically do for lunch (e.g. going out, eating together vs eating at desks)?

The response you want to hear should be based on personal preference but I like to see that the team eats together a couple days a week and the other days work at their desks.

What is the make-up of the team (e.g. experiences, roles)?

I want to hear that the team is diverse. Most important, to me, is that there are at least some people who are more advanced than me. Secondly, I like to see different cultures & perspectives represented, such as males/females, different nationalities & attributes.

How are developers measured?

Lines of Code, although popular, is an extremely flawed metric.

Favorites from the responses on StackOverflow

  • Is the primary development language an in-house only product?
  • Was it too easy for you to get an offer from the company? (Are there no programming questions when interviewing a new developer?)
  • Is the work environment noisy making it difficult to concentrate?
  • Is the work schedule an inflexible 8-5?
  • What is your refactoring strategy?
  • Is access to the internet blocked at work?
  • Do the developers work on multiple projects in parallel?
  • What are developer workstations like? Single-Monitor?
  • What is the tester to developer ratio?

Remember, an interview is a rare opportunity for you to try and determine where you want to work. So ask these questions and good luck!

Advertisements

Red Flags of Potential Employers

Have you ever interviewed with a company that acted somewhat strangely?

Perhaps the company:

  • Acts reluctant to allow you to give two week’s notice to your (soon-to-be) former employer
  • Is more concerned with filling X position by Y date versus finding a great candidate
  • Has high turnover
  • Scores low on the Joel Test (“2010 Version”)

These are the highlights of my Red Flags of Potential Employers.

Let’s assume the current economic climate is causing abnormal strain on your company. Emotions are running high. Situations are tense. You say to yourself, “this must be how it is everywhere.” I have been in this situation and lived to write about it. In fact, I have specifically worked for companies that have guilted employees into working increased hours & being loyal to the company. To the employees, the poor economy offered zero options to flee. Therefore, the company was able to take advantage of the staff under the guise of encouraging them to aid the company in climbing out of struggling financial times, even though the company was stable.

Fortunately, there are some organizations that have their acts together. In the situation above, a forward-thinking company would have taken advantage of the wealth of talent available, while at the same time solidifying internal morale to retain a high-level of talent.

If you have decided to move on and are looking for said “forward-thinking” company, here are a couple tips to identify them:

Accelerated Projected Learning Rate

When evaluating an employer, it is very important to determine how easy it will be to learn there. This is true for senior-level developers as well as junior and entry-level. Hopefully, you will be able to gather some information about how easy it will be to learn while you are interviewing. An ideal sign would be that you are interviewed by a “lead” developer or you will get to meet the entire team. You want to find a senior-level developer that can clearly communicate. If you cannot find at least one person with a great mix of technical skill and the ability to communicate in-depth concepts clearly, Run!

Disclaimer: This may not apply if you are the one being hired to be that senior-level superstar. In which case, please comment below. I want to read your blog!

Think about how much easier it will be to learn and/or to produce quickly if there is a knowledgeable, experienced technician who is able to communicate solutions to problems. This is the type of person you want to have in your network, but working with him or her every day would be even better.

Existing Development Environment & Architecture

Often times, given varying external forces, developers are faced with situations where a solution seems like it creates more problems than it fixes. This happens at every company, causing the Development Environment & Product Architecture to concede trade-offs.

With this as a given, you want to determine the perspective of the employer toward the existing environment. You would like to see any issues acknowledged via a good communicator who can explain the historical decisions that led to the current environment as well as some of the drawbacks or advantages. It is not unreasonable to ask “what are some of the limitations of the development environment?” Nor to follow up with “what has caused those issues to linger?” You want to hear a clear, objective response that acknowledges the validity of the question as opposed to getting defensive.

The idea is to make sure that the employer recognizes that its system/process/environment is not perfect. It needs to be tended and maintained, just like anything else. If leadership already recognizes that, then it is one less thing that will fall on you to fix later. Also, you may learn that the development environment is rather impressive. If so, you probably want to work there, because you will be able to get more work done and look like a superstar!

Conclusion

All this advice is moot if employers do not want to hire you. Work hard. Stay abreast of new technologies. Work on your communication skills. You will be wanted by a great company, because they are out there!