What it takes to be a Good Programmer ?

I had this question to myself on who are the best programmers in the world. So, I had posted a Q&A on the topic ” What it takes to be a Good Programmer ” on LinkedIn. The response I got was excellent.

Here are some of My favorites from the list and 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.

What it takes to be a Good Programmer ?

What it takes to be a Good Programmer ?

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 creating the applications that just work. Frequently updating the knowledge on the domain, not only on the ones that we work will also improve us.
  • Understanding the requirements and communicating well to meet the requirements is also required.
  • While knowing a lot of programming language is useful and sometimes necessary. It is also more vital that you know one or two languages very well. It is also essential that you understand where it is best used.
  • Participation in Coding contests like topcoder.com, Imagine Cup etc. will also help get you to know how stronger you are in Software development.
  • Learning some of the basic design pattern techniques is also more critical because better software has to be designed .” Head First Design Patterns” from Oreilly is an excellent book to start with.
  • Trying to read and understand others’ code , Debugging 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 learning a few things that can be done best to solve the problem. Discussing it with them will also add another learning experience for you.
  • Another vital aspect is involvement in the developer community. This will undoubtedly help you in meeting some of the experts and even share the knowledge.

    3 Comments

  1. fsilber
    December 30, 2009
    Reply

    “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

    I bet surgeons are glad they don’t have to meet Jason’s standard.

  2. bruce
    December 30, 2009
    Reply

    I an a java programmer with over 10 years of experience. I am guru level. I never program for fun. Its a job. I have a CS degree. I am clueless why my “peers” say I have to program for fun. I am passionate about my work but as a profession. Otherwise I would burn out. I have been working for over 13 years and have found it easy to burn out if you do not have a proper separation between work and home life. And knowing lots of stuff is sort of a waste. I would rather be an exper in a few areas as a) I can make more of a contribution and b) I get paid more. I currently serve as CTO at a startup. I was previously CTO at a different startup. Hope this helps. I know it seems to go against the grain but it seems like the grain is established by newbies who think volume is the way.

  3. Derrick
    April 9, 2010
    Reply

    Programmers are a dime a dozen.

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

In today’s economy, layoffs have become a common occurrence. Companies may lay off employees for a variety of reasons, including...
Facebook is one of the most popular social media platforms in the world, with millions of users connecting with friends...
Temperature is a critical physical quantity that helps us determine the amount of heat present in a substance or environment....