When I moved into a short-term apartment in January, my then-roommate had an espresso machine, a gorgeous Breville BES900XL. He taught me how to use it, and I immediately fell in love with making cappuccinos in the morning. My roommate knew all about the different types of art, and taught me how to froth the milk and make a simple tree shape. It's trickier than it looks, and most of the time I would under-froth or over-froth the milk and pour it too fast or slow, yielding nothing at all or a vaguely-misshapen blob if I was lucky.

I kept at it, making myself a cappuccino every morning - it's a very relaxing morning ritual, and fun to try and improve a bit every day. I moved into my current apartment several months later, and of course the first thing I bought is a shiny new Breville BES900XL. Fast forward to now - I've been making a cappuccino more or less once a day, and I recently got frustrated because, for the most part I still suck at latte art. I can pretty reliably produce misshapen blobs, or even something that looks like it was done on purpose, but I'm far from whatever your average barista can do easily. I thought to myself, "how is this possible? I've been making drinks and practicing every day for 7 months, but I'm still not that much better than when I started out".

One of my better attempts. Not terrible, but a far cry from what my barista does in 3 seconds.

Practice is the operative keyword here. By one measure, I've been practicing drawing shapes with milk every day for 7 months and I still can barely produce anything. That's embarrassing, and not a good sign god forbid I attempt something complex like programming. It's a popular saying that the key to achieving mastery in some skill is practicing for 10,000 hours. Here I am marching towards my 10,000 hours but the outlook is not good. That's because the other part of the saying is that you must practice correctly. I can sit and make cappuccinos the way I've been doing it for an infinite number of hours, but I've been doing it wrong every time and not improving from my mistakes - I certainly won't magically become a master once I reach the 10k hour mark.

This is a silly example of course, and seems obvious. There's no happy ending to this story - I still do mostly suck at latte art, but that's because I haven't sat down and invested the few minutes it takes to really get everything down properly - other things on my mind. However, it's sometimes less obvious that you're spending a bunch of time "practicing" some skill and racking up hours without becoming noticeably better.

In a previous life, I was a Rails developer, and indeed I wrote about it in depth. I enjoyed it immensely, but I've since left that field and never looked back, because despite having however many years of experience and studying under my belt, I felt like I had reached a plateau. I was shipping features every day, but one day's code and designs were not discernibly more brilliant than the previous day's or week's, and the reading material I came across was mostly targeted at beginners. I was practicing every day and working towards that 10,000 hours but not really improving at the same rate.

To be clear, this is not a unique thing to Rails. Had I truly wanted to, I could have aggressively pursued the absolute cutting edge of the framework and pushed it and myself to their limits. Regardless, I decided that was no longer the career path I wanted to go down, so I joined a company where I hack on Clojure and hard data analytics / machine learning problems every day, and once more feel that I'm practicing correctly and heading down the road to mastery. Ask yourself if you're practicing your craft correctly and meaningfully every day, and if you know how to make a latte bear get in touch!