There are many articles on the internet pointing towards how to be a good programmer, but in order to be the best, first we have to stop being an average programmer,  After looking a lot of blog posts, I have come to some conclusion about how one can stop being an average programmer. Here are a few things you can start doing to get above average. 

Write more code

This is something obvious, programming is like swimming you may know the rules, may watch a lot of videos on how to swim but in order to learn swim, you must have to get in the water.  So no matter how many courses you have completed or how many mooc tests you have completed, to learn to code you have to write the code. 

Be honest

Be honest with yourself and with others, about what you know and what you don't, programming is a really wast area, no one can know everything, so its ok to not know something. So it's better to stop pretending that you don't know something and learn it later.  If you pretend that you know everything is gonna to make a loss trade for the long term, so accept it and learn it. 

Contribute to open source

This is the best way I come up with learning programming, there are two ways of learning programming, the first is reading other's code and the second is writing your own code, with open source you get to do both of the things the third benefit of contributing  is that other programmers review your code and you receive some really helpful review for what you have written, where you can improve and much more.  while contributing you will learn about many new libraries and stuff you never heard of before.

Pick a personal project

Pick any personal project you would like to do, the best thing in doing the personal project is you are free to do whatever you want to do, you are the developer here, you are the project manager and you are the client. to play with the stuff and try out new libraries, this way you may come to know about more and more useful stuff you never heard of and suggest that at your work and soon you will be shining like a star. 

Lower your ego

Here is the key of best programmers they learn from everyone, as I have said before programming is a really wide area, someone who is junior of you may know more about a library or a method. Always accept that you can learn from someone who doesn't know much about something.  and it's ok to learn from a junior. Always be open to listen to others and learn from them. 

Understand the “why”

When you come up with some new library or some solution from stack overflow, instead of just using it try to learn why this is happening, what is the process and how it's happening, it will help you to widen the knowledge base and will help you in the long run. Try to open up the library and look at all the method it goes through. 

Solve coding challenges

Head to some coding websites, pick the challenges and solve them. its that simple,  solving coding challenges forces you to put more pressure on your brain and it keeps running.  most of the coding challenges are also bound to a time and space limit, so here you learn about how you can make the code run faster and take less space. 

Stop Being Lazy

Laziness kills the creativity when you come out with something new give it a try, it may help you to solve a problem that could exist in runtime. if you believe that changing something may improve the code then go for it, try it out. Adding comments in your code is also gonna to help you not just for other developers, but after a time it gets hard to understand the code for the coder itself.

Here was a brief article on how you can improve yourself and raise yourself from the group of average programmers if you like it don't hesitate to share it with your colleagues.

Source :