Firstly, I saw one of my developers making excellent use of the 24" widescreen monitor he's just installed.Up to now, my opinion on monitors for software developers has always been that more is better. I myself work with 2 19" monitors. When he joined, this guy requested instead to have a single 24" widescreen to complement the 17" screen that comes with his laptop.
When I looked over his shoulder today, he was doing TDD on the monitor whilst having both the test class, and the class under test, open simultaneously. The productivity gain he was getting from working this way was phenomenal, and when I thought about it, the same effect could have been achieved had we all had VS 2010 which supports multi-display.
The second thing was a discussion about some of the problems we get form time to time were people have worked in silo's or alone instead of collaborating with others who were vested in the task. One of the BA's (quite new to the company) offered the opinion that she felt reluctant to descend upon someone in another team's desk to collaborate because of the noise and close proximity that were currently working in. A casual factor to this is our reasonably heavy recruitment drive of late, which has meant that whilst we look to solve the space issue, there are more of us in the office than is truly sensible.
If either of these things had happened on another day, I might not be writing this now, but because they did I started to think about really just how important the space a person spends his working life in is really really important.
As a developer, the below are things that I crave in my working environment, and without these things, my productivity, motivation and possibly even willingness to team are negatively affected:
- A comfy chair - properly adjusted with lumber support!
- 2 or more nice big monitors - or as my colleague proved - one gigantic one can have the same effect
- A 'lean' (minimum bloat-ware) computer which has grunt to spare. - If this is a dev spec machine, it needs CPU and RAM aplenty
- The right tools - I could not live without ReSharper, Subversion, Cruise Control etc
- Plenty of stationary - Post its, stickers, blue tack, brown paper etc
- Whiteboards - I get nosebleeds if I'm ever too far away from a whiteboard & dry wipe pen at work
- Plenty of quiet - developers get in 'the zone' to get tricky bits done. Context switching or loss of concentration can cause them to lose hours of productivity a day.
- Breakout/collaboration areas - Again, quiet but comfy places to commune
- Ability to move - I've started getting my devs laptops instead of PC's. The loss of grunt these days is non-existent and the added mobility should allow us to quickly create physically co-located cross functional teams. We're not there yet as an IT department, but it;s on my To-Do list.
- Books - the internet is great but there's still a lot of value in keeping some top drawer books around the place. The quality of literature is generally higher per page, you can literally throw them at people when they have a problem you know the book addresses, and they can be a conversation point for non team members.
This list is by no means exhaustive, but I think by reading what I've put and thinking for yourself about your current working environment, you'll be able to spot an opportunity to make your place of work that little bit better for you and yours. Whatever it costs, it's a sound investment.