Everyone has their preferences for learning, but I’ll share my strategies, ordered by how frequently I use them:
- Asking for feedback: time-effective and practical learning method, though it may lead to a local optimum.
- Reading books and articles: newsletters is time-consuming but incredibly rewarding.
- Finding a mentor or coach: beneficial when theoretical knowledge falls short.
- Teaching: teaching, writing or speaking about a topic, as suggested by the Feynman Technique, can create the deepest understanding but requires a considerable investment of time.
Imagine your skills are variables in a function, and your goal is to optimize the function’s result — essentially, the impact on your work and life. Focusing only on a limited set of skills or neglecting learning altogether can lead to a local optimum, which may prevent significant improvement.
Newsletters are an invaluable resource to expand your knowledge. Here are some I recommend about management and leadership:
- First Round Review
- Irrational Exuberance
- Joshua Burgin’s Substack
- Lenny’s Newsletter
- Level Up by Ethan Evans
- Marc Randolph’s Substack
- Scarlet Ink
- Software Lead Weekly
- The Beautiful Mess
- The Pragmatic Engineer
Exploring these newsletters can introduce you to new subareas and innovative approaches within the field of engineering management. For example, at the start of my journey in engineering management, I thought I knew it all: delegation, motivation, leadership, one-on-ones, performance management, etc. But then I encountered an article about decision-making in management, which was a game-changer for me — I hadn’t realized that decision-making was a critical and complex skill within leadership.
For further exploration of engineering management subareas, check out this list on GitHub.
Diving into related fields such as marketing, finance, sales, startups, and writing can also significantly enhance your perspective and approach to problems.
My typical approach to in-depth learning of a topic is as follows:
- Locate and read 5 to 10 articles on the subject. For certain specialized knowledge domains where high-quality articles are not easily searchable on Google, I systematically search on specialized websites.
- If this level of understanding suffices, then I stop there.
- Confirm that the in-depth knowledge can be practically applied within the coming month.
- Find and read a book on the topic that has a rating of 4.6 or higher on Amazon.
Testing effect or retrieval practice is a powerful technique to enhance study and work skills. Here’s how I apply it:
- When reading ask probing questions “Why is it designed this way?“. For instance, if you’re learning about EBITDA, challenge yourself with questions such as:
- “Why do we exclude amortization and taxes from this calculation?”
- “Why not just consider net profit instead?”
- “What are the pros and cons of using EBITDA?”
- After reading quiz youself: “What have I learned?” and “How can I apply this tomorrow?” Keep probing with questions like ”And what else?” until exhaust your answers.
- Complete exercises provided at the end of book chapters, which reinforces learning and understanding.
- Learn by doing: e.g. review a brief introduction and then start coding in a new language immediately.
Knowledge that’s not connected to what you already understand tends to be forgotten. To solidify new information in your memory, it’s crucial to relate it to existing knowledge.
Find connections between new information and your prior knowledge by asking questions like:
- “How does this relate to what I already know?”
- “In our company, what do we use that’s similar to this concept?”
- “Why haven’t we adopted the solution I just read about?”
For example, if you come across a chapter about LSM trees in databases, you might think about:
- “What kind of data structure does our main database at work use, and why?”
- “Why might we not switch to a database that uses an LSM tree?”
- “What are the data structures used in other databases we interact with, like ElasticSearch and ClickHouse? How do they store and index data, and why not just use a traditional B-tree or LSM tree?”
Note that this method can be time-consuming. As an illustration, engaging with Designing Data-Intensive Applications in this way could take 3-5x longer but will lead to a richer understanding of the material.
Even well-connected knowledge can fade unless applied quickly. To counteract this, I follow a simple framework:
- After acquiring new information, pause to reflect on what you’ve learned.
- If it’s a new insight, either contemplate it further to increase self-awareness or look for ways to apply it in the future.
- Add action items to monthly or quarterly goals to ensure you apply this new knowledge to a specific context. For instance, after reading about performance reviews, schedule a task in quarterly plan to implement these insights in next review session.
Additionally, treat your list of action items like a kanban board: if it becomes too large, stop acquiring new knowledge and focus on applying what you’ve learned.
- Take breaks between learning sessions. It’s more effective than trying to learn everything at once.
- Adequate sleep is crucial for memory recall. Ensure you get enough rest.
- Make notes while reading and revisit them periodically to avoid reverting to old habits and forgetting new insights.
Investing in learning how to learn is akin to acquiring an “enlightenment skill,” akin to the one from Heroes 5. It can significantly amplify all future learning endeavors.