This.
Want some incredible results from your software engineers? Here's all the culture you need :
Give them a very quiet place to work, free from distractions, and take away the barriers to success / productivity.
- Too warm? That's a distraction that will destroy any attempts at getting work done that day.
- One or more people having personal discussions loud enough that the dev overhears them? Esp if the chatty people aren't on the dev team? Another day's productivity pissed away.
- It takes a good developer half an hour or so to 'get in the zone' doing heavy / hardcore coding and debugging. If he has to get up and go find food all those balls in the air drop to the ground and he starts over again when he finally gets back from eating. Find out what they eat and have it magically show up at their desk about 11:45am and they will feed their face while they continue being productive. If they're billable that extra hour, then there is nothing on Earth that you could feed them that costs more than that billable hour (but odds are they will be happy with a subway sandwich and a bag of chips.)
- Need to request permission / wait for a signature before doing something routine? Need to wait to have someone else make changes that the developer could make (perfect example : DDL or DML changes in the developer database)? Another day's productivity lost.
- Figure out who the slackers are and cull the herd a little. A small team of shit-hot developers that work well together can deliver rings around a larger team mixed with good / weak players.
- Any meetings that are useless? Don't make them attend. Any meeting with 8+ non-developers in it is probably useless, from the 'does a developer need to be here' perspective.
- Give the heavy hitters more hardware than you can imagine them possibly using - they'll find a way to put four monitors, two servers and two laptops to good use, and anything they don't use they will pass on to someone that can. Nothing says 'I love you' to a good developer than a new tech toy, or a new laptop when their old one is about two years old.
All that 'team-building' crap? Save it. Want a real team-building exercise, send a few of them away to a conference and only give them one car so they have to stick together, give them enough rope to get in trouble together. When they come back they will be an Olympic quality team.