7 Tips on Learning How to Code Faster
Introduction
Since I got started coding only 2 weeks and a half ago, I've been obsessed with making sure that I'm learning things right and as efficiently as possible. I want to maximize my learning curve as much as I can at this point.
To be honest, I don't really like when a person "pretends" to be an expert by giving tips. In my case, you can be confident that those tips are not from me...they are simply a compilation of what I found most helpful so far.
1. Start with Why
He who has a why to live can bear almost any how. - Frederic Nietzche
We are goal-oriented beings. Without an aim, we simply don't find the mental fortitude to go through the hours and hours of debugging...trying to figure out what's wrong with our simple code.
For quite a bit of time, we don't necessarily see the point of what we are learning. But for those of us that know their WHY, it is much easier to pull it off.
2. Set a Learning Plan - Begin With the End in Mind
With all the choices out there, it's easy to get lost and confused about what language to learn. It can become much clearer once you begin with the end in mind and work backward from there.
Once you have that you won't get distracted by people telling you should learn javascript when you are learning to write python or java. You'll know WHY you are learning java and why you shouldn't learn something else.
That plan should not just include classes, but also books, websites & podcasts. For me who want to become a front-end developer, this medium post was especially helpful => My journey to becoming a web developer from scratch without a CS degree (and what I learned from it)
Check it out if you have a similar goal than me.
3. Learn by Doing
Practice, practice, practice. That's the only way I can ever imagine the number of concepts and syntax I've learned so far...and yet, I have so much more to learn!
It's all good to write a textbook or watch a video on how to code. But if we don't immediately start implementing what we've just learned, we are bound to forget that stuff.
Right now, I'm working on a to-do list app. It's been challenging to say the least but at least, I'm getting a lot of practice with the basic concepts that I've learned so far such as loops, arrays and functions...and that's what matters at this point.
4. Code by Hand
I tried this for the first time yesterday and it was an amazing exercise. Trying to figure out a problem from a to z with only pen and paper was challenging but now that I did it, I feel like it was a great way to dig deep in my brain and make sure I will remember what I've learned. (I did the to-do list on paper first before bringing it on the computer)
Try it out, it's pretty cool.
5. Don't Use Copy / Paste
Typing code can be exhausting sometimes and it gets repetitive. It is tempting to copy/paste the basics of an HTML file for the nth time rather than typing it by hand.
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
</body>
<html>
But by doing it again and again, it drills the syntax into your brain so that you retain it better and also understand the syntax better and better.
6. Master the Fundamentals
I see a lot of people telling me that I should jump on a framework(react.js for example) and start getting stuff done as soon as possible. But what I am getting from a lot of great coders is the emphasis on learning the fundamentals and mastering them. Once that is done, it will be easy for me to understand better how and why frameworks works (react.js, angular,js, etc). I never want to be a prisoner of a framework and having to relearn everything when react.js is not cool anymore.
I intend to have a continued education in Javascript for years to come by reading books such as Eloquent Javascript or You Don't Know JS when I'm done with the basics and starting to learn frameworks.
7. Get Help!
This one I haven't actually implemented. I know that there are many meetup groups where people hangout and code together. There are online forums, stackoverflow.com and many more places where we can interact with one another to get better. A mentor or working side by side with an experienced coder would definitely help me at this point.
Conclusion
Would it be nice to have a group of steem devs and aspiring ones working together and chatting? Anyway, feel free to share your tips if you are already a dev and correct me if some of my assumptions are wrong.
Photo by Martin Shreder on Unsplasht
@cryptoctopus,
You are 100% correct! Being a coder or a developer will not happen in a single day! People can only see UI or interface and they only want to "Click" buttons! But behind that buttons there are a lot of functions, methods, classes and etc! No one cares about them, but only developer cares!
What you shared as 7 steps, I really like and I think I want to follow them also. End result must be the genuine developer! Great work friend! Keep it up!
Cheers~
You're right, start with a firm grasp of the fundamentals. Don't ever become a prisoner of one specific form of feature. Let the tools work for you, never the other way around.
A salute to all the coders in the world because they gave courage the new meanings :)
Learning curve is best when you applied what you learn. It is not only for being a coder, but this rule is one of the most important one in life is to know your "WHY". Tnx for sharing your insights.
These tips are mostly transferable to almost anything you attempt to do. Although the hand coding is an exception ;)
The first point is really important, because your "why" is your motivator, and must be bigger than any obstacle or frustration you may face.
Regular hacking away at code is the best way to learn. Unless you actually implement what you study it won't cement in your brain. When I began mirc script years ago I regularly worked on scripts with a pen and notebook while at work. This combined with later typing in what I had pen coded earlier really helped me.
I have found that having a mentor is a big help.
Another thing that has always helped me is a simple maxim:
Read code, not books.
The code others have written is often the most effective teacher. Tutorials and books teach concepts and that is important. Another coders work teaches you how someone else solved a complex problem and that is often invaluable.
Thanks for the post.
Keep Steeming!
Finally I was looking forward to you showing us the baby steps and real steps towards coding . I’m still part of the baby steps but I’m learning from different sources. The most difficult part for me is the language which really confuses me and I think youtube has helped me a lot in that too. I’m better at when I see things done than read it
@cryptoctopus
I'm not a dev but i can tell say I have been equipped a little from this post.
I have to practice practice and practice by hand not by copy/paste.
Practice makes perfect, if we keep practice while looking at the end not the beginning we gonna have a nice time learning.
Yes - having the core fundamentals will help you when things get frustrating. I think having a community which you mentioned in a prior post is important as well. Motivation is the only way to learn this stuff.
Noted about the copy/paste coding style. I foresee that this will be a pitfall for me as i will start the Bootcamp. Thanks for reminding me sire! :D
If i need some help, i will contact you asap. :)