DEV Community

Cover image for 5 tips for beginners to learn better & stay motivated

5 tips for beginners to learn better & stay motivated

Arpit Mohan on September 05, 2019

Recently I met my college friend Aditya Rao. I've known him for more than a decade and always thought of him as a business & marketing leader. ...
Collapse
 
emert117 profile image
Emre MERT

6 . Learn one thing at a time. Don't try to learn 2-3 different things at the same time.

Collapse
 
pamprog profile image
PamProg

Unless it's about Javascript framework...in that case you need to know about node, webpack, npm (still node, but more specific), and then your framework like Angular or React (so maybe TypeScript too !), and maybe RxJs too, and the librairies you'll use like ChartJs, Moment, Lodash...

Okay, i'm just kidding but I think learning 2 different things that are linked together can be more useful and relevant that mastering one, then the other :)

Collapse
 
carloswosiak profile image
Carlos Wosiak

True, I tried learn webpack before angular and wasn't able to figure out why I would need to use some of its tools. But after I have played around with angular I was able to understand more precisely how could I use it properly.

Collapse
 
keeran_raaj profile image
Raj Kiran Chaudhary

"but I think learning 2 different things that are linked together can be more useful and relevant that mastering one... " yeah......i totally agree this. Learning two things which are related, has helped me a lot. The thing which I could not understand from one, learning same thing from another related thing helped me to learn that thing easily.

Collapse
 
tkdmzq profile image
TKDMzq

Went from python baby steps to js baby steps. That webpack, npm, node versions, eslint setup, formater, basic unit tests, asynchronus code it was just blind skiing in forest trying to not hit a tree or moose.

Collapse
 
mohanarpit profile image
Arpit Mohan

This is a good one!

I'm definitely guilty of trying to learn multiple things or working on multiple projects at the same time. Focusing on a single thing/problem definitely does help make progress faster.

Collapse
 
davidmm1707 profile image
David MM👨🏻‍💻

I have learnt this lesson too late.

Collapse
 
xtrasmal profile image
Xander

I would say "focus on the problem in front of you". You might need to learn 20 things to solve that problem.

Collapse
 
shakenbeer profile image
Sviatoslav Melnychenko
  1. Probably programming is not for you. There is one simple test - take CS50 from Harvard. If you can beat, hm..., 5 weeks of 7, you can be a software developer. Actually, they are starting right now: cs50.harvard.edu/college/weeks/0/ If you can't do this - please, don't produce another shitty monkey-coder we have to clean after.
Collapse
 
mohanarpit profile image
Arpit Mohan • Edited

I'm sorry, I'm going to heavily disagree with you on this one. This is gatekeeping behaviour.

Everyone has the capacity to learn and become who/what they wish to. Nobody is born with an innate talent to code. We are all learning through this journey.

At one point, even I was a shitty monkey-coder (not much better today) and I'm super thankful to the people/mentors around me who helped clean up my shit. I learned a lot during that process and I hope to pay it forward to the next aspiring coder after me. That's how we progress; as people and as an industry.

Collapse
 
shakenbeer profile image
Sviatoslav Melnychenko

Exactly that's why I'm spending a whole day fixing "small" bug. I believe you faced this: you make a small fix, but then SOMEHOW GOD WHY this touches a place in a project not even related. And then you found deeper and more general mistake, try to fix it, and again it pulls another issue, a snowball is growing and finally hits your face.
What's the result: the customer gets a shitty product, you are frustrated. All this because someone decided he/she could be a software developer.
You did really good job in this post - described how to be motivated and become a better programmer. But we are not living in a perfect world, full of unicorns. That is why I prefer to give practical advice, that everyone could try right now.

Thread Thread
 
mohanarpit profile image
Arpit Mohan

I agree I've been in a similar situation. More often than not, I've caused this situation to arise. But there's a big difference between telling someone "They shouldn't be in this profession" v/s "Here's how you can do better in this profession".

We aren't living in a world of unicorns and we should find better ways to imparting this knowledge. Everyone stumbles when they learn to walk. Imagine if your parent told you that you weren't cut out to walk instead of helping you improve your gait and make your legs stronger.

Thread Thread
 
shakenbeer profile image
Sviatoslav Melnychenko

It's already too late to tell someone who's messing with a real project "You shouldn't be in this profession". I wish, but I'm realist. That's why I've added number to my advice - #0 (see my first comment, I have no idea why it starts with "1.", in the editor I see "0.". Some bug, probably.). I just want to prevent appearing of new "stackoverflow-developers".

And if we are playing in crazy comparisons, imagine the doctor, that keep failing in diagnosis, but keeps trying because keep hearing, how he/she can become better in his profession.

Thread Thread
 
mohanarpit profile image
Arpit Mohan

That's literally how Med School works. :)

Thread Thread
 
shakenbeer profile image
Sviatoslav Melnychenko

School - maybe, but not a hospital. Such a doctor would be fired in a blick.

Collapse
 
ad0791 profile image
Alexandro Disla

I am currently following an online Bootcamp (software engineering) and a bunch of related course in a complement of the program. I just wanna be the best. I am 28 years old. I studied applied economy. I have a pretty good statistical background. I will probably learn data science after who knows. Anyway thank you, I will do my best. It's just madness the country that I am living right now, but I will get it done.

Collapse
 
mohanarpit profile image
Arpit Mohan

It's great that you are learning to code. Wish you all the best for your journey!

Collapse
 
chrisachard profile image
Chris Achard

Great points.

When I've taught people how to code in the past, I definitely found that people get in their own way a lot. They try to "just power through problems" (instead of googling), they get super overwhelmed at the entire problem (instead of going one step at a time), and they work on problems that aren't useful or interesting to them.

So these points hit all of those really well - and it's really important message for anyone learning how to code. Thanks for the post!

Collapse
 
mohanarpit profile image
Arpit Mohan

Good mentors like you make a huge difference in separating the wheat from the chaff for beginners. They don't know what's important to solve and what's not. And not seeing progress for a considerable time can become de-motivating.

Collapse
 
cvanpoelje profile image
cvanpoelje

Focus is key, without it coding is a real struggle. Since I been diagnosed with ADD I have been more aware of what the struggle is about. Most is about Self Reflection. Realizing what it is you are doing wrong. Asking the right questions.

Get to know yourself in these situations, step away from the screen when you notice it and it isn't productive. Reflect and most times you know what it is you are not doing right.

Collapse
 
mohanarpit profile image
Arpit Mohan

I agree, focus is critical; especially while learning something brand new. Since, I'm always interested in multiple things, drawing up a "calendar of learning" has helped quieten that curious devil inside me. It's a useful way of telling my brain to not feel the FOMO as we'll get to the new thing in 2 weeks from now.

And thanks for bringing up non-screen time! Most good ideas come in the shower. :)

Collapse
 
karmacode00 profile image
Andrea Lafertte

Great advice!

I would add to focus on one or maybe two thing, if you are following a bootcamp then throw all your free time and energy in it, if you are learning your own way then try to focus on one site or tutorial, there's just too much around internet (sites, bootcamps, tutorials, etc).

Collapse
 
mohanarpit profile image
Arpit Mohan

That's absolutely correct!

A generic version of your observation is that if you have access to active guidance/mentorship, it's OK to explore. The guide/mentor will help you sharpen your focus and get you unstuck.

When striking out solo, it's best to follow a narrow path lest you get lost in the forest of programming and it's idiosyncrasies.

Collapse
 
vyckes profile image
Kevin Pennekamp

I like your points! But I would change the last one a bit. Instead of something useful, make something meaningful for yourself. Usefulness of tools you create as a beginner is often lost quickly. Or it becomes a necessity to change your tool to keep it useful. Go for something meaningful (when something is useful, it is often also meaningful) Instead. A own website is not always useful, but can be meaningful for yourself.

Collapse
 
mohanarpit profile image
Arpit Mohan

I agree. Especially with the personal website.

Most of my initial knowledge about HTML & CSS was derived from building personal websites for myself. In high school, it underwent radical changes every week! The more I found out about img tags and gifs, the more 90s design was put in. :D Definitely a meaningful project for me.

Collapse
 
z2lai profile image
z2lai • Edited

I struggled hard with #5. They say the best way to learn coding is by building something. So I figured, I might as well build something useful while I'm learning instead of another calculator.

Deciding on an idea of what to build takes me a while. And when I start building it, I either realize how useless the idea is or that it's impossible to build as a beginner. Some people just don't have great ideas and that really held me back. Coding is about figuring out how to solve problems, but if you don't know what those problems are in the first place then where do you start?

I think the solution here is to just choose a website like Facebook or Amazon and try to build it. You'll still need to find a course or tutorial that will teach you how to start. Copy another web app or two and maybe you'll start to come up with your own ideas.

Collapse
 
gamergirlsradio profile image
Mesh Making Machines - GamerGirlsRadio

Kids don't think how a lego block gets made, what is the material used or what its tensile strength is. <<< This is my favorite part of the entire article and it really spoke to me, being a mom. Seeing things as a kid would is sometimes the most helpful thing to me. Great article!’


Collapse
 
xtrasmal profile image
Xander • Edited

-- Learn agnostic things

ReactJS, Laravel, Symfony, Angular, Spring, TypeScript, Redux, Gulp, Webpack etc etc are just logo's.
They will disappear. None of it will matter in years. I've been through a list of 60+ logo's in the last 15 years. Most of them do not matter anymore.

A developer's life may take up to 45 years, so learn things that can be applied in future frameworks and all programming languages.

-- Learning is something you do, for you

Your boss might want you to work in Macromedia Shockwave for internal programs for the next 20 years. It is up to you to explore the landscape and see if there better things to learn.

-- You will never stop learning

And you will never rest before you understand the problem that you are trying to solve. You need to learn about business and systems. When the going get's tough, the tough get going.

-- Tips won't help you get motivated

Motivation in this profession comes from an deep feeling of wanting to explore and try-out many things. You can not help it to find something that is a great sollution for your current problem. That stuff makes you come out of bed in the morning and will keep you motivated through you working life.

-- Motivation comes and goes

There are many times that you are doing other things, like holidays or having a good time offline. This will make sure that you stay fresh and motivated. Life is what happens offline.

Collapse
 
keeran_raaj profile image
Raj Kiran Chaudhary

Its been almost eight months coding. Before that, I was a teacher but always wanted to learn coding. Then I quit my job, started learning coding and here I am. At first, it was frustrating but my passion to learn coding kept me inspiring. And I am happy with what I am now...

Collapse
 
isajal07 profile image
Sajal Shrestha

And along the way doing some side projects might also keep us motivated and get our hands dirty with the new technologies.

Collapse
 
mohanarpit profile image
Arpit Mohan

That's the whole point! Side projects is how we all learn anything new.

I would be suspicious of a programmer who's Github profile is not a graveyard of un-finished projects. He/she is a psychopath or not trying enough new things. :)

Collapse
 
shakenbeer profile image
Sviatoslav Melnychenko

Maybe you don't have what it takes to express your thoughts?

Collapse
 
candidodmv profile image
Vinicius Dutra

I highly agree with the item 5