In his talk Solving the Right Problems for Engine Programmers Mike Acton’s first segment is about how new programmers are usually incompetent in three fundamental ways: practice, reasonable defaults, and problem solving.
He goes on to say that most programmers do not practice, i.e., they do not take time out of their schedule to practice using the tools (languages, APIs, databases, whatever). I’ve been thinking about this for a while and it seems that a lot of professions have practice, but in the tech industry we don’t, we mostly go with sink or swim.
So my question is: do you have a regular practice? What is it like? Do you have tips and hints and recommendations for others?