Hey guys,

Now this is the first post I’ll be doing under the advice categories, but don’t worry the I’m Stuck!!! SERIES isn’t over yet, so stay tuned.

It’d be very important for me to tell you one of the most important things that you need to know on my first post. And so that you won’t be wasting your time programming the wrong way. And that first advice is BE PRACTICAL.

You know what practical means? It means to do the exact same thing that you’re learning. And you’re learning by DOING IT. Say you want to learn how to cook, so practical is when you cook, not when you look up the videos on youtube on how to cook or when you read some’s chef recipe book. NO, not that, its when you cook.

Now the exact same thing should be applied 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? Then at that time when you have specific goals of why are you learning a language, it becomes easier for you to learn that programming language, it becomes easier for you to become practical, cause now you know that you’re learning this language for that something you wanna build. In this case learning python to build an app. And you are just gonna stick your mind to the knowledge that you need to build that thing. And the nicest thing about this is, YOU DON’T GET FRUSTRATED. Many programmers have been through a hundreds of tutorials and they’ve learnt it crazily, but at the end they don’t know how to apply it, even though inside their minds they’ve stored a lot of information. So it becomes a waste of those thousands of hours overworking themselves. Know that you don’t need to dive into all that languages, but you need to ONLY TAKE WHAT YOU NEED. Being specific is also the key to become practical.

The formula is learn X to get Y. So the main focus is on how to get Y. So it’s about getting Y done. Not on how much knowledge you have, but you don’t know what it’s for. Know what you want and you’ll get it. What’s the point of going through something but you don’t have any reason for doing that thing? So now whatever that you’ve learnt, 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 that 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 that doesn’t have any knowledge.

One of the concepts that has been playing in my mind is the concept of IPO. Which means Input Process Output. I think there should be balance in this concept. Right now we are not giving enough focus to the output. It’s amazingly weird to think that we receive a lot of input but produce no output. The output should at least be at par with the input if not more. This is under the thought of what is to happen if people just input knowledge and not produce output. Right now the world and its modernity is the effect of the output people produced. If they didn’t produce any output, that would make the world the same like how it was a hundred years ago. Now based on this thought, people who don’t produce output aren’t successful people. They haven’t left anything good for the world. They just took what others left them with and didn’t make any effort to improvise what was there. If no one produced any output, that would be a real waste. If you want to become successful, produce output. Leave more results. People won’t see your hard work, but they’ll surely see what you outputted. So you have to work hard when producing output. Because it isn’t easy to produce something, but it is worth the work.

If you see it in another point of view, people who don’t produce any output are really sick people. An analogy that I find really interesting is when you eat food. That’s the input. Then it’s processed. And 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. It’s not learning. Output is part of the learning process. You have to give impact, produce more good, so that others find it beneficial. When there’s more good, the world becomes a better place. Likewise when you exercise, your body becomes stronger, and when you produce output of what you’ve learnt, your mind becomes smarter. You can think of how important it is to give output by looking at the plants. They receive sunlight for photosynthesis and then it’s processed and then it gives out oxygen for us to breathe. What would happen if they didn’t give out oxygen? Then we would’ve died. So anything that you’ve learnt, give it back to the world. Add value to the world. And if you want to get rewarded, you better start on producing more output.

Say, if you want to get a work and you know that it’s your field and you know how to do the job. But how would that company know that you’ve get the skill if you don’t show them what you can do? That’s why you have interviews, but the more you produce, the easier it becomes for you to get the job. Then they would really know how knowledgeable you are. But if you don’t have any apps or projects out there, that’d mean you’d be competing with other programmers for the same job and you won’t have the upper hand. So the chances that you’ll be getting the job is close to 0.1%. There are a tons of zombie programmers out there searching for job, so if you don’t get out of your sleep mode you’ll be the same as them. Then the company wouldn’t be paying more attention at you, cause you’re the same. You have a degree, and 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 of what you’re learning, you’ll get a better grasp of it. Cause you’ve explored it yourself, and trust me while building project, you’ll meet a lot of disappointing failures. Oh man…But that’s what teaches you more of that thing. That gives you a deeper understanding of what is possible and what is not. Like how Thomas Edison invented the lamp..You know… Through that thousand failures of experimenting he succeeded. The experimenting is what I’d call OUTPUT. If he didn’t experiment on inventing a lamp, nothing new would come out. No lamp will be used until today. The central thought is when you don’t output something, nothing new comes out of it..The world’s still the same, no matter how many hours you put on inputting knowledge. So that is the importance of giving output.

Now onto HOW CAN YOU BECOME PRACTICAL?

1. Play with what you’ve learnt. 

Playing means experimenting. Say you learnt how to create a looping square with python turtle. So now how about you try and build a pentagon with loops, then build an octagon with loops. Then you add what you’ve learnt before on adding colors and put them in. Then you share it on your wall or facebook page. OR better if you have a blog.

2. Build a blog and share what you’ve learnt.

It’s what I am doing now. You share your experiments or what you didn’t know was wrong to do with the language. Or in the midst of your project, what went wrong and how did you solve the problem.

3. Make a youtube channel

You put in tutorials in it on how to learn…or your thoughts on the language.. What it’s used for..

4. Build a project

One of the most fun part that I love doing. You build projects that can help others achieve what they want. All the apps that’s in the google play are the examples of others’ projects. You could make one too.

That is all.

If you find this beneficial, share it with others. It’s also a form of output.

You do know that I spent a lot of time writing this post right? So you could take all that hard work if you read this post and share it with others. Its also a part of becoming someone practical..

Posts on Monday and Thursday.

Any inquiries, mail me at imdad@zeroprogrammer.com