Though we have a ton of programmers around the world, the quality ones are only a few. Here are the top 7 reasons most people are average programmers:
1. Doing things the same way without improving skills:
If you started off with PHP, you can still pretty much build any functionality with what you learned in the first year. If you only write the code that you already know or have written before, you will stagnate.
Move with the new technologies and challenge yourself. Try another programming language, try new frameworks, learn new algorithms, try best practices. Keep improving yourself.
Look at it like this, 10 years later, if you have been doing the same thing, why would anyone pay you more than a programmer with 1–2 years of experience?
2. Not attempting to code faster:
Programming is also about speed. As much as people tell you that writing good code is important, do not ignore speed. In the current world, time is money. You must challenge yourself to code faster, type faster and use shortcuts of your editor. You need to put in a conscious effort to increase speed like mentioned in the article - Work Faster: Principles of speed which succeeded - Productive Club
Please note: I do not mean to say that you must increase your speed at the cost of code quality. Writing good and efficient code is more important than coding faster. Writing code which produces results the right way should be your first target. But in the process, be on the lookout for opportunities to get things done faster. In most cases, you have a scope to increase your speed without compromising quality. But you will never be able to attain the top speed with the best quality point without challenging yourself. Increasing speed does not mean only typing faster. You can increase your programming speed by challenging yourself to solve a programming task faster than you normally would.
3. Not using the optimal environment, tools, and devices
Many programmers believe they can code while lying on the bed with the laptop on their chest. Sure, you can but your skills will only be as good as your laziness.
Also, whoever told you that working on a touch-pad/laptop keypad is equally fast as working on a mouse/keyboard, hasn’t worked on a mouse/keyboard enough. The mouse/keyboard combo is faster, period.
Having worked on different laptops, desktop setups, and all kinds of peripherals, I can guarantee you that writing code while sitting on a table, using a bigger screen with a mouse/keyboard combo speeds up your programming.
4. Hesitating participating in coding challenges:
Programmers are scared to even try participating in a coding challenge. Programmers avoid such challenges because they fear feeling bad about their own skills by participating.
Do not be that person. You will improve your skills only if you are willing to know where you stand, fail repeatedly and wear failure as a badge of honor. You do not lose anything nor does anyone know if you fail miserably.
At the same time, be wary of some programming challenges. As Frank Adrian pointed out, some coding challenges have a ridiculously short time constraint which can lead to bad coding habits. They can also have a strange problem to solve that does not help you improve your skills. Do not criticize yourself if you fail at these challenges. Over time you will be able to spot a good coding challenge from a bad one.
5. Working without deadlines and compensating with long hours
Many programmers keep writing code. It spills beyond working hours, takes away family time on weekends, reduces sleep by going late into the night and whatnot. This happens because you do not set a deadline to complete a programming job.
For example, if you are building a module, you need to decide “I will finish this in 3 hours, with 1 hour of an additional buffer.” If you do not finish in 4 hours, you move to something else. When you do not keep a deadline, you keep going at it forever. Since you know you will cover up by working additional hours, you will not attempt to improve your skills.
Set a specific time at which you will close your laptop and won't turn it on until the next day. Trust me, it will force you to prioritize and improve, making you a better programmer.
6. Copy-pasting code blindly:
We all use code off the internet, no doubt. In fact, not reusing code is not the smartest idea. But every time you use some code, do you blindly paste it and check if it worked? Well, if yes, you are missing an opportunity to learn.
The reason you looked for the code is that you either did not know how to do it or you wanted to save time. Make an attempt to understand the code that you used at least at a high level. You do not have to understand the code line by line but at least understand the approach used.
7. Thinking you are the best:
Many average programmers somehow have the notion in their head that they are amazing programmers. I had the same ego. After many years did I realize that there are a ton of people who are actually amazing and I was just being overconfident.
The moment I told myself that I had a lot of gaps to improve and I am not as amazing as I assumed, my view of things changed. I started learning new things and improved day by day. Having the eagerness to learn by believing you still have a lot to improve will take you a long way. This applies not just to programming but also any other skill in life.
No comments:
Post a Comment