Impromptu meetings are clearly a sign of disrespect, you sure got him there!
Reducing human interaction to schedules and timetables is one of the worse social diseases of this profession and I am personally very much done with playing nice with the people who wish to coddle them. Your coworkers are no less important than you are, and sometimes they have the temerity to need you for a human interaction at a time not in your calendar. I am certain you and your precious, all-self-important flow can deal with it.
Interrupting someone because you have a question is terrible for knowledge workers. If you can't wait long enough to ping them on IM or send an email, something is very wrong in your workflow.
Ahhh, premature optimisation! You've optimised for your time, but have you optimised for the best efficiency at the company level? Ok, so your precious flow doesn't get interrupted, but the person that had a question that needed your input now has to wait around until you deign to respond.
You know who doesn't work that way? Fabrice Bellard. If you're lucky enough to be his co-worker, you can sit down next to him and ask a question at any time, and he will stop what he's doing and answer you. Then he'll get back to work.
The attitude you expressed above (and it's far from uncommon here on HN) is just an example of developers wanting to be treated like special snowflakes. I do not believe this is a desirable trait for someone working in a company.
This attitude tends to stem from having been managed by non-engineers. Spend a year or two working for someone who interrupts you for updates every 15-30 minutes, and you get extremely protective of your focus. You also become aware that the cost of interruption is relatively high. Generally, developers don't want to be special snowflakes. We want to be allowed to actually get our work done in a reasonably time-efficient manner.
Perhaps that is not a desirable trait for someone working in a company.
Also, I submit that if your company is larger than a couple dozen people and there are many questions that cannot be answered by more than one person, then your company has significant compartmentalization problems.
Thank you for expressing exactly what's going on in my mind.
I hate being interrupted, we all do, even working as a cashier in McDonalds. But the idea that a special branch of people SHAN'T be interrupted is snowflake treatment.
I already feel privileged over other employees in my company for having flexible workhours (felt sick yesterday evening, sent a text at 1am and got at work around 2pm today despite a production deployment being scheduled for 5pm), now if suddenly MY time is more important than anyone else's, I'm not an engineer, I'm a snowflake in an ivory tower.
If my junior intern is being delayed in her work because I can't answer her questions, I'm not her manager, I am the idiot who is delaying our team's output.
She is one meter to my right, unless I tell her "Sorry I'm trying to think of something give me five minutes", I want her and ANYONE who joins my team to ask me any and all questions, otherwise A) I've done a bad job showing my team they can communicate properly with me B) I've done a bad job managing them because I am slowing them down.
> Interrupting someone because you have a question is terrible for knowledge workers.
A couple people having the sheer clanging temerity to ask me a question doesn't bother me a bit, and I'm not special. I've learned to work in the kind of comprehensible chunks that allow me to be useful to other people, though, because being a multiplier is vastly more valuable (and pays a lot more) than being an adder.
Meeting for everything is bad as well. I don't like email/chat and I consider that wastes lot more time for miniscule task. Want to cost of something. Pick the phone and ask.(Check if the person is free or busy in calendar). I appreciate the following. Physical/Direct -> Phone -> eChat -> Email. makes thing faster
I would consider that you add a step before making a phone call or going and tapping somebody on the shoulder.
The thing that most threatens my zone is when the headphones need to come out. The _only_ exception is a simple yes/no, such as, "hey, want a coffee from Starbucks?" Anything bigger, whether a phone call or tap on the shoulder can really kill my session or workday. I'm talking your five minute conversation costing an hour or more of wasted time.
What do I recommend? Message me first and say "hey are you free to chat?"
> Anything bigger, whether a phone call or tap on the shoulder can really kill my session or workday.
This is so manifestly out of proportion to the disruption that I would (gently, as I am not unsympathetic, and personally I have no problem with IM, though emails can go to hell because developers generally ignore them) call it the kind of personal problem I'd hope you could work on and improve rather than imposing that on everybody around you who expect generally reasonable parameters of human interaction.
Working as a remote ops guy setting up a startup's systems, my quality of work dramatically improved when I joined the team in person, because I got to hear the various little things that people don't mention in online chat, and was able to account for them. This idea that all communication is entirely possible to be held within scheduled meetings is incredibly naive.
a.k.a you like to interrupt people on a whim. Show some respect and just schedule a meeting.