Beginning of 2020 sucks.🤮 The break-out of Covid-19 make us all stay home way more than usual. You cannot travel or meet with friends.
Though, these are perfect times for learning new things.
I wanted to learn programming in depth quite some time. And Launch School looked like a perfect place to do it. Launch School Core Curriculum is the long-term rigorous program, which on average takes 8 to 16 months. It is not trying to sell you a get-ready-for-job-in-4-month dreams for $8K 💸 but thrives to push you towards the long-lasting career in tech.
I am finishing the first course of Core Curriculum today. My current assignment is to write a blog entry about anything I have learned so far, be it major tech concept or some tips and tricks I came across.
I have started JS101 on March 13, 2020 and was working on the program every day since. It took me a total of 80 hours for 1 month.
In the same time, the most important thing in programming is to get the programming fundamentals right and algorithmic problem-solving. You can learn new syntax fast. What you really need is a strong understanding of universal concepts.
Why Mastery is Important
Launch school philosophy closely tied with mastery-based learning.
You even must read a book “Mastery” by George Leonard as one of the assignments in prep courses to continue to the Core Curriculum.
The book itself is quite controversial, but it does indeed deliver the idea of what mastery road is and what we should expect on it. For me, main ideas from the book come in first 20 pages:
- Anyone can master anything she wants to 🦸♀️
The evidence is clear: all of us who are born without serious genetic defects are born geniuses. (Leonard, George. Mastery (p. 12). Penguin Publishing Group. Kindle Edition.)
- Mastery road will burn 🥵
How do you best move toward mastery? To put it simply, you practice diligently, but you practice primarily for the sake of the practice itself. Rather than being frustrated while on the plateau, you learn to appreciate and enjoy it just as much as you do the upward surges. (Leonard, George. Mastery (p. 17). Penguin Publishing Group. Kindle Edition.)
What that means in practice is:
- You must master and utterly understand a topic before moving on to the next one
- You test your knowledge. And – this is going to be BIG – if you have not achieved proficiency in a topic, you do not just jump to the next one or quit. You try and try once more to get it.
- Topics are building on top of each other, so always do step 1 and 2 right!
What Have I Learned So Far?
Of course, you can read about strings, arrays, and objects at Mozilla Developer Network documentation website. But at Launch School you compare the differences between collections, learn what are the methods you “need” to know by heart, importance of function scope and much more.
Main lesson for me so far is that hardest thing is not to code but to decompose the problem and have a clear working algorithm. You need to solve the problem in your head – technically, you can write pseudocode along to support your thinking process – before you should start writing any code at all.
Expectations for JS109
This Monday, I have attended the JS101-JS109 study group to practice with other students and get a general idea about the assessment. My takeaways from the study group:
- I want more of these! Study groups are great to get the general idea about the upcoming assessment, level of questions, meet other students and potentially even your future examiner.
- I still do not know a lot of things from the course. Yet, I already understand some concepts fully.
- I will have to study another 80-100 hours to prepare for the assessment. It will be painful. 🤯
- When I pass JS109 I will FULLY UNDERSTAND all concepts, tips, and tricks from JS101.
Let’s see… 💁♂️