Playing is the best way to learn.
Children love playing. It is simply what they do; and that is fantastic. That is how they learn. As we grow older, we view playing as something the kids do. If we happen to have children ourselves, we will perhaps play with them, but outside of that, we don’t play much at all.
That is tragic. Because we tend to look down on playing, we really disqualify it as a way of learning. We convince ourselves that the way to learn is to go to a class, read books, or watch some video. Those can be fine ways to learn, but I don’t think they are very efficient at all. It still remains that the best way to learn is by playing.
We still recognize this too, we just tend to gloss over it, and really ignore it. Especially in the software development world, we all know that even if you’ve read all the books you can find on a certain programming language, you’ll still struggle with actually using that language in practice. Learning that new language can go much faster if you just jump in and start playing with it. Write the hello world program. Write FizzBuzz or tic-tac-toe or a todo list app, or whatever your favorite little trinket program is.
We forget that playing is the best way to learn. Instead we view it in terms of experience, of how long you’ve worked with something. I think this is also one of the reasons many developers don’t seem to like learning new things; they don’t learn through play, they try to learn through some half-baked self-imposed classroom curriculum that just ends up putting them to sleep. If they were to go back to a child’s mindset and find ways to play with what they are learning, it would be much more effective, and much more enjoyable. So perhaps instead of thinking in terms of how much experience somebody has with a tool or technology, we should be asking how much he or she enjoys playing with that thing.