Ever wonder how professional programmers/developers are able to “spit out” code and commands instantly on demand?
How do they memorize all of that information?
Is there a secret to their wizard-like abilities?
As it turns out, there is!
A lot of professional developers have learned the secret to learning things quickly and memorizing things for a long time. And that secret is…
Do the same things over and over again to the point of puking :)
You must be really disappointed right now that I’ve reveal the secret after hyping it up initially.
But, of course, there is more to it, and I honestly did not lie about how effective it is.
You see, many people, myself included, learned web development through following countless number of tutorials. More often than not though, the act of following tutorials is mostly just blindly following instructions.
Whether or not you were able to successfully recreate what the tutorial is teaching you about, be it an one-page static website, a simple React app, or an API for bookmarking things, you will not remember anything you have just done.
Tell me if either of these scenarios sounds familiar to you:
- You followed a tutorial and successfully coded something that resembles the tutorial’s demo. You feel a sense of relief, but you don’t know WTF just happened because you almost just copy-pasted the code (shut up, typing out the same code isn’t much different than copy-pasta).
- OR, you followed a tutorial and failed to achieve the expected end result. Either you encountered some uncaught errors or you were missing the same stylesheets as the demo, you will be stuck debugging the problem on your own which was never mentioned in the tutorial. Guess what, you are left wondering, again, WTF just happened.
This is exactly why you shouldn’t strive to follow as many tutorials as you can find, but instead focus on a few tutorials that you do over and over again. Here’s what’s gonna happen:
You are clueless what the tutorial author is talking about, but you follow it regardless. In the end, best case scenario, you didn’t encounter any errors and you got what you were promised. Now you have a complete thing that you have no idea how to recreate or apply to any of your other things if you were to do it without guidance.
Because you have done the tutorial once, you are familiar with some of the steps. This is where your brain piece things together instead of blindly following instructions.
While going through the same steps again, you start discovering some typos or mistakes you made in the first pass, or you may try changing tiny things here and there just to see what happens.
A very crude example: the tutorial tells you to put
color: blue; in your stylesheet. You sort of guessed (assuming you are completely new to CSS) that this line is going to change the color of some text, and you saw that some text on the page has blue color from the first pass.
This time around, you feel a little more adventurous and decide to tweak some small things that are unlikely to cause errors, so you change it to say
color: red;. Now that you can see the difference visually, you understand that this particular text block will be affected by this particular rule which changes the color of the text.
You are getting a bit bored because you have already gone through the entire process, not once, but twice!
But this is when something weird and magical happens: while that boredom is starting to sip in, a sense of confidence is also kicking in!
You realized that now you know what to type without having to read the original tutorial text word by word. A clear step-by-step process is also starting to take form in your head as if the tutorial steps are gradually being imprinted onto your brain.
Now you are feeling REALLY adventurous; you start changing less trivial things.
Instead of fiddling with colors and font sizes, you start changing functions and reordering them just to see what happens as a result of every one of your changes.
You may also start getting some big red and scary errors, but you don’t panic because you know exactly what you changed to cause that and it’s only a
ctrl/cmd + z away to bring it back to a working state.
The tutorial content has become part of your knowledge base that you can retrieve at will. What’s really beautiful about this is that the explorations you had in the previous passes, such as the color changes and function restructuring and what not, these enable you to achieve a higher level understanding of the content.
Your brain can finally make sense of everything. Not only that, you can now synthesize, adapt, and apply to new problems using the knowledge you just put in.
Again, the point is not to avoid Googling things all together. It's to gain mastery and confidence through meaningful practice.
Experienced developers accumulate their knowledge overtime. Most of them don’t do this repetitive process of following tutorials deliberately because they take a slightly different and longer approach.
They accumulate the knowledge by simply working on similar projects over and over again. Potato potato.
What you will find after many passes is that the next time you start building your own thing, whether it’s to set up a new project structure, initialize a git repo, or create some boilerplate framework code — you know, all that pro stuff — the commands, knowledge, and everything becomes muscle memory and come to you automatically when you need it!
Have I convinced you that doing the same thing repeatedly is not only NOT BORING, but it actually gives you a better understanding of the things you learned from tutorials?
This is the secret that allows you to learn things quickly, memorize things for a long time, and know how to adapt and apply newly acquired knowledge in your own projects without guidance.
What’s also great is that this ultimately gives you more confidence, which turns into motivation to keep you going in the journey of getting your dream job or creating your dream website/app!
Now stop reading and go dig up those tutorials you “finished” and start redoing them until you can recreate those without looking :)