What makes a good programmer?


The other day I was asked that question again: “What does it take to be good at programming?” Normally I would analyse, think and blurt out a list of crap list a set of qualities and but that day I just spontaneously replied: “Passion“.

Everyone can draw but with varying ability ranging from drawing a drawing a dog that looks like a cow to being able to paint like Picasso.

Programming is an art as well since it involves creating codes and algorithms to solve problems – an algorithm is just a set of instructions which if properly followed will solve a problem and I believe anyone can specify proper instructions for a task. So, if we can train people to list down their instructions for a problem properly, we can create programmers but being able to create good programmers is another story. Just as we can’t train people and make them become Van Gogh or Picasso, we can’t train people to make them great programmers.

Passion is an emotion of feeling very strongly about a subject. Passion is an intense emotion compelling feeling, enthusiasm, or desire for anything and often requiring action. Passion often applies to lively or eager interest in or admiration for a proposal, cause, or activity. – Wikipedia


One response to “What makes a good programmer?

  1. I agree, but not only for programming.

    For(any job){

    if(worker has passion for the job){

    He will definitely have more interest;
    He will have the will to improve his skills;
    He won’t get bored;
    and all the things you listed above…;


    He will consider his job as a burden;
    He’ll do it just for the money;

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s