The frustration comes through loud and clear in your post, and I am sure plenty can relate to it.
That said, one thing I was curious about is what kind of interruptions you tend to experience day to day. When people try to talk to you when you've got headphones on, what is it they're asking for?
Some examples would help!
Is it normal for developers to feel this way?
I personally don't mind questions or even small talk, if anything those things make the time fly by
I don't mind questions or helping people. I am specially talking about situations where I am in the zone and intentionally trying to drown out distractions and noise.
I love good office chats and banter as much as the next person, but if I have a deadline or a lot on, sometimes I need to escape into my own head and drown everything out.
Absolutely. It's not the interruptions that bother me so much, it's the timing of people in general. The post might suggest otherwise, but I love helping people, it's part of my job.
Interruptions range from impromptu last minute meetings (especially those I didn't even need to be in), people asking what I am doing for lunch through to asking questions they could have Googled or Slacked me.
To me, if I have headphones on, people should take that as a sign I am busy. I go most times of the day without headphones on at all, which people are fine to come and ask me things.
Got it, thanks for clarifying.
And I appreciate you counterbalancing things a bit here, because just as there is the stereotype of the super chaotic and constantly distracting office, there is also the stereotype of the aloof and hard to reach programmer. That doesn't seem to be the case in your situation, but I have seen situations where that perception has made things even worse, because then other people in the company begin to think "If I need something, I just have to go tap on their shoulder."
I do think the signal of "headphones on means I'm focusing" is a pretty clear one, but sometimes it isn't enough to break habits, and also sometimes there is a mismatch in expectations on how long is a reasonable time for someone to be "in the zone" during office hours.
Some things that could possibly help.
1) Setting up proactive office hours where you are very explicitly interruptable for questions or general work conversations. This way people have a time each day they know is convenient to you, and you can use that to politely ask "can this wait?" whenever something comes up outside of that time. A lot of these questions may indeed be answerable via email but people have different communication preferences and some level of compromise goes a long way.
2) Intentionally time boxing focused work can go a long way towards restoring balance. For example, using pomodoros where you go heads down for 25 mins and then take a break for 5 mins leaves a short window where if someone wants to reach you, they can, even if your response is something like "Oh, we can talk about it after lunch if you're free, I have something I'm in the middle of that I need to wrap up first."
3) Finally, not sure if the people interrupting you are also in your stand-ups... (which I mostly agree are often misused but that is a whole other conversation)
If they are in the standups, in theory, this is the time in the day where saying "I have a lot to do on ThingX and will be heads down for most of the morning, so if anybody needs anything please catch me right after standup or after lunch" can go a long way.
To sum it up, I think most devs feel this pain in some form of another in offices, but headphones on their own are a reactive response to a reactive environment. Taking some proactive measures im shifting how and when communication happens can make a difference.
(And when it doesn't work, then it may be the sign that finding a more accommodating workplace would be a good idea)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.