Programming is a process of figuring out lots and lots of small problems. This can be a rewarding and enjoyable experience, like doing a crossword, but at other times it can be stressful and unpleasant, especially when you're not in the mood. In this series of posts I want to talk about managing the inevitable stress caused in web development.
Don't try to work on unrelated problems at the same time
In development, we sometimes have to wait. For example, when launching a server we might end up staring at a command console as the software installs. My advice is to wait patiently, walk away, or prepare the additional steps required when the server is ready. Keep yourself focused on a single overall task.
Mental stress can occur when we jump into another project or an unrelated task during this wait time. Opening your emails, looking at code from another project, things like these will introduce an array of unrelated problems into our short-term memory and we may find ourselves losing grip on all tasks.
For programmers, mental stress and distractions will affect the quality of our work. We have to be sure that one problem has a reliable solution before moving to the next problem. So I try to follow a simple rule: Don't ever try to work on unrelated problems at the same time.
This also applies to phone calls and emails. Communications require just as much mental focus as programming and who knows what new problems our clients might introduce in conversation. Put your phone on silent while you are working and make sure you are relaxed and ready before pondering the next big problem.
This post was inspired by an easy to read book on human thought processes and their limitations: Thinking Fast & Slow - Daniel Kahnenman.