Introduction
We all want to be good programmers. To become a good programmer you have to know what makes a good programmer. The following is a list of things that in my experience make a good programmer.
Knows how to solve problems
As a programmer you will find that everything you do is about solving problems. Solving problems does not only mean fixing bugs because when you write a new piece of code you have to solve the problem of what the code must do and how it must be done. The whole design of a software project is a problem solving exercise. Knowing how to solve problems well and quickly will make a big difference to your programming ability.
Can think for themself
I noticed when I was at university that the people who got the lowest results and had the hardest time learning to program were the ones who were always asking for help. They didn't bother trying to solve the problem by thinking for themself. Of course asking for help is not a bad thing but it should only be done when you are really stuck on a problem and not for every simple little thing. Being creative is also part of thinking for yourself. Being creative means being able to think up a whole lot different ways of solving a problem.
Is willing to accept criticism
It is not unusual to come across someone who thinks that they are the world's greatest programmer. If someone else thinks that there is a problem with their code they will immediately become very defensive and refuse to listen to what might be good advice. If you refuse to listen to suggestions from other programmers you will always write the same code without discovering new and better ways of doing it. The people giving you criticism will not always be right but it is worth listening to them. If you are confident in your abilities as a programmer then you will be open to criticism because you will be able to explain to the person criticising your code why what they are saying is possibly not true.
Has good communication skills and works well in a team
Most projects these days involve teams of programmers. It is only very small projects and personal projects that do not require much communication with other people. This means that you need to be able to listen to what other members of your team have to say and try to understand them. You also need to be good at explaining the decisions you make when programming. There is the potential for huge chaos when decisions are made and not communicated to other members of the team. You can get by without communicating much but it is not in your best interests.
Keeps developing themself
We all know that the IT industry changes more than most other industries. What you learn today can become obsolete very quickly. If you want to keep on programming you will need to develop your abilites. This means learning the latest programming languages and learning new programming techniques. You should also develop your knowledge in the fields that you are already very familiar with. Do things like learning more about the programming language you are currently working with. Try having a look at the code that other programmers have written to get new ideas. You will also need to keep up to date with the latest computer news and acquire more knowledge in other areas of computing.
Enjoys programming and computers
There are people who became programmers without really being interested in programming. Some people hear that programming pays well so they decide to do it even though they don't like computers. Other people are forced to program by the company they work for because of a shortage of staff. These people often make terrible programmers. Most people do better at the things they are interested in. If computers frustrate you then don't become a programmer. If you don't like sitting in front of a computer all day then don't become a programmer. The best programmers are able to work for many hours straight and still enjoy it.