Every developer knows the feeling: you get so absorbed in your work that you completely forget everything else, including time and the people around you. You have entered the flow, the zone or whatever else people like to call it, and you become one with you work. It’s a great experience and a rewarding feeling.
But then, out of nowhere, you pulled back out of flow, distracted and maybe even forced to change your focus. At a lot of companies, including Vertica, people work in an open office space. There are a lot of good things to be said about open office spaces, but it can, at the same time, also be the origin of a lot of factors and happenings that can pull you out of the flow or even completely prevent you from getting into it the first place. In this post I have put down some things I am already doing, as well as would like to do in the future, to give me and my colleagues the best conditions for getting into the flow.
The desktop - the virtual and physical
More and more programs uses different sorts of alerts to inform about new happenings. I.e. as default Outlook shows an alert whenever a new mail arrives including sender information and the first couple of line of the mail. When you send an email you cannot expect immediate response anyway, so there is really no reason for this alert as I see it. I still get the small envelope in my System tray though, but I have moved my email client to my secondary monitor, so the inconvenience is as limited as possible.
Another application very good at generating alerts is Windows Live Messenger. With a comprehensive contact list you can get a lot of "signing in"-alerts. Maybe not enough to pull you out of the flow, but annoying anyway. Luckily they are easily disabled.
As opposed to alerts that only bother the one receiving then, the phone has the ability to bother even more people, especially in open office spaces. Turning down the volume of the ring tone as much as possible helps not to disturb others to much. I also use the DND function on the phone, both when not at my desk and also when I just want to get some work done. When I am not at my desk there is not reason for my phone to bother anyone else when ringing.
I would also love to have software phones. This would remove the annoying ringing for anyone else than the person who's phone is ringing and also providing even more features helping productivity.
The Office and the Colleagues
Interruptions by colleagues is also a common way to be pulled out of the flow. It is always a thin line when you should ask for help, and when you should search for the information yourself. I recommend being very deliberate about when to contact colleagues and maybe even try to time it, so you ask questions when people are interrupted in their work anyway, maybe going to get coffee or something similar. Also it is certainly okay to say no, when asked if you have two minutes for helping someone.
If you have individual offices you would be able to close the door to signal that you would not want to be disturbed, but is it a bit more difficult with open office spaces.
I also know of a company with an open office space environment who have equipped all monitors with a small flag, that anyone can raise if the do not want to be disturbed. A simple and easy way to communicate to your colleagues that you are working and they should stay away for now. It is also said to be working quite well.
A lot of people has written about the flow and how to get into it. One place to start reading the That Voodo You Do. Also I have previously written about Peopleware that definitely also is a recommended read.
If you have initiatives that help you getting and staying in the flow feel free to drop a line in the comments.