DEV Community

Kingsley Aguchibe
Kingsley Aguchibe

Posted on

Motivation to learn computer programming

Hi you there! How is it going? Tough? Yeah,it should be tough because programming is not for kids. No! I’m really sorry for saying that. Anybody can program. But if you’re not tough on your own to face the challenges… You know what? Let’s just forget about this stupid intro and dive right into the main business of the day. Shall we?

Alright, we’re here. Hey, in order for you to understand my point of view, you need to enter into my world for some minutes.

Let me just shift a little for you to enter into my world. With the snap of a finger, there you go…

You saw cool stuff that people are doing with codes. You too want to do cool stuff right? But the learning part is not moving smoothly. You constantly learn and you constantly forget as much as what you’ve learned. What a waste of time spent on tutorials?

Welcome to my world!

You heard that React is awesome, that you can do amazing things with it. You even heard that you can use it to build mobile apps. Wow! But then you want to learn it and the prerequisite is that you know HTML CSS and basic JavaScript. Those are pieces of cakes. And then you jumped into react. Holy cat! It is harder than you expected - “you don’t mutate states directly”, “you use props to pass data from parent to child”, “components’ life-cycle” … It seems like you’re not ready for all these.

Welcome to my world!

You decided to try other frameworks. Now you’re asking: “Which framework should I learn, react, vue or angular? And then, the guy from the other end was telling you “All the frameworks are good. React is awesome but you should go for vue if you’re a beginner. Angular is used by big companies. So if your plan is to get a job at a big company, you should go for angular”.

“Go for vue if you’re a beginner”. You’re a beginner, aren’t you? You decided to go for the vue. This time no more backing down, head-on encounter!

“v-key, v-on, v-bind: two way data binding”. No! How did you do that? Is that a magic? You just got tricked. Your eyes wide open - how does that happen?

Welcome to my world!

New version of create-react-app. Hey! Introducing Typescript to react. No! Why is everything in the JavaScript world changes so rapidly? You got tired and sick of everything. You decided to go for another language. Oh! You just saw from YouTube the other day that python is growing at a very fast rate. It might even become more popular than JavaScript in the next five years.

You’re going for python. Like, for real! You went there, and then you discovered that indentation could make you stay up all night trying to solve a bug that doesn’t even exist. What’s going on here? Hey, which python framework are you working with? Django or Flask? Now you feel like giving up on programming, don’t you?

Welcome to my world!

Okay. Enough of that. Now you can get off my world. My world where everything is scattered. I bet you didn’t understand everything while you were in my world. Did you?

How about going into other peoples’ world? People that think they can hack NASA using HTML

People that spend lots of time on tutorials. Though they might not have a project to put what they’ve learned from the tutorials into.

People that always ask which framework or library to learn first.

People that ask “I’ve learned HTML and CSS, what should I learn next?”

People with some other challenges. People that enjoy learning and tutorials more than getting their hands dirty with codes.

Do you know why these happen?
Because there are almost no bug-fixing in tutorials
Because learners would just sit down and consume a well prepared course - no errors, no challenges, just sit and consume.
Because people don’t want to suffer. Everybody wants quick results.
Because people waits on motivation before they can do programming stuff.
What should we do to solve these problems?
After going through those things (those things you saw while in my world), I’ve come to a realization that one of the best ways to learn is to actually do stuff. When you fix a bug, it would be hard for you to forget that concept again. Seriously. So, I encourage you to work on a project, you might think that you’re not ready yet. But your readiness is determined only when you start coding and asking for help. You can’t believe how ready you were since!

We should not do too much tutorials - trying to learn this framework or the other. Learning the core language makes everything easier. That means we should go back to learn the core language.

On the issue of people not wanting to suffer, it is seriously dealing with us. Not only in the tech world, but also in most areas of life. We like rewards. Sometimes we even reward ourselves for doing absolute nothing. Faping is an example of this These kinds of rewards are bad. Hey, don’t get me wrong. I’m not going against the principle of “smart work is better than hard work”. You’re a programmer. I trust you understand where I’m heading for. Work smart and hard, then expect your reward. Don’t jump into abstractions(frameworks and libraries) if you’re not good enough with the core language.

Everybody else will always tell you this. So, this is the time for you to put it into use.

Finally, don’t wait to get motivated before you can do some coding. Motivations are like emotions, they are never stable. They come and go as they wish. So, don’t wait. Get some work done.

And remember, most of the things that are worth doing are not always enjoyable.

Hey you there! I hope you enjoyed the session. If you did, check out my book on Habit vs Self-Discipline: Life-Changing Evaluation of the Conflict that Defines Us. It’s fun and educating. Thank you and good luck.

Latest comments (4)

Collapse
 
mikkel250 profile image
mikkel250 • Edited

Thanks for posting! "Your world" describes my experience perfectly so far (after learning a lot of Ruby, I've forgotten most of the css and JavaScript I learned last year! Argh!). I eventually came to the same conclusion... Just practice building stuff over and over until you don't have to look everything up. 👊

Collapse
 
codnificent profile image
Kingsley Aguchibe

Yeah. That's what I'm doing. It helps a lot!

Collapse
 
deuxperspective profile image
Rich

Well said, Kingsley. I've gone through the tutorial phases a few times and not much information is retained until I tried building something myself.

Collapse
 
codnificent profile image
Kingsley Aguchibe

Nice to hear. I hope the learning is more enjoyable now that you build stuff?