I’ve been giving some thought to the question, “What makes a good programmer?” Obviously, to answer that question, you have to first be qualified to comment on it. I am going to take some liberty here, and assume the conceit that I am, in fact, a good programmer. I went out on the web and read a few things that others have to say on the topic, and I think I found at least one common denominator:
Write something - every day.
I don’t care what you write. I “grew up” as a programmer in front of DOS and UNIX boxes, so I ended up writing a lot of utilities in C. I wrote a lot of code I’d never use, also. I wrote libraries for making linked lists easy to manage in C. In High School, I wrote a fairly complete algebra library just because it was a topic I was often occupied with. I tried to write a small operating system once. That was an effort of months, and it never went anywhere. Except, all of those things were immensely beneficial to me.
I started High School with a little bit of C under my belt, some Motorola Assembly, and a lot of BASIC and some Pascal. By the time High School was done, I had a strong working knowledge of C & C++, Java, Perl, and was starting to get pretty damned good at PHP & JavaScript, too. I had experimented with Forth, FORTRAN, and Smalltalk, also. I knew all about the registers and operands on the 386, and I knew all about TCP/IP. It’s amazing how much you can get done in 4 years worth of afternoons.
But I wouldn’t have managed any of it if I hadn’t written something every single day.
Think of it as calisthenics for the brain. Think of it as meditation. Think of it as pointless exercise, if you want - but do it. You’ll thank me in ten years.