In my experience as a software engineer, manager, and programming instructor, here are the
mistakes aspiring programmers make most often, in no particular order:
- They start writing code before thinking about how to logically approach the problem.
70% or more of programming is thinking, and much of that thinking should happen
before any code is written. There is no sin in drawing a diagram or in writing down a
sequence of steps.
- They believe that they can learn programming by only reading about it, hearing about it, watching
someone else do it, or copying someone else's code, and
they don’t have to actually do it. The only way to truly learn it is to actually do it — a lot!
Immerse yourself in increasingly-complex projects that push the boundaries of your knowledge and
skill, writing all of your own code from scratch, testing it, debugging it, experimenting with it,
and enhancing it. This is where the real learning happens.
- They don’t pay attention to testing their own code. Getting it to compile without errors
and warnings is a first step. Getting it to run correctly with one specific set of inputs is
another step, but is not the last step. Getting it to run and not crash no matter what the
inputs are – that requires testing and debugging. (And you can learn a lot from testing
and debugging your code...lessons that will make you a better programmer in the long
run.)
- They think that there is an end to learning and improving programming skills and
knowledge, but in reality, the learning never stops. Count on continuing to learn and
improve for the rest of your career. Those who don’t are unlikely to succeed in the long
term.