I used to code for an hour every week day and maybe 3-4 hours on weekend. But there was also a lot of "background processing" of what I plan to work on next and how to implement it. The more background processing I did, the faster I was in the actual implementation. So those hours I actually spent on the keyboard were really productive.