When a friend of mine recently changed her job she was really excited. She had two weeks of time off between jobs and was really looking forward to moving on from the crappy old company and into the shiny new work environment with increased compensation and a more interesting job description. Then reality hit her and after a few days at the new gig she was really disappointed. It turned out that the increased compensation barely accounted for a lesser benefits plan, and the cooler job description said nothing about the policies of the new work environment. She could have avoided most of the trouble by asking some questions upfront, during her interview.

After hearing her complaints I started to reflect on what I should do to avoid ending in a similar situation. The list of questions that I came up with is mostly applicable to software development jobs but I supposed some of them could be adapted to other fields as well.

The Team

Ask you interviewer about the team you'll be working in/with

Ask if you could meet the team and chat. This can uncover potential personality conflicts and also potential problems with the company.

Ask each person how long they've worked at the company

What they like most about being there (what motivates them)

What they think about the benefits package

The Work Environment

Ask if you will have a quiet work environment. As developers most of our work is done with the mind and we need to be able to focus. Loud noises or loud conversations, even music to some, could be very distracting

Ask if you will have your own office of you'll be sharing the work are with other people

If you'll be sharing ask if you will have your own cubicle or if you're going to be in an open area

Ask if you'll be sharing your desk. This may seem trivial, but some companies may try to cram more people than adequate into a space and so may ask people to share a desk or cubicle, or even ask people to move from desk to desk

The Hardware

Are your going to receive a brand-new machine, with state of the art specs, or a hand-me-down

Ask if you'll have your own laptop.

Ask if you'll have local administrator rights on your laptop.

Ask if you can get a second monitor. Also ask if you could specify what kind of monitor you'd like (i.e. widescreen vs. regular, or the display size)

Ask if you can take your laptop home with you.

Ask about the company policy about replacing hardware: will you get stuck with the same machine for the rest of your time at the company or will they be upgrading you every year?

Test Hardware and Software

Ask if you'll have access to adequate hardware to test the projects you'll be working on. For instance, if you're going to be developing iOS applications - will you be getting access to an iPhone or and iPad?

Ask if you'll have access to automated tools for testing. Ask if your team will have a budget for purchasing tools and software that could help you test your code

Working From Home

Ask about the company's policy about working from home.

Ask if you could work from home.

Ask if you can take your laptop home with you (or you'll have to VPN in and remote desktop into your machine from home)

Network Acceptable Use Policy

Ask if the company has one (all companies do).

Ask if you could get a copy of it

Ask if you could connect your cell-phone or tablet device into to the company's WiFi network

Ask if you could use a USB thumb-drive or portable hard-drive with your work laptop

Compensation and Benefits

The list wouldn't be complete without addressing the big elephant in the room. For most of us financial compensation and benefits are not the sole motivator but we don't live in an ideal world and so we need to consider the financial aspect before accepting an offer to change jobs.

When we make a career move, we generally want to at least have same financial compensation and benefits, if not better, as we did at our last job. Sometimes we may even be amenable to taking a pay cut in exchange for some other benefits but regardless of the situation one thing is clear. You need to know with certainty BEFORE QUITTING YOUR CURRENT JOB what financial situation you will find yourself in after you accept an offer.

For instance, your net pay has to take into account how much of your paycheck will be going towards medical insurance and 401K in order to maintain the same level of benefits as your current job. Other benefits such as discounts for services you use often should also be considered (e.g. discounted day care, or discounted cafeteria plans, or tuition reimbursement).

So, when the discussion about compensation is appropriate: ask about the company vacation and personal time off policy; and ask so see a list of the benefits. Make sure you know how much of you will be required to contribute towards medical insurance and ask if the employer matches your contributions into the 401K plan.

Final Disclaimer

This article is a work in progress and the opinions listed above are my own. Please use your own judgement and discretion when making decisions about what questions to ask your interviewer and when making decisions about accepting employment.