How Do You 'Vet' an Employer?
Not-to-desperate asks: "There is lots of info around on interviewing when hiring but what about the other way around? What do you look for in an employer? Are the any 'minimum requirements' that should be met? Obviously if you haven't got a job at all, getting hired is the main criteria, but what if you're jumping ship so to speak? I'm thinking of stuff like better salary, work conditions, type of projects, possibility of on the job training, and so on."
First, you sit down and decide what you really want to work on. Try and vet out some of your itches you've been wanting to scratch - working on the kernel of an OS, doing I/O for cool hardware, learning the ins and outs of HIPAA, pissing of the RIAA. Whatever.
Next, make a list of employment opportunities you have a good chance of obtaining. Don't be afraid to look outside the box. There are lots of companies who want to hire you, but have poorly worded want ads. The ad "Looking for filing clerk" is just crying out for some data shuffling, web based interfacing, database sorting application that your wizardly skills are well suited for.
Now make a matrix with rows representing aspects of a job you'd like, and a column for each job. Score those that you know now, and call ahead (random disgruntled employees are great resources) for those that aren't specified on the web or in the ad. Don't forget to include things like 401K, health care, smoking area, bonuses, severance, location and relocation, etc.
Take a good look at it and either come up with a formula to calculate a company's 'coolness' factor or just eyeball it and give each a score.
Now, and this is the critical part, throw it in the trash, remind yourself what your budget is, and have a good laugh. Maybe joke with your coworker about it, "I'm such a geek, I not only thought I could get a job with another company that's better than this one, I actually created a spreadsheet! HAH!" Then nervously look around to see if the boss was listening before going back to moving the mouse whenever you hear footsteps.
Seriously, though, the best jobs I've had were based solely on the supervisor I had. The only equations I can count on are:
Any project, bad boss --> painful work.
Any project, good boss --> enjoyable work.
The difference, I've found, is that a good boss stands back and lets me create. The act of creation is what's important to me. A good boss not only knows that there's several ways of accomplishing something, they won't step into the process and become the creative entity - they allow you to create and implement.
Of course, this won't apply if you are a soulless code monkey.
The best advice I can give after making sure the job meets your basic needs (stretches you a bit, is in an area you are familair with or would like to become familiar, meets financial, health, retirement, etc needs) is to interview directly with the person who will be surpervising you and then see if you can chat with 2-4 people who you'll be working with or who work for your possible boss.
Good luck!
-Adam
...ask to see code. Actual production code, preferably. Have them show you some code they're proud of, and some code they're not too proud of. Take note of how well it's documented, if the variable names are well thought out, and if it shows signs of recent refactoring.
I remember hearing somewhere that the best indicator of how good an employer is is based on how happy their janitorial staff is. If the people who clean up shit are happy, then everybody else is bound to be happy too. I dunno how it would look at an interview if you asked to schedule an appointment with a janitor to discuss the company, though...
Condemnant quod non intellegunt.