What makes a programmer productive?
There are lots of ideas about this and I have a few of my own. I have read some interesting articles and books on Pareto’s Law (The 80/20 Rule) and am finding that most productivity comes from just a few things.
3 Most Effective
- The Language – The language you choose to do most of your coding is directly proportional to the efficiency of your programming (lines and quality).
- The Libraries/Frameworks/Resources Available – Depending on what you are programming, re-inventing the wheel is wasted effort.
- The Programming Environment – Text Editors, PC/Mac/Linux, Number of Monitors, Other Tools, Fast Internet Connection.
3 Least Effective
- Development Methodology – This only matters when projects are not well thought out and people don’t know what they want programmed. But for the programmer that knows what he wants to code, it does not matter.
- Unit Testing – I have friends that will roll their eyes at this statement, but I’ve written so many lines of code with no to little defects and I’ve not written one unit test or test case. In fact writing unit testing and doing testing on obvious stuff was the most wasted weeks I’ve ever spent.
- Anything that makes code more maintainable – Often you will hear about rules that are good for creating maintainable code, some pattern, avoiding some anti-pattern, lines of code in a method, or size of a class file, etc. These all sound good, but the fact is only a small percentage of code is ever re-used, so stop trying to make 100% of it reusable.