There are a lot of people who think I’m a great programmer.
Some of them happen to be programmers themselves (however, it’s a well known trait of programmers to always believe other programmers code is never as good as theirs).
Occasionally, they ask me why it seems so easy for me. They want to know what my “Secret” is.
The truth is, there is no secret, and I’m not that great of a programmer. Sure, I know my languages. I understand my concepts. My logic is generally dead on. But my style is often off, my code is often clunky, and I’m often not up to date on the bleeding edge technologies (I’m a trailing leading edge guy).
But there is one skill I learned long ago that I personally regard as one of my strengths. It’s the ability to quickly debug something and to see the bug before it becomes one.
It’s a skill I picked up when debuggers rarely gave valid line numbers (see IE4/5/6), and when the most you would get out of a compiler was “Error” or “Segmentation Fault” (maybe it was just the most I could get out of it at the time). Maybe I picked it up from debugging student’s homework…
So if your a programmer, or hoping to be one, focus on learning to debug things quickly, whether it’s your code or not. If you can debug, you’ll be a great programmer. Afterall… the client doesn’t care about your tabbing (in most cases). They don’t care if it took 3 lines of code or 1 line of code (in mosts cases). They don’t care if you used an if statement or a switch, or how many processor cycles it takes (in most cases). They simply want it to work, error free.
Comments on this entry are closed.
I will suggest you leave all "In most cases" as "all cases" if you want to be a great programmer. In my world run time is key.
That and bottom lines. If you understand the reason why you are coding, your are light years ahead.
I'd say you are dead on, and I've basically made a career of debugging. I figured out a long time ago that I was better at cleaning up code than I was at writing it in the first place.
Maybe I should start programming more…hmm.
I also find it amusing that all of your caveats apply directly in my field. We have coding standards that dictate the file shall be indented for readability, to use an if instead of switch when possible, don't use 3 lines when 1 will do, and processor cycles are counted in most of our programs due to very specific timing that is intimately integrated with the hardware in our devices; just to name a few.
Alas, embedded programming is a completely different animal, but it's a lot of fun to work with.
Speaking of great programmers: Google Chrome Frame. Wow.
dude, where's the updates?