Learning to code? Great! It will prove to be one of the best decisions of your life. However, there are some things that you need to keep in mind to learn coding efficiently. You surely wouldn't want your learning history to be like this:
Learned coding for 3 months
Took a 12-month break from coding because of some obstacles
You are likely to expect a consistent learning approach from yourself. To achieve this, you need to take care of some things that will help you become a better coder. Here are the things that you need to be careful about:
The word "basic" sounds so basic, but it's not! You are probably thinking, "What on earth is this guy talking about?" So let's look into this!
When you start learning a new programming language, framework or library, you will generally notice that the tutorial or documentation you are referencing is divided into two parts: basic and advanced. Most of us (most likely all of us) know that the basic part is the foundation on which the advanced stuff is built. That's a simple notion, right?
But magically, a lot of people seem to move on to the advanced section after completing only 50%-60% of the basics. This behaviour not only prevents them from having a firm grasp on the fundamentals, but it also limits their understanding of more advanced concepts.
Hence, the better (actually the best) way to learn a new thing is to thoroughly understand the basics before moving on to the advanced sections. Mastering the basics really helps you implement the foundational concepts properly in order to learn the next-tier stuff.
That's why, the meaning of "basic" is not as basic as it sounds. It represents the very foundation upon which your beautiful structure will be built (advanced skills)!
Learn One Language at a Time
Developers: "I can learn multiple things at once! Just keep those things separated! That's it!"
Well... it's not that easy. We work in a better way when we focus on a single thing. It's our nature. Whenever we try to multitask, our concentration gets divided among the tasks we have taken on. When we learn two things at the same time, we can only give them 50% of our attention. This is not at all a good thing, at least according to me! So, what should you do?
Simple! Put 100% focus on a single thing! Try to put all your concentration into learning those important Python concepts. Don't try to code in Java at the same time! It's not ideal. It divides your focus and minimizes your learning.
We talked about learning in an efficient manner. But there's one more principle you should absolutely follow in order to be a good learner. What is it? The following point!
Practice, Practice, Practice!
Practicing is a skill that you should practice!
Okay, let's not make it complex! One of the most essential things in your learning journey is to practice writing code. Take a specific amount of time each day to practice coding. If you do it consistently, you are bound to become a better coder as you become more comfortable with the syntax. It will also help you get into the habit of consistent coding, which is very much a requirement nowadays to work in large tech companies.
A thing to remember here is that you should take breaks. Consistent coding is good! Writing code for 2 hours is good! But it's only good when you take breaks. If you don't, your learning efficiency will slowly start to decrease over time. As a result, the amount of stuff you learn in that time will prove to be a lot less than what you would have learned had you taken breaks in the middle.
That's why, you should take care of yourself and break your 2-hour long coding session into small, 30-minute sessions! It will eventually improve your focus and learning efficiency.
Understand and Apply
Googling is considered a skill nowadays. From my perspective, it's a habit that you should build. Don't feel guilty for not remembering the syntax. Your brain is designed for action, not memorization. Whenever you have a doubt, go to Google and type it out! Google will instantly find you the answer you are looking for.
After you get the answers to your doubts, implement them. It will help you understand many more concepts that seemed vague to you earlier. Understand and apply. Make this process a habit. It will drastically improve your problem-solving skills, which is another thing that tech companies look for.
Watch Less, Build More!
When you watch tutorials, it is normal to get carried away and binge-watch them. However, if you don't put your knowledge into practice, it will be difficult for you to advance. Putting your knowledge into practice allows you to gain a thorough understanding of the concepts. It also improves your logical thinking skills.
Now, it is fine to watch tutorials! You don't watch them, you don't learn them. Hence, watching tutorials is completely fine! But don't get stuck in tutorial hell! Tutorial hell refers to the situation where you just binge-watch tutorials without applying any of your learnings in real life. That's not a good thing to do.
Instead, watch a tutorial and build something. The more you build, the more you learn. When you build something, you put your learning into practice in a logical way, which is one of the best ways to learn something. So, build stuff and have fun!
That's all! These lessons are surely going to improve your coding skills. So, keep these things in mind and dive into the coding world!
Top comments (26)
“Your brain is designed for action, not memorization”. As someone who is still fairly new to coding, this piece of advice is a humbling reminder for me to take it easy on myself. Thanks for writing an insightful post @sriparno08! I’m looking forward to seeing more of your content.
Completely agree, that's a great line!
It's so easy to get hung up on the small details and mistakes when realistically just pushing forward and giving ourselves a break is almost always the better option - best of luck on your coding journey Christine :D
Also unrelated but omg my girlfriend went to SUNY New Paltz! What a coincidence haha
Pleased to hear this, Christine!
i'm wondering about your mention of "build in your real life" : is it kinda project after watching all Tutorial videos of certain Programming language or build every examplified code whenever finish each video?
When you watch a tutorial, you put your learnings into practice by implementing what you have learned in the tutorial. But often, learners tend to complete all the tutorials and then move on to learning another thing without building a real-life project. That is what I'm talking about. When you are done with all the tutorials, combine all your learnings into making a full-fledged project. This will solidify your concepts by a big margin!
oh, nice tip! i almost finish learning c++, so i have to make a project something as well as study CS thx :)
Thanks for this post, I agree with you. Although, sometimes I have to study two or three more things in order to learn them and combine them. That's kind of complicated, but I always keep the basics as the most important thing ;)
Yeah, sometimes we do need to learn multiple things simultaneously. In these situations, it's absolutely fine to go ahead. It's just the fact that some learners seem to get overwhelmed in these cases. So I guess it's better for them to concentrate on one thing at a time.
I completely agree with you! Thanks for sharing your opinion ;) Random question, Do you happen to know where can I start my own blog? Coding it myself and all the tools I need?
Sorry for the random question hahaha! Thanks again.
According to my research, you need to go through a series of tutorials to make a full-fledged blog from scratch as none of them provides all the materials you need. If you want to go the WordPress way, here is a resource for you:
How To Start A Blog In 2023 | The Blog Starter
Sorry but I strongly disagree. If as a developer you always ask Google, StackOverflow or some blog for a solution you will never build the skills to be able to solve problems by yourself.
I have been both: the one that searches for answers on Google and the one that tries to solve the problems using programming language books, framework documentation, etc. I really started improving when I reduced the googling and encouraged a deep understanding through books and official documentation.
I recommend this video by a much morde advanced programmer.
If the problem is syntax: go to the reference book of your programming language and understand why that syntax.
Syntax has a meaning. Once you understand the meaning you won't need to memorize, you will have learnt to express yourself in that specific programming language.
Do you want to improve your problem solving skills?
Then do some katas. There are plenty of websites with katas and coding challenges (here you can use Google if you want). Get feedback from comments or ask other developers for feedback.
Read books about problem solving (here you can use Google too).
To get better at programming you have to be able to solve the problems by yourself and build enough knowledge to have a** critical point of view** about your code.
That's how you build confidence.
I agree. Like you said, 'why that syntax'; one needs to understand the concepts deeply instead of memorizing the syntax. It's just the fact that some learners tend to get overwhelmed when they are asked to remember the syntax as it is a tough job. But they should definitely understand the concepts as it will help them to build a strong foundation. In short, I think it's ok to have a look at the syntax in case you don't remember it. But you should definitely try to work out the solution on your own as it's not a good practice to search for solutions before giving your best.
I completely agree! Building a solid foundation is sooo important!!! We wouldn't start building a high-rise on top of a foundation that is only okay-ish, so why would that not apply to learning coding skills. It takes humility more than anything, not being afraid to admit that there are things you don't know. Also, concepts are more important than syntax. Syntax can and will almost certainly have to be googled from time to time, but if you know the concepts, you are one step closer to knowing what you are looking for. Know what you DON'T know.
Exactly! If you want to have strong coding skills, you need to understand the concepts instead of remembering the syntax. It helps so much!
I loved your reorientation of the 'basics' as The Foundation! That's so true! You can definitely build things knowing the basics, especially working in a team. Your teammates can help you with something small that you might have missed. You can remember their point from a tutorial or doc like 'Oh, yeah, I saw that somewhere...' But if you really understand the Fundamentals, you understand the why of it and are more likely to make awesome things on the first pass. 😜
Exactly, Jolene!... & thanks for reading!
I expected more specific advices, not theory approach :/
Point taken, Zeljka!
Hey @sriparno08 thanks so much for sharing!! I highly agree on your "watch less build more" tip, project-based learning was critical to my early career and personal development
I originally found myself falling down the tutorial rabbithole and not really learning anything practical as I wasn't applying any of what I was learning. It wasn't until I started building and making mistakes that my understanding really solidified and I was able to start tying things together
Thanks, Chris! This tip is a life-changing one for me and I'm sure it will help many other developers understand the importance of project-based learning!
helpful, thank u
You're welcome, Jerome!
I am amazed everytime i see every comment section. Satta ipl