Productivity Tips for Developers
1) Excel at being Lazy.
A good developer knows exactly how to use his/her tools to maximize the amount of time spent creating a solution. If you can counjour up a magic key press that loads in your project, cleans the build then rebuilds your solution in half the time, then it's worth your while to do it. You might only save 3 key presses, but at 10ms each that's 30ms extra thinking time to be ready for the build being finished.
The best solutions, produce the maximum amount of output for the least amount of input, but without sacrificing quality (In other words, don't cut corners in the process)
2) Automate everything you can.
If you can put it in a shell script, then do so, tools like grunt, gulp and plethora of others go a long way to helping with this, but don't stop there. Why not for example get your git hooks to automatically run a grunt task when you check something in?
3) Step away from your code for at least 5 minutes every hour and a half
An hour and a half works for me, others may vary, but take regular breaks, even if it's just to walk across the office and stare out the window at an empty sky for 5 minutes, it gives your brain a chance to calm down a little and perform a pseudo semi reset on itself. If you spend to long concentrating on a singular thing you'll get the programmers equivalence of writers block, I call it "Code Blindness" , don't know if that's a thing or not though.
4) If your stuck, don't try to solve the problem
If your up against a bit of code that's defeating you, or you just can't quite see how you can make the latest crazy requirement work, then don't try to solve it. The human brain breaks down under pressure, irrespective of how well you believe you are at "Handling Pressure", always have at least 2 to 3 other bits of code you can work on, generally something like maintenance tasks or low key projects that don't require too much thought.
You'll often find, that your cognitive process will churn away in your subconsciousness and solve the problem on it's own, in it's own time eventually leading you to just being able to sit down and solve things in a short space of time.
5) Keep note paper and a pen/pencil near by at all times
Kind of related to number 4, but not always.
You NEVER know when your going to get a penny drop moment. I might be a major vision about some crazy new technology that the world sorely needs, or it might just be a novel way of re-writing an algorithm you created 2 weeks earlier, that you can now re-write to be more efficient.
What ever it is, you need to record it. Be prepared to take notes when ever, wherever.
I go through notebooks like their going out of fashion, and I have (Had until I started scanning them all in to my PC) drawers full of the darn things, I've been jotting down notes, ideas potential future solutions for most of my career, and often when I'm looking for a solution, I'll find inspiration just by picking some notes at random and reading through them.
A great elegant solution inspired by your notes, helps satisfy point number 1, which often leads to being able to help with number 2, many of these inspiration moments are coined in steps 3 and 4, and recorded in step 5, which goes around full circle back to step 1.