I don't think it's so much about practicing outside of work hours, it's more about being mindful about how you're going about what you're doing and evolving it to make more sense. If there's a trait I notice in mediocre developers it's more just that they have no interest in examining their own work habits. Its the guy that always reaches for the menu bar instead of learning keyboard shortcuts, or the guy that refuses to learn anything about functional programming because they want to stick to the basic java they learned in college.