As a developer (beginner to be more specific), you've often been advised by professional devs to always practice and keep practicing as this would increase your potentials and understanding of that particular field or language.
The truth is, they are right.
This also applies to almost (if not all) fields in life generally.
Practice makes perfect
They would most times advice you to build things too.
I wouldn't want to ignore the fact that people have different learning approaches. Personally, I used to love video tutorials compared to reading articles.
Articles to me were always boring, although currently, I'm more around articles than videos.
Nonetheless, the more you practice (by whichever method you learn), the more you are faced with the project at hand. The more you are faced with bugs 🤗.
When beginners hear 'practice and build', they tend to think it's all about building large projects. But no, it isn't.
Yes, it involves building big projects, but even little projects could be practiced.
Calculator app, to-do-list app, stopwatch app and so on, they could be practiced too. It doesn't matter if such apps have been created already, the purpose of practicing and building is to be efficient in that particular language.
They also improve problem-solving skills as you are practically faced with the project at hand.
Once efficiency is achieved to a level, you can start pushing towards bigger projects or even, projects that aren't existing already.
Let me share a little story with you 🙂
After this story, I promise to share the tips 😉
Currently, I am learning ReactJS. Though I read articles alongside, I have been following a udemy course - React - The Complete Guide (incl Hooks, React Router, Redux)
He continued with an introduction to React, folder structure, components and so much more.
The course also contained a project which was a good implementation of React - A burger builder app. You could check my version of the project - deee-burger-app.
While following along the project,
He shared archived files of his source codes, for cases where the student didn't get the result he was getting. The student could just easily copy his codes and get their application to work exactly.
I also encountered issues where my application was logging several strange errors to the console and it wasn't doing what I wanted. At those times, I ensured my app got to do what I wanted by continuous playback of his videos.
The app was built from scratch, hence, my understanding kept increasing along the way. Most of the time, when he wants to add functionality to the app, I'd pause the video then challenge myself to achieve the target without watching. My rate of success was poor at first, but it kept increasing and increasing.
Yes, he didn't see them. He came across a few errors that he was able to fix. But, how would I tell this lecturer to help me out with the errors I was getting 🤷?? This forced me to carry out research, read many articles just to get the error fixed.
Now, imagine what I was able to learn while making those research 🤔. If I had copied his source code, I wouldn't have gotten any errors.
Added to the fact that I would try to achieve a function before watching his videos, I would use another approach towards achieving the same goals.
Yes, I was guided by the tutorials, it's not a project I could say I did on my own, but I practiced a lot. I didn't just get my app to work, I tried different methods and understood how it was working, how the props were passed and all that.
Sorry, some terms may sound strange if you are not familiar with React 🙁
While following a tutorial (article or video with resources), ensure to type the codes yourself. From my story, you'll see that you get to fight bugs. It may at some point be discouraging, it will always be, but when you are able to attain victory over the bugs, there'll be so much more you have learned already.
Try out different methods in achieving the same results while watching tutorials. This way, you are but only getting better at that language. Where the teacher users classes, use functions. Where he uses, loops, use recursive functions.
It may not be large applications, start with small ones. It may have been built already, build it again. Keep Building. IMPROVE YOURSELF.
Devs nowadays have issues finding project ideas which further discourages their learning but like I said, go online, find out already-made projects and build your own. The more you build, new ideas begin to arise.
Battle with friends, try out online challenges, they help build you.
Examples of online challenge platforms you could try out - Codewars: Train with Programming Challenges/Kata, HackerRank, etc. You could check more of them them online.
Yes, you're also practicing this way. On a particular concept, say 'DOM Manipulation', go through different articles until a good understanding is obtained.
Yes, ensure you are. Don't just read articles, or watch videos, ensure you are practicing.
Personally, when reading articles, I do open a new tab in my browser, pull up the console and practice along.
There's a whole lot of potentials you possess, don't just wish for more, start manifesting them.
Check out this Florin-Pop's Post for project ideas to level up your skills.
You've read it all. Now explore 🚀
Kindly share useful tips in the comments 😇