An important lesson for me was that doing side projects during my free time didn't make me a better developer at work. Writing a video game or even a webapp without the constraints of working on a team and having business needs that you don't get to choose.
Partitioning "work programming" and "home programming" as two separate skills in my mind has been very useful.