How can you become a good programmer?
7 things I wish someone had told me before.
6 min read
The era I am living in is the era of technology. Everything we use nowadays is almost connected to somewhere with technology. The Bank we use, the ticket we book, the shows we watch, and even the food we order. Almost in every field, we have computers with us to make our tasks easier. Almost all of us use these products which are directly or indirectly attached to technology and still few of us know, how to code. Among those few, there are many peoples which aren’t as competent as they should be. I am one of them.
So, the question is how we should upgrade ourselves and make ourselves competent to make this world better than ever. What is that which we will need throughout our journey to become more competent and productive? In this article, we will breakdown some of the things and will try to understand what we should do and why we should do it. I will be sharing these things from my own experience and these might not work for everyone but this has worked for me.
Learn by Doing
Almost always, whenever we learn something we feel a sense of accomplishment and achievement. When we actually get to code something, we feel we are incompetent. This is known as “Tutorial Hell” and I have already covered this point in “How to Escape Tutorial Hell”.
You don’t learn to code by binge-watching. You have to get your hands dirty in order to learn something valuable to add value to the world.
I hear and I forget. I see and I remember. I do and I understand. Confucius
One of the biggest issues with developers is that they think creating NetFlix, Amazon, Uber, and any other App like these require some extra skill which is only found in few peoples. One thing they forget is that they are humans like us and if they can create such things, so we can too.
What we do is we look at the bigger picture, while the developers who made these Apps possible are experienced in watching smaller pictures instead. Let me explain it more. It’s impossible to reach the top of the stairs before passing the preceding steps. Instead of focusing on reaching the top, focus on completing the next step first. As warren buffet stated that,
Focus on Making $1 First. Then Focus on $10 then $100, $1000, $10,000 and So On. Don’t get Caught up in the Long Term when the Short Term needs Focus First.
Learn techniques, not tools.
Don’t focus on learning the tool, because programming languages, frameworks, and libraries come and go. Let me know, how many of you still use JQuery now? So, it always better to understand the basics. Everything may change but some basic things will be constant and focus on constant not on temporary.
Collaborate With other developers.
There is a famous saying that is
If you want to go fast, go alone. If you want to go far, go together. African Proverb
If you are willing to learn more then you should be willing to collaborate because It will help you to enhance your level of understanding, make you flexible, and open to teamwork.
I usually preferred solo tasks instead of teamwork until I discovered the benefits of working in a team with my fellow on a project. It helped me learn more and understand what I lack and what I should improve.
Don’t Just copy the code.
What I used to do was just copy the code. If it works, good to go otherwise find another solution. Lots of people do the same and there isn’t anything wrong with copying the code because the individuals who made their code public want you to copy their code and it’s like an achievement when you know someone is using your code and it just works fine.
What I am trying to say is if you copy a code and it works fine then this is not the “good to go” moment. It is the moment, where you should scrutinize the most. you should look for the reason, how this worked and why it worked. If you started looking for why then one thing is obvious, you are going to learn the most out of it. So, next time whenever you copy the code, learn it first and understand why it worked, before going ahead.
You can be wrong too.
One thing is obvious and that is “too err is human”. It doesn’t matter x number of years of experience you have. What matters is how you approach your code. If you think that your code is the best code and no one can write it better then it’s time for a reality check. Instead of trying to prove that you have written an outstanding code, try to write a test to prove there are flaws available in this code.
Sooner or later, the users will find a bug and they can misuse it. Before this happens you should consider your approach of seeing your code the best. Always look for vulnerabilities, because this will make you stand out.
one of the finest ways to understand things deeply is through experimentation. Experimentations help you learn about the strategies that work better than the others. Try different approaches to perform a single task. Who knows that you might discover something during experimentation.
When I started learning to code, I usually preferred a single style to achieve the results but afterward when I discovered concepts like Big-O. I regretted my decision, I discovered that the other approaches I escaped were actually better than my current approach then I had to learn other approaches to solve the same problem and it was hard to challenge our own dogmas. Therefore it took a lot of time to unlearn and learn again.
There is always something new to learn. I guess life is another name of learning. These were some of my things, which I wish I had someone to told me. I think these were valuable for me and I guess so you will be benefitted from these rules.
It’s always better to experiment to find out what works best for you: What works best for me doesn’t mean, it will also be the best fit for you. Everything you find here is all based on my own opinions and your opinions can be different. I value everyone’s opinion, therefore it would be great if you mention your opinions below in the comment section. So, I can find someone who has similar thoughts as I have. With all that, I wish you to be a good programmer to contribute to this dearest World.