
Preface
Recently, I completed reading “Soft Skills — The Software Developer’s Life Manual” by John Sonmez. Throughout this book, John Sonmez, also known as Simple Programmer, delves into various critical “soft” subjects pertinent to developers. These topics span from career development and productivity to personal finance, investing, fitness, and relationships, all examined through the lens of a developer. In this article, I aim to highlight an extract from his book wherein he outlines a 10-step approach to mastering the art of learning, an indispensable skill for those engaged in technical professions.
The Concept Behind the Method
In the early stages of my career, my learning process primarily involved picking up a book related to the subject I wished to delve into and reading it from cover to cover. It was only after completing the entire book that I attempted to apply what I had absorbed. Although this method facilitated learning to some extent, I soon realized it was progressing at a sluggish pace. Often, I found myself revisiting sections of the book to fill the inevitable gaps in my understanding of the subject.
This approach sufficed when I had ample time and lacked a specific, concrete learning goal. Over time, I managed to grasp the material I aimed to learn, albeit at a leisurely pace. However, as the demands on my learning increased, and I needed to acquire knowledge swiftly, I recognized that my existing approach was inadequate. Frequently, I couldn’t afford the luxury of reading an entire book, and much of its content seemed better suited for reference rather than comprehensive learning.
Necessity compelled me to seek more efficient methods to acquire the necessary knowledge within tight timeframes. On occasions when I had only a week or less to assimilate sufficient information about a subject to teach it to others, I realized the importance of clearly defining my learning objectives and seeking out the most pertinent resources. This involved disregarding extraneous information that didn’t directly contribute to meeting my learning goals.
Through this process, I identified three key aspects crucial for effectively learning a technology:
Getting Started: Understanding the fundamental aspects required to initiate practical use of the technology.
Grasping the Scope: Gaining insight into the breadth of the subject and its potential applications. While comprehensive details weren’t essential initially, having a decent overview allowed me to explore further nuances later.
Mastering the Essentials: Beyond just the introductory phase, comprehending the basic use cases and common functionalities necessary for daily application of the technology. Focusing on the vital 20% of information that covered 80% of routine usage proved to be particularly valuable.

The 10-Step Framework
Acquiring these three pieces of knowledge entails more complexity than initially presumed. Initiating familiarity with a technology can pose challenges, and discerning the crucial 20% necessary for 80% effectiveness proves to be elusive. Furthermore, obtaining a concise overview of a technology’s breadth often proves daunting, as this information tends to be scattered across numerous sources, be it within a single book or across several.
To tackle these challenges, preliminary research becomes imperative to ensure access to the required information and its systematic organization for optimal learning progression.
At its core, the 10-step process revolves around gaining a foundational understanding of the subject matter, sufficient to identify gaps in knowledge. Subsequently, this understanding informs the delineation of the learning scope and the articulation of success criteria. Armed with this clarity, one can source diverse learning materials beyond traditional books. Finally, crafting a personalized learning plan allows for strategic navigation through the chosen subject matter, filtering out extraneous materials to focus solely on those conducive to goal attainment.
Step 1 — Grasp the Conceptual Landscape
Embarking on a learning journey can be akin to navigating uncharted territory, where the sheer volume of unknowns looms large. As former U.S. Secretary of Defense Donald Rumsfeld famously pointed out, there exist “unknown unknowns” — aspects of a subject matter that one is not even aware of being ignorant about.
Many developers dive into learning without grasping the extent of their ignorance. These “unknown unknowns” are left to unravel later, often leading to erroneous learning paths or overwhelming complexities. It is crucial, therefore, to gain a preliminary understanding of the subject matter to delineate precisely what needs to be learned and how to go about it effectively.
In this initial step, the aim is to attain a bird’s-eye view of the topic under consideration. What are the overarching themes? Can you glean enough to discern the areas of unfamiliarity and grasp the scale of the subject?
To accomplish this, conduct basic research on the chosen topic, leveraging online resources for comprehensive insight. If available, peruse introductory chapters of relevant literature to gain a cursory understanding. However, it’s essential to refrain from delving too deeply at this stage; the objective is not to master the subject but to obtain a broad overview of its contours and dimensions.
Step 2 — Establish the Scope
Now that you’ve gained a preliminary understanding of your topic and its magnitude, it’s time to refine your focus and determine precisely what you aim to learn. Just as in any project, defining its scope is crucial for gauging its size and preparing accordingly. Learning follows the same principle.
A common pitfall in learning endeavors is feeling overwhelmed by attempting to tackle an overly broad subject. Trying to grasp something as vast as “physics,” for instance, is impractical; it’s simply too extensive and lacks focus. It’s essential to delineate the scope of your learning to a more manageable size.
In this step, utilize the insights gathered in the previous phase to delineate a suitable scope for your learning objectives. Let your reason for learning the topic guide you in this process.
While you might be tempted to broaden the scope to encompass various subtopics within your area of interest, resist this urge and strive for focused precision. Remember, you can always revisit and explore additional subtopics later. For now, select one narrowly defined aspect and commit to it.
Consider your timeframe as well when determining the scope. If you have a limited timeframe, be realistic about what you can feasibly accomplish within it. Align the scope with your overarching learning objective and the available timeframe.
Step 3 — Define the Parameters of Success
Before embarking on any significant undertaking, it’s essential to establish clear definitions of success. Without a clear vision of what success entails, it becomes challenging to set targets and gauge progress accurately. Prior to commencing your learning journey, it’s crucial to have a well-defined image of what success looks like. With a clear target in mind, you can systematically work backward to identify the necessary steps to achieve it.
The objective of this step is to formulate a succinct and precise statement outlining the criteria for success in your learning endeavor. The specific content of this statement will vary depending on the nature of what you’re learning. However, ensure that it comprises a set of clear success criteria that can effectively evaluate whether your learning objective has been met.
Your individual success criteria will primarily be shaped by the desired outcomes of your learning endeavor. Ensure that they are assessable at the conclusion of the learning process to verify the attainment of your objective. Well-defined success criteria also serve to keep you on track by providing a tangible target to strive for.
Step 4 — Source Diverse Learning Materials
Rather than relying solely on a single book, endeavor to gather a wide array of resources to facilitate your learning process. Resources come in various formats beyond traditional books, particularly in the digital age, where the internet offers a plethora of content on virtually any topic.
In this phase, aim to compile as many resources as possible pertaining to your chosen topic. Quality is not a concern at this stage; rather, consider it akin to a brainstorming session. Later on, you’ll refine and select the most suitable resources, but for now, prioritize quantity.
One effective approach is to leverage online platforms, initiating searches on platforms like Amazon to explore available books and utilizing Google to uncover videos, blog articles, podcasts, and other relevant content. Additionally, traditional sources such as libraries can offer valuable resources. The key is to access a diverse range of materials, avoiding bias from a single source and ensuring access to a wealth of information.
Step 5 — Develop a Structured Learning Plan
Notice how most books are structured with chapters that progress through the content systematically? Quality technical books lay down foundational knowledge that is progressively built upon in subsequent chapters.
Now that you’ve gathered resources, you can leverage them to discern what to learn and in what sequence. By this point, you should have identified potential subtopics within your area of interest. Review the materials you’ve acquired and break down the subject into manageable sections.
Most subjects follow a logical progression in learning. You start at point A, proceed to point B, and ultimately reach point Z. Learning disparate fragments of information without a coherent structure is futile. Your objective is to identify the optimal pathway that leads from point A to point Z with minimal detours, ensuring coverage of essential milestones along the way.
In this step, you’ll craft your own learning pathway, akin to drafting an outline for a book on the subject. Your learning plan will likely resemble a table of contents, delineating a series of modules to focus on individually until you attain your ultimate learning objective.
Step 6 — Refine Resource Selection
By now, you likely have amassed a considerable number of books, blog posts, and other learning materials on digital photography. However, the challenge lies in the impracticality of utilizing all of them. Much of the information may overlap, and not all resources will align with your learning objectives.
Attempting to sift through numerous books and blog posts on a subject is neither feasible nor efficient; much of the content may duplicate. It’s essential to streamline your resources to a select few that best complement your learning plan.
In this step, carefully evaluate all the resources gathered in Step 4 and identify those that align closely with the content outlined in your learning plan. Additionally, consider reviews to gauge the quality of the resources. Personally, I often consult Amazon reviews for books under consideration, narrowing down my choices to one or two that offer the most comprehensive coverage and value.
Step 7 — Attain Adequate Initial Understanding
The aim of this step is to acquire sufficient knowledge about the topic to initiate practical application in the subsequent phase. For technical subjects like programming languages or frameworks, this may involve creating a basic “Hello, world!” program or configuring your development environment. In the context of photography, it could entail grasping fundamental concepts such as lighting to conduct personal experiments with different light sources and their effects.
The key here is to avoid delving too deeply. It’s tempting to immerse oneself in all available resources on the subject, but success lies in exercising restraint. Focus instead on acquiring the minimal amount of information necessary to embark on practical experimentation in the next phase. Consider skimming through materials, reading chapter summaries, or perusing introductions to gain a basic understanding of the subject matter.
Step 8 — Engage in Exploration
Initially, you might question the significance of this step, but let’s contemplate the conventional approach to learning — the one most individuals adopt. Typically, people endeavor to grasp a subject by immersing themselves in books or videos on the topic. They aim to absorb copious amounts of information upfront before taking any action. However, the flaw in this approach lies in the lack of discernment regarding what truly matters. They follow a predetermined path without truly understanding the significance of each aspect.
In this step, you’ll apply the knowledge acquired in Step 7 by taking practical action. Disregard the outcomes for now; focus on exploration. If you’re delving into a new technology or programming language, consider embarking on a small project during this phase to experiment. Document any unanswered questions that arise; you’ll have the opportunity to address them in the subsequent step.
Step 9 — Attain Practical Proficiency
Curiosity plays a pivotal role in learning, particularly in self-directed learning. During childhood, rapid learning occurs largely due to curiosity; we constantly question and seek answers to understand the world around us. However, as we mature, this innate curiosity often diminishes, and learning becomes more stagnant, viewed as a chore rather than an engaging pursuit.
The objective of this step is to reignite that curiosity-driven learning process. Building upon Step 8, where you engaged in exploration and generated questions, now is the time to seek answers. Dive deep into your chosen resources to gain a comprehensive understanding of your subject matter.
As you read, watch videos, engage in discussions, or undertake any other relevant activities to consume your selected resources, focus on addressing the questions you formulated in the previous step. This phase allows for in-depth exploration and learning.
Don’t hesitate to revisit exploration as you uncover answers and unearth new insights about your subject. Take the necessary time to comprehend the material thoroughly through reading, experimentation, and active learning.
However, remember that consuming every resource in its entirety is not obligatory. Focus solely on the sections pertinent to your current learning objectives. There’s no reward for completing every resource cover to cover. Utilize the resources to facilitate self-teaching, guided primarily by the questions you’ve generated through exploration.
Lastly, remember to align your learning with the success criteria defined in Step 3. Strive to relate your learning endeavors back to your ultimate goals. Each mastered module should contribute to advancing you toward your desired destination.
Step 10 — Share Your Knowledge
In this final step, I urge you to step beyond your comfort zone and impart what you’ve learned to someone else. It’s the most effective method to confirm your understanding of a subject, and it serves as an excellent means to bridge any gaps in your own comprehension as you articulate it to others. Teaching necessitates a thorough dissection and understanding of the topic at hand as you organize the information in a manner comprehensible to others. Personally, I’ve experienced significant career and personal development strides through teaching.

There are various avenues through which you can share your knowledge. You might consider writing a blog post or crafting a YouTube video. Alternatively, engaging in discussions with your partner and explaining your newfound knowledge can be equally valuable. The essential aspect is to actively transfer the knowledge from your mind and structure it in a way that others can grasp. This process often reveals gaps in your understanding and prompts new connections, fostering a deeper comprehension of the subject matter.
While it might be tempting to bypass this step, I strongly advise against it. This stage is pivotal for retaining information and cultivating a profound understanding of the subject matter beyond surface level.
Conclusion
Mastering the art of self-education demands dedication and perseverance, but the rewards reaped over a lifetime are immeasurable. While this 10-step process isn’t a magic solution for instant enlightenment, it serves as a framework to systematically organize your learning endeavors and leverage your innate curiosity to absorb knowledge effectively.
If the structure of these steps doesn’t resonate with you, feel free to discard them. What truly matters is embracing the underlying concept of self-directed learning and developing a personalized system that consistently yields results.