Problem: when work is boring or hard, or when potentially incoming communication is very interesting, it can be hard not to check your communication channels every few minutes. When I was searching for a new job, I had this problem very severely, and I couldn't stop looking at my mail, facebook, linkedin, etc. On average for the past few months, my programming time per day had been ±5 hours a day in an 8 hour day. In the past 2 weeks, it had just been ±4 hours a day; a 20% decrease. I think this is much related to my communication channel checking habits that I quickly developed.
To fight this problem I came up with the following solution:
Keep your work environment clear of communication channels, so you can't check them.
- Firstly, I deleted and blocked all communication apps from my laptop. No slack, skype, e-mail or facebook on my PC anymore. (To block, I use freedom )
- Secondly, I made sure that all those channels were available on my phone.
- Then, I put my phone somewhere far away when I start working, so I'm conscious of it when I go and check my phone.
With that setup in place, it's easy to just check your phone once every few hours. This is much better than every couple of minutes. It makes it way easier to keep your head down and focus on coding. The only way I get out of flow now, is when people ask me something, or it's too noisy.
I'm gonna use this strategy the coming months, and I'll report back what it does to my productivity. I think I can get even higher than those ±5 hours of coding time every 8 hour work day, I think that ±6 hours of VSCode is achievable in an 8 hour work day (This doesn't count reviewing code, reading libraries on github, and meetings etc.).