At a previous workplace of mine, my bosses did not like the fact that I sometimes played card solitaire games or Sokoban. I’m not much of a gamer and don’t spend hours on end playing high-end games. But they didn’t like that people who passed by saw me not working at that very moment.
I needed these games to bring my mind back into cycle. I was also labelled as a “strange bird”, because I often stood and looked at our building’s garden and lawn through the window. As Paul Graham notes there’s a large difference between “pretend work” and “real work”. Playing games and looking through the window do not make you less productive. If you’re just writing code for the same codebase all the time, your mind will soon run in circles, and you won’t be productive.
In a mission statement to an innovative software company, I said that I expected developers to work for only 20% of the time? Why? They:
Usually won’t work more anyhow.
Since so little is expected of them, they will feel willing to work more than that. (Assuming they are indeed great developers with a wonderful character).
The things they’ll do in the rest of the time will inspire them and allow them to be more productive.
Another issue are the working hours. Make sure your developers can normally come to the office when they want and go when they want. If you sometimes need more time or better attendance, then great developers will be happy to comply - temporarily. But crunch mode is a recipe for disaster - your developers will be over-worked, under-productive, and unhappy. And if they’re smart, they will soon quit.
And here’s another anecdote: at a previous workplace, I was instructed to fulfil my hours quota at least precisely, so they can get enough benefits from the Israeli Chief Scientist. But what is more beneficial for them: a happy, productive developer who does very good work, or a few extra shekels? I can never understand this skewed logic.