In this installment I'm going to chat about how I try to minimize distraction.
There's often more than one thing competing for our attention at the same time: team and department meetings, team discussion (task planning, working through your problem or helping someone else work through theirs), team code review, production support (general, as well as hotlist priority), production team meetings, and then what we perceive as our actual job of writing code.
The core department supports a number of email lists. There's the general department list (which started out as an internal list, but grew significantly as more people added themselves and now includes over half the company), a tools specific list, an internal list per core team (of which there are five) and various other cross team lists. We encourage open communication and promote discussion and knowledge sharing through these lists. There's a lot of email flying around each day.
Most people run internal IM and use it to get direct answers to questions. A number of people run Skype, mainly using it to chat between Burbank and North Carolina. Email, IM and Skype generally trigger visual popups and audio alerts when something new is received. You're obviously not in control of when these occur, and they have a very good chance of distracting you from your current task. They break your chain of thought and it takes time to get back.
I disable the visual and audio notifications in Outlook, IM and Skype. I keep the taskbar notification icon, but I have the taskbar set to auto hide, I can then choose when to check for new items. If I'm really trying to focus, I close them altogether (if something's really on fire, someone will come and find me).
Music also helps me focus - the choice of music is obviously a personal thing, I usually prefer something with minimal lyrics. I also find noise generators to sometimes be helpful - Noisli is an online site, SimplyNoise (iOS, Android) is an iOS / Android app.
That wraps it up for now, next time I'll chat about ways I try to focus on what's important.
-- Jonathan Garrettt (Lead Engine Programmer)