1) Declarative programming was a big thing for me. Imagine code like a real world tree, with roots, trunk, branches, leaves. Your trunk and branches should be declarative, the leaves and roots should be imperative. Most of the code you read and write should tell you what is is doing rather than how it is being done. You don't have to pick up functional programming; you just have to use functions for most of your code.<p>2) <a href="https://xkcd.com/1205/" rel="nofollow">https://xkcd.com/1205/</a><p>I have that as my desktop background. Let's say, you do something 30 mins/day, every day. If it takes a week to automate that, do it. Applies to home processes as well.<p>3) IDE keyboard shortcuts. The big ones are select scope, jump to definition/uses, search all files, rename variable, extract as variable/method, jump to the opening/closing brace, move lines, show docs, reformat code, move to the next tab. This is the main reason I subscribe for Jetbrains.