You don't need me to tell you that your job satisfaction is based less on the tools you use and the skills you learn than it is on the team and company culture. But how can you tell, while you're going through the interview-and-offer process, if these are folks you want to hang out with?
The job-acquisition dance sometimes seems like it has two performances. There's a public, polished show in which everyone (both candidate and company) tries to make themselves look as attractive as possible, and at the same time there's also an undercurrent in which all the participants are trying to guess what the others are "really like." Sure, he claims to be a JQuery expert, an SEO god, and a bowling champion, but is he really? The company says it's dedicated to the welfare of its employees, blah blah blah. You wonder if they mean it.
When you're desperate for a job, any job, then maybe you feel like you don't have options. We all have to put kibble into the kitty bowl, after all. But when your straits are not quite so dire, and you can sensibly recognize that job interviews go two ways — though it surprises me how few people (especially software developers) keep that in mind — it's important to judge whether you'll fit into the company culture. You want a job that makes you excited to get up and go to work, don't you?
So I was particularly interested in reading 8 Ways Job Seekers Can Assess a Prospective Employer's Corporate Culture, written by my ex-colleague (and, I hope, friend forever) Meredith Levinson. Meredith interviewed Vanessa Hall, author of The Truth About Trust in Business and, as always, she did a fine job at drawing out the author's opinions.
But really, I think Hall left entirely too much on the table. While I don't really disagree with anything she told Meredith, I think the advice on how to evaluate the company culture could stand to be far more granular. When it starts looking like you'll be offered the job, and you start to wonder if you'll say Yes, here's some of the things I'd consider. (Naturally, I'd start with several of the questions in 28 Questions You Wish You Asked the Manager During the Job Interview and, just for balance, read the comments on 19 Ways to Know The Software Development Job Interview is Over as a cautionary tale.)
Laughter. I assume that, at some point, you walked through the halls in the office. (If you only saw the HR rep's office or met managers in a conference room... I'd worry. If nothing else, it'd mean you couldn't judge the next point.) How often did you hear people laughing? Even when people are intent on doing their jobs and wholly lost in a warm creative fog, they smile when they interact with other people. Try to step back from how you felt in the interview situation and try to assess the mood. It's one of the few useful things you can do sitting in the lobby, waiting for the HR rep to arrive. Watch people. See if they're glad to be there... or if they look desperate and scared. If they are laughing with one another, and you see this several times, I'd start to feel good about the company.
The office layout. Some people like to collaborate in big wide open spaces; others want a door that closes. (Me? I want a cat nearby. Now you know why I telecommute.) There's no one right answer for this — except that which makes you happy. It's an actual example of where "company fit" means what it says (and not "We just didn't like you" or "I can't believe you wore that dress to an interview."). I wouldn't judge the company culture too harshly based on the money spent on the office space; plenty of start-ups sensibly invest in their people rather than in deep pile carpet. But I'd glance at the walls in employee's offices and cubes. If it's stark and cold... well, that's a -1 for me.
Evidence that the company works towards quality. I hope you asked other developers (or people at roughly the same level as you) during the interview: When was the last time the company sent you to a conference? or paid for training? (Listening to the way in which they answer the question is another way to judge the organization's emotional tone: resentful? grateful? matter-of-fact? What is it that employees take for granted?) Presumably you also asked about the tools you'd be working with... not just the favored programming language or IDE, but the other software that's intended to make you more productive, such as performance tuning tools, version control software, or whatever makes sense. The latter might include people. If everything about the programming job sounds spiffy but nobody is actually dedicated to software testing, you have a big fat clue about how much (or little) the organization cares about helping you create the best software possible.
Evidence of collaboration and openness. With whom did you interview? Just the managers — none of the people who'd serve on the same team as you or who would report to you? Sometimes it isn't possible to have full transparency in the hiring process (particularly if you're still working elsewhere and want to keep negotiations secret), but I'd look at whether the expectation is that team members' opinions matter. I believe that it was in Peopleware that DeMarco and Lister first recommended that a job candidate have lunch with the people she'd be working with. Certainly that's been useful in my own experience; it helps everyone decide if they want to spend at least 40 hours a week hanging out with these people... and laughing with them. (Playing Dungeons & Dragons with the candidate is optional, though.)
I'm sure that I'm leaving out other things you can do to really test the company culture. What would you suggest? Or, to put the question another way: If you ever had a bad job experience... what might you have asked or done ahead of time to avoid it? Let's see if we can save someone else from making a really bad mistake.
This story, "Judging the Corporate Culture During the Job Interview" was originally published by JavaWorld.