Practicality: The Key to Learning New Languages
With the rapid development of programming, everyone is focused on becoming the fastest learner. So what’s the correct approach to learning? Being practical.
Being practical means to practice what you’re learning, to learn by doing.
Say you want to learn how to cook. Being practical isn’t looking up videos on YouTube on how to cook or reading some chef’s recipe book. No, it’s when you cook.
Why is this a good method of learning? You’ll learn things at a faster rate. This is because when you do something over and over again, your brain will get used to it, you’ll remember the steps, you’ll understand the reasons for the bugs, etc.
How can you learn to do something without doing it? Great speakers practice their speeches countless times; they don’t just read a book on it. There are a lot of holes in our knowledge, and the way to find a hole and repair it is by doing. Thus, the process of learning becomes faster as we know what the mistakes are and can overcome them.
Applying Practicality as a Developer
When you are learning programming, don’t just watch a tutorial while drinking a cup of coffee. Do it. Open up the notepad, and start typing what you learned.
And the most crucial thing under the scope of practicality is having a goal. Like, why are you learning Python? To create apps? Or games?
When you have specific goals in learning a programming language, it becomes easier for you to learn it in a practical way because now you know why you’re learning the language—for example, learning Python to build an app. You’ll put your mind to learning what you need to build that thing.
And the nicest thing about this is, you won’t get frustrated. This is because you’ll know why you’re learning the language and how to apply it. Many programmers have been through thousands of tutorials, and they’ve learned programming really well, but in the end, they don’t know how to apply it to create a product, even though they’ve stored a lot of information in their minds. They’ll become very disappointed that they aren’t able to see the result of their effort. So it becomes a waste of those thousands of hours spent overworking themselves.
Being specific is also the key to learning practically. Know that you don’t need to dive into all the languages, just the one you need.
The formula is learn X to get Y. So the main focus is on how to get Y, not on how much knowledge you can gain without knowing what it’s for. Know what you want and you’ll get it. What’s the point of going through something if you don’t have any reason to?
So now, whatever you’ve learned, put it to work. Build more projects with what you know, even the simplest things, because it’s useless if you don’t put it to work.
Someone who has little knowledge but uses it to the fullest extent is wiser than someone who has a lot but doesn’t use it. After all, he’s almost the same as someone who doesn’t have any knowledge.
Produce Output to Find Success
One of the concepts that has been playing in my mind is the concept of input process output (IPO).
There should be balance in this concept. Right now, programmers are not giving enough focus to their output. We love to see others’ projects but never try to create our own. Even if we do create, it’s not at the same volume as what we’ve learnt. It’s weird to think that we receive a lot of input but produce no output. The output should at least be on par with the input, if not more.
If you want to become successful, produce output. Produce results. People won’t see your hard work, but they’ll surely see what you created. So you have to work hard when producing output. That’s because it isn’t easy to produce something, but it is worth the work.
When you eat food, that’s the input. The output is when you use the energy to work. But what happens if you don’t exercise? You get fat. You get obese. And that means it’s unhealthy to just receive input without producing output.
The same goes when you don’t code practically. You’ll find difficulties in learning the language, and your mind will get full, stuck, and also overburdened because it only stores information without giving it back.
Anything that you’ve learned, give it back to the world. Add value to the world. And if you want to get rewarded, you better start producing more output.
So what’s the connection between output and practicality? When you become practical, you are actually producing output. So, the effects of not giving output is like what has been stated above, and to be successful is to become practical.
The Advantages of Being a Practical Programmer
Say you are applying for a job, and you know that it’s in your field, and you know how to do the job. How would that company know that you have the skill if you don’t show them what you can do?
The more you produce, the easier it becomes for you to show them that you have the skills for the job. Then they will really know how knowledgeable you are.
If you haven’t produced any apps or projects, you’d be competing with other programmers for the same job, and you wouldn’t have the upper hand. There are tons of zombie programmers out there searching for jobs, so if you don’t get out of your sleep mode, which means not doing anything to demonstrate your knowledge, you’ll be the same as they are. Then the company wouldn’t be paying attention to you. You have a degree, which they also have. But if you’ve created a project, then … boom! You’ll be very special compared to them.
Another thing, when you produce more output from what you’re learning, you’ll get a better grasp of it because you’ve explored it yourself. And trust me, while building a project, you’ll meet with a lot of disappointing failures. But that’s what teaches you. That gives you a deeper understanding of what is possible and what is not.
Like how Thomas Edison invented the lightbulb—through a thousand failures of experimenting, he succeeded. The experimentation is what I’d call output. If he hadn’t experimented on the light bulb, nothing new would have come of it.
Knowledge is meant to be applied, and programming is the same. The end goal is to be able to create something with the language, not to know the language just for it to be stored inside your brain. Being practical in programming will make you see the end goal and make you create products that nonpractical programmers can’t.
How Can You Become Practical?
1. Play With What You’ve Learned
Playing means experimenting. Say you learned how to create a looping square with a Python turtle. So now how about trying to build a pentagon with loops, and then build an octagon with loops. Then you add what you’ve learned before about adding colors, and put them in. Then you share it on your Facebook page or, even better, your blog.
2. Build a Blog and Share What You’ve Learned
Creating a blog is a good step toward becoming a successful developer. People in the same field will start recognizing you. On the blog, you could share your experiments and what you did with the language, or what went wrong and how you found the bug.
3. Make a YouTube Channel
You can make tutorials on how to learn or your thoughts on the language and what it’s used for. This will not just improve your understanding, it will also enhance your speaking and communication skills. This serves as proof to your future employer that you have good soft skills and are highly qualified for the job.
4. Build a Project
This is one of my favorite parts. Build projects that can help others achieve what they want. All the apps that are in Google Play are examples of others’ projects. You could make one, too.
Apply Your Knowledge
It all comes down to applying what you have learned, as the logic is you won’t get adept at doing something unless you do it.
Write code yourself when you learn a new language, have a specific project that you want to create, and explore the language so you know its real power.
This is really important, as the goal for learning the language is to be able to use it practically, not just as additional knowledge that only you possess and cannot demonstrate.