As programmers we require a much more structured work environment than (for example) laborers, dentists, mechanics, etc. We need an atmosphere where we can concentrate on what we are doing, and not spend all day trying to figure out which one of the 100+ release procedures is the right one for a specific customer, or trying to fix a 10 year old release document template which doesn't work correctly.
Through the media we are (well, I am) lead to believe that there are two types of work environment for us programmer folk:
A. The type where ...
- lack of source control
- lack of documentation
- no formal release procedure
- constantly being interrupted
- unrealistic schedules
- uncertain of deliverables
B. The type where ...
- the programmers have a say in the schedule
- nice working environment free of distractions
- bug tracking / releases / documentation follow a distinct cycle free of much deviation
- there is time to make mind maps and other supporting documentation
Although my current position doesn't show ALL the signs of type A, it certainly does show most, and its driving me nuts.
Do these idealistic environments that we read about exist, or is it a bit like the pot at the end of the rainbow?