Conditions for mastery in anything - quantity, quality, consistency, feedback and luck
Hereās a simple formula for mastery and being exceptional at your craft, credits to James Clear:
āA few things you need to achieve exceptional results:
1) Quantity: You take lots of shots.
2) Quality: You take thoughtful shots.
3) Consistency: You keep shooting for a long time.
4) Feedback. You take better shots over time.
5) Luck: You get a few favorable bounces.ā
When I read that, a light bulb went off in my head. More accurately, a lightning storm. Of course! Thatās all the conditions required for mastery at anything. Quantity, quality, consistency, feedback, luck. All in a catchy, easy-to-apply heuristic. It made me think about my own process of learning codingāmy #decodingcoding journeyāand how I can improve it. So here goes:
Quantity: This is all about having many opportunities to practice coding every single day, and making lots of projects along the way. The more shots I take at solving problems with the languages/frameworks of my choice (Vue, Rails); the more projects I ship out into the wild where people use it, the better I get at it. Iād pushed out a couple of Vue projects so far - an invoice builder, a Google Sheets listing via Google API, a blog in Carrd via Wordpress API, and a calculator on the way.
Quality: Itās not enough to have many opportunities, but to not let each opportunity go to waste by shabby performance. Because the quality of my effort matters. I can practise poorly, not put my heart into it, just get through it without really understanding. I wonāt learn anything that way. Being intentional and conscientious with each rep is key.
Consistency: Iām already doing this with my daily hour of code streak. Not enough to practice a lot for a short period of time for say, a few months, and then drop it for the rest of the year. The learning doesnāt quite stick. Thatās why I had a start-stop, two-steps-forward-three-steps-back affair with coding, which led to much frustration.
Feedback: This I admit, Iād not been doing enough. Getting feedback and critique from mentors and other experienced developers on my code in public is not as easy. Finding mentors in the first place is hard, lest asking someone to spend their evenings looking at your crappy code and what youāre trying to do with it. Iām bad at asking, so this is the emotional barrier for me. But without some guidance on best practices, good coding conventions and habits to have, I wonāt get far. I need to find friends who wouldnāt mind helping.
Luck: I believe you canāt dictate when luck will arrive, but you can create conditions for it to arise as and when it does. In fact, Iām not sure if luck is more of a consequence or an after-effect of doing the four above-mentioned points. Because the more you try over time, the more you naturally increase your probability of striking gold. But yet thereās a randomness to our environment that no amount of effort can make up to. That random opportunity, is luck. And so perhaps to get luckier, I can do things to help nudge it in that direction. One of the best ways to get luckier is to tell others about what youāre doing. Another way is to not get fixated on a certain process of getting to my destination, lest I miss out on lucky breaks that might get me there in a roundabout way. Be focused on the outcome but flexible about how to get there. For example, if I had been fixated about learning coding through courses but not recipes, I wouldnāt have stuck to it (again). Hence, telling others and being flexible are things I can definitely improve on in terms of my coding journey.
Is there anything else missing besides these five conditions? What would you add to it?
Follow my daily writings on Lifelog, where I write about learning to code, goals, productivity, indie hacking and tech for good.
Top comments (0)