タイトルが長いな。しかし大事なことなので端折らずに書かせてもらった。プログラマは、そのほとんどが頭脳労働、カッコよく言えば知的作業である。だから、思考を中断されるのをひどく嫌う。しかし、それがわかっていない非プログラマが多すぎる!
用事があるんだから、話しかけるのがなぜいけないの〜?ワガママじゃないの?
我々プログラマは、ジャマされたくないとか、不愉快だとか、そんな私的な理由だけで(もちろんそれはあるけど。w)、話しかけないで〜と単方向性のバリアを張っているわけではないのだ。
結論を先に言うと、効率がガタ落ちる。これに尽きる。おそらく、中断されることによるダメージが、あらゆる職種の中で最も大きいかと、勝手ながら思う。
何しろ、もう少しで完成という砂の城を一撃で破壊されたようなものなのだ。だから、やり直しになる。しかも、城の形は作るたびに変わる。完成形は、作りながら考えるしかない。なので、また城の形を考えるところから始めなければならない。
中断されたところから始めりゃいいじゃん、そんなに不器用なの?
じゃ、円周率を唱えていて、256桁目で中断して3分ほどお話しして、そのあとに257桁目から唱えてみろといいたい。できるという御仁もいるだろうが、いったん途切れた流れを元通り繋ぐのは難しいのだ。
プログラミングの作業は、一連の流れでできている。全体を組み立て、細部に落とし込み、一片のコードを打ち込むに至るまで、淀みない流れがなくてはならない。この流れを乱されたら、すべてがやり直しになる。
だから、効率が落ちる。ということは、コストパフォーマンスが悪くなり、これすなわち経済損失だ。プログラマは、決して自分勝手なワガママで、話しかけるなとかジャマするなと言っているわけではないのだ。あなたのために、職場のために、ひいては会社のために、ジャマしないで、とお願いしているのだ。
ということで、こんなツィート(正確にはそのコピペ)を見つけた。
エンジニアに作業中話しかけていいタイミングを聞いたら大体こんな感じだったんだけど : コピペ情報局
○がないのが笑っちゃうけど、うまく表現しているな。個人的には集中しているニャンコに惚れちゃうが、ワンコの表情が心配だ…。早く何とかしてあげて欲しい。