Most people think about efficiency when it comes to productivity. This is only logical as most people think tactically in order to resolve specific problems. These are our "problem solvers". However as a reminder Productivity is not just about Efficiency but firstly about Effectiveness. Thinking strategically *as well* will bring to the team the maximum level of productivity. These, effective programmers are "solutions providers" What can we do to be effective programmers?
- Define your code style and follow it. Be consistent.
- Use descriptive and meaningful identifiers: "redBalloon is easier to read than rdBlln"
- Break up long functions/methods into smaller ones. This will make the code *almost* self documented
- Use comments only to complement the code meaning to explain the *why* and not the how
- Use documentation only to complement the comments meaning provide the big picture, how to get started and a glossary of probably unknown terms
- Write the simplest possible code which means code for a sustainable future. In the words of Brian Kernighan "Everyone knows that debugging is twice as hard as writing a program in the first place. So if you are as clever as you can be when you write it, how will you ever debug it?"