Developers hate interruptions. Of course everyone dislikes being interrupted, but being interrupted while writing code is particularly tough. Coding requires a lot of concentrated mental energy. We mentally untangle logical problems, seek to simply solutions, and cover all edge cases. Often we’re trying to mentally calculate several things at once.
Interruptions are frustrating because we may lose our train of thought or forget an edge case. It’s also really difficult to focus on a new task while our brain may still be working on the previous problem.
I recently returned to working in an office full-time after working from home for several years. By far what I miss most about working from home is that my home is relatively free of interruptions and therefore perfect for coding work.
However, I’ve realized that writing great code isn’t the only part of my job. Communicating with co-workers, planning and coordinating tasks, and exchanging feedback are also an important part of my job as a developer.
Currently I’m working on becoming more productive in an environment with interruptions. For example, I try to put aside my current task and really listen when someone needs my attention. I also try to carve out some time dedicated to responding to email, planning upcoming projects, and collaborating with co-workers.
In a perfect world we would all be working together and thinking about the same things at the same time and there would be no interruptions. Of course this is impossible (unless we become the Borg… but that’s a whole different blog post). So, (for now?!) I’m okay with learning to manage interruptions and figuring out how to become a better co-worker.