I work for a smallish software shop with a mix of internal products, and external consulting. For the last few years I've been working on in house apps at the office with a bunch of other geeks. Fairly laid back and productive. Pretty much perfect coding conditions:
- good equipment
- quiet, focused team rooms with a few developers who are all on the same project
- freedom to use whatever tools we wanted
- agile processes
- everyone is a developer (even the bosses)
- clear requirements with real scope
- enthusiastic, passionate people who are really onto it
However recently I've changed projects and moved into an external consulting team embedded at a big corporate site with all the resulting bureaucratic BS and overhead that goes with it:
- Constant interruptions
- loud open-plan cubicle environment
- slow equipment
- heavy, burdensome process (even though they call it "agile")
- restrictive IT environment
- slow, overly complicated, limited tools
- vague requirements. No one seems to know what is going on
- cynical teams. Mix of average and mediocre client contacts to rely on
And it's driving me nuts.
So what does everyone else who is in this boat do to keep their sanity?