What it takes to be a Good Programmer ?

A few months back i had posted a Q&A on the TopicWhat it takes to be a Good Programmerin LinkedIn .  The response i got was really good .

Here is some of My favourites from the listand the summarization of the thread. Let me make it clear that I do not consider myself a good programmer. My coding skills are just a mere average and i am still learning and there is a long way to go before i am even pleased with my Programming skills .

Good programmers tend to be intelligent, and tend to have a passion for programming. Because of their passion they will then also tend to contribute to open source projects, and may know about lots of different technologies because they actively read around the topic. – Anthony W
“Good programmers like QA because it keeps them honest. An engineer who takes a bug report personally is not good 😉 ” – Sami
“if a programmer is really good, you should be able to ask them what kinds of programs they’ve written for fun. They should have MANY to choose from. It’s something like breathing underwater to a fish. Great programmers just do it without being forced, it just comes.” – Jason
“It is good to understand why you do things, not just how to do it. You should be able to explain what you have done and why you did it the way you did.Being a good programmer is about attitude and a state of mind as much as any technical skills. Unless you are looking for specific skills or experience then attitude will make up for any deficiencies. ” – John R
“You also have to have two fundamental characteristics:
1. Smart, and 2. Get Things Done.” – Chuck M
“To be a good programmer you should never call yourself a programmer. I am fond of ninja, cookie monster, and Keyboard Jockey.. If you want to be a great programmer.. Quit reading how too, and just be one.” – Rodney
“A good programmer is somebody who is willing to learn and try new ways of doing things throughout his career” – Ken

Here is my view on the topic :
Passion is one that pushes developers to make good code rather than making the applications that just work.Frequently updating the knowledge on the domain not just on the one’s that we work will also improve us .

Understanding the requirements and communication well to meet the requirements is also required.

While knowing a lot of programming language is good and sometimes necessary . It is also more important that you know one or two languages very well.It is also important that, you understand where it is best used .

Participation in Coding contests like topcoder.com , Imagine Cup etc. will also help in getting you know how stronger you are in the Software development .

Learning some of the basic design pattern techniques are also more important incase a better software has to be designed .”Head First Design Patterns” from Oreilly is a good book to start with.

Trying to read and understand others code ,Degugging a lot to know the application and asking for help when you are struck up is another way to improve .Senior persons or even your colleagues might be knowing few things that can be done best to solve the problem . Discussing it with them will also add another learning experience to you .

Another important aspect is involvement in the developer community. This will certainly help you in meeting some of the experts and even share the knowledge .

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.


  1. fsilber December 30, 2009 Reply
  2. bruce December 30, 2009 Reply
  3. Derrick April 9, 2010 Reply

Leave a Reply


Interesting BlogPosts to read

Swift Developers June User Group meeting in Bangalore
SwiftBLR (Swift Bengaluru) is hosting an user group meet on June 11 , 2016 from 2.30 PM to 6.00 PM a...
SQL Server 2016 Community Launch with SQLTalks and SQL Bangalore UG
SQLTalks and SQL Bangalore Usergroup brings together the best of SQL Server 2016 in a FULL Day event...
How to rename a file in C# ?
Want to rename a file using .NET Framework and C# ? , below is a sample code snippet that illustrate...