|laziness, impatience, and hubris|
Offhand, I have no problem with work environment, per se. If they want me to wear a suit and tie, if they're fine with me wearing blue jeans, if they prefer "dress casual", I really don't care. Free coffee, snacks, pinball? Been there, done that. WinNT, Linux? So what? (though I won't do mainframes anymore).
Now I realize that many won't wear a tie or will only work with Linux and that's fine for them. What I want to know is how they develop their software? I'd prefer to work with a company at least level 3 on the software maturity model. Level 1 is strictly individual effort and heroics. All is chaos and documentation is practically scorned at. I have worked for three level 1 companies and I can tell you how excruciating it is.
Now, this may just be me, but the level 1 companies that I have worked for like to offer their employees free beer after hours, some have ping pong and other games available for "stress breaks." Having Quake mini-tournaments in the middle of the day is not unheard of. Why do they do this? For the same reason that many companies offer extra time off when you work overtime: otherwise, the stress will kill you. With no serious organization in place, not only is the stress daunting, but the software quality suffers. It just ain't worth it.
Unfortunately, I'm returning to a company that's level 1 and striving for level 2, but I'm going to take a chance as their new IS director has experience working with much larger organizations and he swears that he is going to improve things. Of course, they're also offering a good salary and I need to get back on my feet after my work abroad.
Summary: Don't let the temptation of an easy work environment or preferred OS/language buy you off. If they don't know how to develop software, you'll hate your job.
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.