Codecast is a reader supported publication. If you are reading this and haven’t subscribed yet, what are you doing? It’s absolutely ridiculous to let this gem of an article get lost on the internet once you’re done reading it. Subscribe to read all of the past and future posts 👇
Acquiring a new skill in tech is always an interesting challenge. There are numerous ways to go from a beginner to a pro and all of them offer unique advantages and disadvantages regardless of the difficulty of the actual skill.
Sometimes, it comes down to what kind of skill it is that you’re trying to learn. Watching tutorials on YouTube might be a good way to quickly acquire, for example, brief knowledge on a set of syntactic rules about an unfamiliar programming language. This method might help you in writing that school paper on the fundamental differences between different data structures of the language.
However, this method won’t give you any practical skills. As in, you will never learn how to apply those data structures in a working program or script. Details about the nuances of type safety, null safety, order of arguments, parameter assignments, initialization rules, global and local identifier distinctions, etc. are all small but useful tidbits of knowledge that can only be gained from building an actual application using the new programming language.
Let’s take another example. Say you’re a proficient Python programmer but you want to take your skills to the next level by learning asynchronous REST API development with FastAPI. Now you have two learning paths in front of you and one of them is more attractive than the other.
If you take the easier first path and begin watching a tutorial on YouTube, you’ll come to know the fundamentals of API development workflow in FastAPI — how to write endpoints, how to do add query and body payloads to endpoints, how to write pydantic models and so on. But when you do start writing an actual API, you’ll quickly find that you have to consult the tutorial, the documentation, and StackOverflow (yet again!) multiple times.
This is because insofar, your learning process has been more about entertainment than instruction.
Now, consider taking the harder, slower path to learning the skill: you start up a new project, fire up Postman, and start writing a CRUD app. Does that sound a little more exciting? It’s because it is! You’ll find yourself referring to the same documentation and doing frequent StackOverflow searches, but this time, you’ll actually relate them to specific parts of the app that you’re building. You’ll find different ways to do the same things and encounter strange errors that you’ll also have to solve yourself.
At the end, you’ll have learnt much more from this slower path than you’ve done with the quicker, tutorial path. I call this the Build and Conquer approach. This is not to say that tutorials serve no purpose, they do.
But you will never truly learn a skill for life by watching a tutorial, because if you did, all academics will be great at business and all businessmen will be great at teaching. You’ll have successfully resolved the centuries old game of tug-of-ego between the academics and the businessmen. But the reality is that most academics have never truly built and run a business and still claim to know a great deal about running a business, and most businessmen can’t teach properly regardless of their practical skills in running a business.
Thus, learning is a game of balance where you have to balance theory with practise and in tech, I estimate, more of the latter is always better.
I also write on Twitter.
Share this article with a friend: