The question came up not so long ago on Reddit as to whether it’s wise to hire a software developer who doesn’t write code in their spare time. I think this is a very interesting debate that illuminates some very important questions that the industry needs to find consensus on, but I think a lot of the debate misses a more important point.
To summarise the debate, the ‘No’ side argues that any developer who doesn’t write software in their spare time is not in it for the love of the craft, but apparently only for money; if a person has to be paid before they’ll consider doing something, their heart obviously isn’t in it. Whether you like it or not, software development is a business where you need your staff to go the extra mile, not work to rule.
On the ‘Yes’ side of the argument, people usually reply that the weekly capacity of a developer is limited, and that down time is important to avoid burnout. There’s a strong argument by analogy to other professions; nobody expects their doctor to treat people in their spare time.
Interesting though these arguments are, the issue of “spare time” is very contentious, and the danger is that the debate generates more heat than light. It’s easy for arguments about what you “should” do with your time off to become charged with an implicit accusation of being lazy or venal. It seems to me that rather than focusing on whether software should take up your spare time, we should ask whether your spare time should be taken up with software.
I’d be worried about hiring a programmer who didn’t do something constructive in their spare time, but it needn’t be programming—I’d go as far as to say that it’s better if it isn’t. Brilliant ideas tend to come from divergent backgrounds. How about hiring a person who spends their spare time learning (or better yet, doing) philosophy (ethics and logic), statistics, music, counselling, history, art and design, architecture, first aid, foreign languages, etc. ?