"I'm pretty happy with them. I'm fairly easily distracted by noises: Heavy walking noises, talking, laughing, phones ringing, folks rustling potato chip bags... It can all mess up my concentration if it comes at an inopportune moment. I'm the only programmer here so most of the folks here do not understand how easy it can be to derail someone that's coding when you catch them in the middle of a thought."-- robflynn, emphasis addedProgramming is a task that required a lot of cognitive processing. Hence you need to be totally immersed when coding. Any distraction will break your flow and is hard to go back to that state again. This is especially true if your're working in an open-plan office.
Rather than shifting the blame on your surrounding, why not make some adjustment to yourself ? I have been asking the same question for many years. How do you get back into the zone before or after any distraction? I've been trying two ways these days. Pomodoro time management technique and noise isolation devices.
First, Pomodoro technique. Seemed to work for me for the past one year. I always can get back to my last task safely without any issue even I may lost track of things while fire fighting.
Second. Headphone or earmuff. Decided to ditch the headphone approach as you just can't listen to music non-stop. Furthermore, wearing a headphone is not noise cancellation, is noise substitution. I am currently testing earmuff approach but experienced mixed results. There is some form noise isolation but the noise cancellation still a lot to be desired. Compare to a headphone, earmuffs felt tighter, less noisy, and you looks like a flight deck crew on one of those aircraft carriers. Also, is quite difficulty to carry a conversation with other.
In short, will still testing different kind of earmuffs and find the right one that can help me get into the zone as quick as possible.