Hi there,
Happy Easter Monday! In this issue of News From the Server Room, I'm sharing my thoughts on mastering the basics, and the usual bunch of links to interesting engineering insight.

Mentor Monologue

When viewers of my live stream or members of our DevOps community on Discord ask about the skills required to level up to a more senior engineering role, most of them think of getting a grip on 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 even 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."

Let's look at how people in other areas master their skills, art, or craft. Top musicians, for instance, often spend hours perfecting the basics of scales, rhythm, and technique before 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, which are essential for creating compelling visual artwork. (For an 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 every engineer who wants to level up their career to adopt a similar mindset of continuous improvement, where one never considers themselves fully "mastered" but instead seeks perpetual growth and development.

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, focusing 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.
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 freely available on YouTube, some paid like GoRails and GracefulDev. I have a reading list to which I add every book that comes across as interesting; I pick another book from this list every time I've finished my current read. 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 that is soon to launch. Especially in our community projects, we will work towards a goal like "Running Mastodon instance", but with a focus more on the process than on the result.

In summary, achieving mastery doesn't mean you leave the small stuff behind. Mastery is about continually practicing and applying the basics while you build the big stuff.

Changelog

With the registration and single-sign-on processes implemented, work on The Server Room has now reached the content creation phase. In this phase, I, with the help of a few select pre-launch members, will be seeding the forums with helpful posts. It'll make the community platform feel more lived-in already when the first regular members join. In one of my next newsletters, I'll be able to announce the actual launch date!

Register to get a 50% founder discount!

Recommended reading

As an online teacher, I always recommend additional material to my students with which they can expand their horizon. Here's a list of reading tips I've curated for you.

The creator economy trap: why building on someone else's platform is a dead end


In this article, Joan Westenberg outlines the many reasons why relying on big content delivery platforms such as YouTube and Instagram creates dangerous and imbalanced dependencies. She goes on to highlight how going the indie web route by creating your own platforms is going to pay off in the long run.

This article inspired me to start offering educational content that helps enable more people to make use of all the technology that's at our disposal, and free themselves from their exploitative relationships with big tech companies.

Why I Won't Use Next.js


Choosing a web framework is another way to maneuver yourself into a dependency that's going to be hard to break later. That's why I find articles like this one by Kent C. Dodds valuable. However, be mindful that they might only represent one of multiple angles on the topic you should consider.

The Math behind Project Scheduling, Bug Tracking, and Triage


From my rocky experience with scheduling and planning, this talk from SREcon 2018 is still as relevant today as it was back then.

Product Management templates: Assumptions Tracker


And since we're already on the topic of tracking, this Thoughtbot article presents an idea I haven't seen before: tracking and evaluating assumptions before they can bite you in the thing they make out of you and me.

Thanks for reading!

I hope you found my News from The Server Room enjoyable and helpful. If you have any feedback or questions, simply reply to this email!
Take care!
Jochen, the Monospace Mentor