1 Keep Your Tasks Organised and Prioritised: I use Trello for task management, it helps me to focus and to switch tasks faster. It’s also useful for collaboration with the rest of the team.
2 Think Twice Before Writing Code: Take your time thinking of an optimal solution for a problem without falling into the perfectionist loop. For complex tasks, 50/50 of my time is spent respectively on the whiteboard and coding.
At an interview, a programmer is asked what he would do if the microwave would catch fire. He says he would throw it out the window. Baffled, the interviewer asks “okay, what if the coffee brewer catches fire?” And the programmer replies “Put it in the microwave and throw it out the window, as we already have a solution for that problem.”
Abstract thinking and software patterns allow you to transform problems into already solved ones. It also helps to increase code re-usability, if necessary.
3 Automate Repetitive Tasks: If you can automate a task, do it. If not, make it lightweight. For example, testing.
4 Don’t Work More Than Your Threshold: If I work more than 9-10h hours, my productivity plumbs and my code becomes exceptionally scary. When you look at the code I wrote after my threshold, you probably say WTF… several times…. increasingly louder.
Then, I have to go back the next morning and refactor all the naughty things I did the day before. That’s double work!
5 Focus, focus and focus:
The first task I do in the morning is to check my inbox. If there is anything relevant, I’ll attend it. Otherwise, I’ll ignore non-important emails until they naturally become relevant or fade away. After that, I turn off mobile and desktop notifications until I leave the office.
Unsubscribe from marketing emails so when you check your inbox, you will see less irrelevant stuff. When was last time you purchased something from a marketing email? It feels so good to unsubscribe!
Internet is a massive distraction so use Chrome’s Stayfocusd extension to restrict access to: Fb, Twitter, Quora, etc…