Choosing Comprehensive Courses Over Crash Courses in Programming
Written on
Chapter 1: The Importance of Comprehensive Learning
As a programmer, we frequently encounter challenges or opportunities for improvement that necessitate acquiring new skills. This can involve mastering a new programming language, such as JavaScript, or delving into a framework like React, or even just familiarizing ourselves with CSS Grid.
The dilemma arises: should I focus solely on a small aspect of a technology or invest time in a complete course? In urgent situations, it makes sense to quickly learn a specific skill to resolve an issue. However, for lasting benefits, it’s generally wiser to pursue a thorough course.
Online learning platforms, like Udemy, offer a plethora of fantastic courses, typically ranging from 8 to 10 hours, and some extending to 20 or even 40 hours. This raises the question: why dedicate so much time to fully understand a particular technology? Often, I find myself hesitant to start these lengthy courses, as I prefer to learn something quickly and apply it directly to my work. Although I can easily find crash courses on YouTube, I often find myself opting for the more comprehensive options. Why does this occur?
Section 1.1: Understanding the Foundation of Technology
A crucial reason is the foundational knowledge of the technology involved. This isn’t merely about the background of the technology’s creator but, more importantly, the purpose behind its development and the problems it aims to resolve. Such insights can significantly influence your decisions when evaluating a technology against its competitors, helping you determine the appropriate contexts for its use.
For instance, while Kubernetes is a powerful tool, it might not be necessary for a simple web app backend; serverless functions could suffice.
Subsection 1.1.1: The Value of Additional Insights
Section 1.2: Discovering Additional Tools and Techniques
When I enroll in a highly-rated course on Udemy, I'm often eager to explore the additional tools and technologies the instructor uses. For example, in a Vue.js course I’m taking, the instructor utilizes "Axios" for data fetching—while not new, it's a valuable addition to my toolkit. Furthermore, they introduced "Tidy.js," which is new to me and proves to be a helpful library that enhances my workflow.
This experience is akin to watching movie trailers before a film; even if the main feature isn’t enjoyable, the previews can be entertaining and informative.
Additionally, there are other tools to consider: perhaps a fantastic IDE, useful plugins like "CSS Navigation" for VS Code that help me manage multiple modular CSS files, or libraries like "Faker.js" for generating test data. I even discovered "Surge," a rapid deployment platform for small static sites, while taking a course. The list of potential learnings is extensive.
Chapter 2: Learning Best Practices and Achieving Satisfaction
Section 2.1: Implementing Best Practices
No matter what technology you are studying, you might often wonder how to implement it in your next project. Full courses led by experienced instructors often include best practices, and their hands-on demonstrations can provide invaluable insights. This approach helps you understand how to effectively apply these practices in your projects while incorporating your unique perspective.
Section 2.2: The Peace of Mind from Comprehensive Learning
When we embark on a learning journey, we hope to harness the full potential of what we've acquired. Crash courses may leave gaps in knowledge, whereas a complete course offers reassurance that all pertinent aspects are addressed. Even if you don’t apply everything immediately, the knowledge you gain will serve you well in the future.
While this approach may not be suitable for everyone, I invite you to share your thoughts in the comments. Above all, remember to enjoy the learning process and keep exploring new ideas! 🙃