It seems like you are using an ad blocker. To enhance your experience and support our website, please consider:

  1. Signing in to disable ads on our site.
  2. Sign up if you don't have an account yet.
  3. Or, disable your ad blocker by doing this:
    • Click on the ad blocker icon in your browser's toolbar.
    • Select "Pause on this site" or a similar option for lancecourse.com.

How you can become -some- good programmer

With my little experience as a programmer, I've come to understand some few things concerning the state of being "so-called" good or not, but not necessarily bad.

As far as I'm concerned, I consider someone as a good programmer when he/she decides to be a programmer and keeps on looking for how to code in the better manner while he/she keeps on solving problem he/she always finds strange and always wants to give it a try.

Programming, to those who program, is like Yoga to the spiritualist. It's a habit of drilling your brain, sharpening your ability to solve complex problems which keep on opening other mysteries you aim to unveil

To be a good programmer, is not to become it. Rather, it's to look for it endlessly.

When time comes and you ask yourself: Am I a good programmer? Then know that there are two possibilities of the answer:

1. No. You are not a good programmer, and probably you're never going to be one.

This is possible when you like looking at your back to check your achievement. People who do that always act based on what they've done so far. When you think you've done/learned a lot enough and you start wondering if there is still more to learn, you're done. Maybe you were not learning well enough to gain the passion in the quest, which makes you feel tired of the quest, and therefore start to neglect or abandon the quest. You ignore that there's no limit to the quest.

2. Yes. You are already a good programmer, or you are on the way of being one.

When you code for years, in countless applications and contexts. When you meet many people like you or more experienced than you. When you see people struggling to solve coding problems you do easily or you've already encountered and know how to handle it. When you meet people who are the source of great applications or programming languages.

You start to ask yourself, where am I in this ecosystem? And this is a very wise question of someone who is worried about being good. You ask in order to make yourself good in case there is anything else to do.

I am not the one to judge or define who exactly is good enough in this discipline, for I am still a learner, and what I say is based on my personal experience and observation. Following are therefore habits I think you can start to apply in order to be on a good track of being a respectable programmer:

1. Good problem solving skills

It's the first thing in any discipline. You need to learn and develop problem-solving skills. Programming is somehow equaled to problem-solving. Problems are for a programmer like a farm is to a farmer. It's your space and your definition domain. You must develop good skills in handling them. This is the reason why you're thought the algorithm is CS classes which one tool to help you in that. You can also do that through games

2. Huge desire to solve real life problems

Life is complicated and very complex. It has infinite possibilities. It's a huge matrix of problems. When you look at it and you start to think of how to arrange this and that with code, you take your coding skill to the next level because these problems can take you out of the normal context.

3. Daily Practice

You're surely not going anywhere if you program only n-wice(once, twice) in a week. Even I, as a small programmer, I code everyday, you can imagine gurus :). Coding doesn't really sound to me like a profession, it's a habit one decides to adopt. It doesn't have a specific time to be done. Coder think of code every time anywhere, even while they're asleep :). Coding is like meditation.

4. Continuous learning habits

The first thing that makes you a programmer is learning, and the passion for it takes you to the greatness. As I said in the introduction, programming is a quest in which the programmer seeks answers to his wonders. It's a search process you are always on.

Good programmers never know enough.

5. No class(solution) is ever final

Good programmers never accept a solution as a final one. It probably works, but it can't be the final solution. Because, when you reach a level, that same level opens other horizons of questions. You always see ways of reaching more ways.

6. The Three Vertues

According to Larry Wall, the inventor of the Perl programming language, there are three great virtues of a programmer; Laziness, Impatience, and Hubris.

These three virtues are really common habits to most programmers I know, including myself. You can even see some programmers who which they could apply ctrl+z, function to real life. Hahaha. Programmers don't like to do the same thing many times every time. They should be a way of abstracting/ factoring it. That's the spirit.

7. Imagination

You imagination level needs to be high as a programmer. Computers didn't come through revelation, it's through imagination. In many cases, software are created based on abstract situations where you need to create things out of nothing. The higher your imagination level, the clearer the product you get.

Imagination is the key to starting any programming exercise.

Some years ago, what people think makes you a good programmer:

Here I have done a little research and gathered some resources of what most people see in good programmers. It's contextual, temporal, and strange. That's humanity.

What Makes A Great Programmer?

What Makes a Good Programmer Good?

15 Characteristics of a Good Programmer

What Makes a Good Programmer?

Becoming a Programming Rock Star: 5 Traits that Make a Great Programmer

Signs that you're a good programmer

What Makes a Good Programmer?

Bottom line

Are you a good programmer? Maybe. Can you be a good programmer? you can go for it. The simplest way to answer these is to always code and try your best to reach a reasonable solution when coding.

You'll always meet people who have better code, better experience, and better coding practices than yours, as you will always meet some lower than you. Call yourself a beginner in the first case, and a lucky researcher in the second case.

And you definitely want to know if you are a good programmer or not, don't hide your code. People will one day tell you what they think of you and your code. If one day, someone says you are good, go to bed with that, and if the next day another one says the opposite, go back to bed with it.

Let me conclude with the following quote from the Discourse on the Method of René Descartes:

...For to be possessed of a vigorous mind is not enough; the prime requisite is rightly to apply it. The greatest minds, as they are capable of the highest excellencies, are open likewise to the greatest aberrations; and those who travel very slowly may yet make far greater progress, provided they keep always to the straight road, than those who, while they run, forsake it.

Hope this helps you orient your learning curve and encourages you to work hard on yourself in the quest of becoming a respectable programmer. Let me know what you think, and what can be added(removed from) to this. If you appreciate the work please share it with your peers.


Cover photo credit: Entrepreneur Programmer via photopin (license)