Being a better than average programmer isn't all the hard and it has some perks. When it's time for a yearly review you typically look fairly good. Programmers are in demand and better than average programmers have a better shot at new jobs, promotions, and new fun projects. And, virtually any programmer can be a better than average programmer. You don't need to be a gifted rockstar or pour your existence into programming to get there. In my experience it's simply a matter of habits.
Over the last couple decades of programming I've been trying to learn the habits of the good programmers around me. Paying attention to what they do differently. I've had the chance to work with some rockstars and well below average programmers. It's made drawing parallels and noticing differences easier.
Habits of Above Average Programmers
- Embrace change. You don't need to be a driver of change. But, embrace it and go along for the ride. Look at the web ten years ago. Or, look at processors before multiple cores. The landscape is always changing. Embrace that change.
- Don't work too many hours at your day job. We are only productive so many hours a week. And, we find inspiration and happiness is so many other parts of life. When we are charged up it's easier to program well.
- Have a programming project you tinker on. Something a little different from your everyday work that's fun to work on. This helps to see things in a different way. Think of it this way. A marathon runner who regularly plays games of pickup basketball will work their muscles in different ways. It's fun, it's exercise, and more.
- Continuously learn. This goes along with embracing change. When I started programming I was using Pascal on Dos. The web was still a twinkle in someones eye. Lots of programming and technical things we will have in 20 years are a twinkle in someones eye today. There will be a lot to learn.
- Take the time to understand the little things. For example, when building web based user interfaces there are things you can do to make them load fast and execute quickly for end users. There are little things like this in every part of programming that we can make part of our regular coding methods.
Programmers who are average or even below average can take the time to write tests, follow coding standards, document their code, and other simple things. Taking it to the next level is often just a matter of a few habits.