I just read The Productive Programmer by Neal Ford, and this is my takeaway:
10 Rules for a Productive Programmer.
Rule 1: Never do things your computer can do faster than you
This applies to finding files, launching applications.
Rule 2: Those who forget history are condemned to repeat.
Command history (Ctrl+R in bash), clipboard (in your editors), web history, macros.
Rule 3: Turn off needless notifications
Email/ does not need to be checked every 5 minutes.
Rule 4: Computers are for automation, use them.
If you notice yourself repeating some steps, automate!
Rule 5: Test
Testing makes you less fearful of changing things. It ensures that things always work. And it allows you to benchmark
Rule 6: YAGNI
(There’s no explanation here ‘cos YAGNI!)
Rule 7: Occam’s Razor
When given multiple explanations for something, the simplest is the most likely.
Rule 8: Law of Demeter
For any object or method, the only methods that should be invoked are:
– The methods of the object itself,
– parameters of the method
– any objects created within the method.
Rule 9: Question authority
The idea here is not revolting, but rather seeking explanations, for current processes and practices.
Rule 10: Use the perfect tool
The perfect tool is the one you know best, so find one that satisfy your requirements, use it, learn it inside out and master it.