That's a false dichotomy. There are plenty of smart, capable, hardworking programmers who enjoy their jobs and aren't just taking the easy-street, but have enough else going on in their lives that they don't want to spend their free time writing code. I say this as someone who does write lots of code outside of work: it is not fair to gate people based on the number of side-projects they have. It's not even a reasonable indicator of job performance.