Prefer typing over mousing.
Take the time to learn all the hidden keyboard shortcuts of your universe.
For any symmetric operation on multiple lines of text, find a pattern and record a macro.
Don’t type the same commands over and over again.
Spend a little time each day to make every day more productive.
Replace file hierarchies with search.
Don’t spend time doing by hand what you can automate.
Performing simple, repetitive tasks squanders your concentration.
Timebox speculative development.
Use virtualization to canonicalize dependencies for your projects.
Out-of-date documentation is worse than none because it is actively misleading.
Always keep “living” documentation.
Whiteboard + digital camera trumps a CASE tool.
Repetition is the single most diminishing force in software development.
Testing is the engineering rigor of software development.
Refactor comments to methods.
Static analysis tools represent cheap verification.
Don’t create global variables, even the object kind.
YAGNI - “YOU AIN’T GONNA NEED IT”
Don’t pay complexity tax unless you absolutely must.
Maximize work on essential complexity; kill accidental complexity.
Don’t pay complexity tax unless you absolutely must.
Encapsulate all implementation details away from public methods.
Find your perfect editor and learn it inside and out.
Good knowledge of regular expressions can save orders of magnitude of effort.
Use a “real” scripting language for automation chores.
Keep knowledge as plain text