Mastery is mastery of the basics
When members of my community ask about the skills required to reach a more senior engineering role, most of them think of key technologies such as React for frontend developers or Kubernetes for operations engineers. However, my perspective is different. Those key technologies, while interesting and (sometimes) important, come and go. What doesn’t change is something that’s much simpler but easy to overlook. Psychologist and author Kourosh Dini put it this way:
“The most difficult skill in learning is found in neither these advanced abilities nor some remote but seemingly still profound nuggets of knowledge. It is in the ability to return to and relearn the basics, our understanding of the fundamentals that grows and decays, requiring tending as with any garden. Most of mastery is a mastery of the basics.”
Repetition. Repetition.
Let’s look at how people in other areas master their skills, art, or craft. Top musicians often spend hours perfecting the basics of scales, rhythm, and technique. Only then do they go compose complex pieces or perform intricate solos. Athletes dedicate themselves to mastering the fundamentals of their sport, such as footwork, coordination, and tactics. And artists hone their skills through continuous practice of basic principles such as perspective, shading, and composition. All of these skills are essential for creating compelling visual artwork. (For a real-life example, check out the blog of David Revoy. I adore him, his love for Open Source Software, and his web comic Pepper and Carrot.)
A principle that originated in Japan and got adopted in many industries including IT is called “kaizen”. It means “continuous improvement” and emphasizes making small, incremental improvements over time. Kaizen is deeply ingrained in Japanese culture, promoting a mindset of continuous learning and refinement. I recommend to anyone who wants to level up their career to adopt a similar mindset of continuous improvement.
Levelling up as an engineer
Let me give you a few examples of basic skills you can refine to eventually attain mastery:
- Continuously refine skills in programming languages such as Python, Ruby, or JavaScript. Focus on understanding data structures, algorithms, and best practices.
- Master command line interfaces (CLI) for efficient navigation, file manipulation, and system administration tasks.
- Deepen understanding of version control systems like Git, including branching strategies, merging, rebasing, and collaboration workflows.
- Deepen knowledge of security principles and best practices, including authentication, authorization, encryption, and secure coding practices, to build robust and secure systems.
My personal practice
Personally, I have various ways how I integrate continuous improvement into my daily schedule. I’ve subscribed to a bunch of video channels that cover current developments in Ruby coding and SRE. Some are freely available on YouTube, some are subscriptions, for example GoRails and Graceful.Dev. I have a reading list to which I add every book that comes across as interesting. Every time I’ve finished my current read, I pick another book from this list. Lastly, I’ve adopted the principle of “learning in public” by doing my daily work on Twitch and YouTube. I use my live stream not only as an opportunity to highlight basic best practices such as refactoring existing code, applying design patterns, and writing useful Git commits. It’s also a great place for me to learn from the feedback and help of my viewers!
Another great place where you will be able to refine your skills to mastery will be The Server Room, my DevOps learning community. In our community workshops, we will build practical projects with our focus rather on the process than the result.
In summary, achieving mastery doesn’t mean you leave the small stuff behind. Mastery is about continually practising and applying the basics while you build the big stuff.
This article was originally published in my newsletter, “News From the Server Room”. To get my column “Mentor Monologue” fresh when I publish it, subscribe here.