We can never learn enough. We could dedicate every moment of our lives to learning everything we can; there will always be more.
This could either encourage or discourage you as a lifelong learner.
I trust and believe you have the former approach. Seeing the beauty of learning more.
In a constantly changing world where early hyperspecialization has been encouraged, there will be an increased demand for generalists. Especially in a world where a number of innovations becomes rare, people who can take one idea from one domain and adopt it into another will be very unique and needed. The ability and the lack of fear of jumping around and learn from various disciplines will be a super skill in a hyperspecialized world. -Source
Whether diving deep for specialized expertise or reaching for range to explore broader concepts and other domains, we can apply different techniques as we learn.
Two of these techniques can be explained through a book-knowledge approach (theoretical) and a practical approach (experience).
It is tempting to believe the one is better than the other. But they are complementary. Opening up possibilities to specialize and generalize whenever that is relevant.
Comparing Book Knowledge and Practical Knowledge
Complementary nature: Book knowledge and practical knowledge are complementary. Book knowledge provides a theoretical foundation, while practical knowledge offers hands-on application and context.
Interdependence: Practical knowledge often requires a foundation of book knowledge to understand concepts, principles, and best practices.
Depth and breadth: Book knowledge provides depth in specific areas, while practical knowledge offers a broader perspective and a deeper understanding of real-world complexities.
Flexibility: Practical knowledge can adapt to changing circumstances, while book knowledge may require updates to incorporate the latest information.
Feedback loop: Practical knowledge enables learning through direct feedback, allowing continuous improvement and refinement of skills and approaches.
Time and efficiency: Book knowledge can provide a more efficient way to learn foundational concepts and theories, while practical knowledge requires time and effort to acquire through experience.
Ever since I started to learn coding, I have struggled with the balance of learning by doing and when to complement foundational theory.
We are all different, but a good way that works for me is to use the practical part as a driving force. Tinkering through a project will lead you into areas you eventually need to complete with foundational theory. To gain a more solid understanding.
For example, I started to build my first microservice using Springboot and Angular to get a full stack web app up and running. That may sound trivial for the experienced engineer but that little project showed me black spots and indicated where I lack core knowledge. So whenever I get stuck in a project I look for gaps to fill, applying “book knowledge” wherever needed.
Following a strict theoretical curriculum is hard nowadays. It used to work when I had more time, looking back on those long days I could sit at the library. Without any more obligations than thinking about what to eat for dinner.
Different times today with family and full-time job. And thank God for this! How my life is designed today works as a constraint where I need to keep a specific deadline, otherwise, nothing gets done.
I am curious to know more about your learning journey? What are you learning, and how do you balance theory and practice? Let me know in the comments or by hitting reply on the email.