なぜエンジニア(プログラマー)に話しかけてはいけないのか(脳と生産性の話)
Repsona LLCの@GussieTechです。ガントチャートも無料で便利な「理想のプロジェクト管理ツール」Repsona(レプソナ)を作っています。
あなたはエンジニアですか?エンジニアと仕事をしていますか?そのエンジニアは、話しかけるとものすごく嫌そうな顔をするのに、チャットの返信はものすごく早いですか?
なぜなのか。エンジニアに話しかけてはいけない理由と、生産性の話を書いてみようと思います。
エンジニアの脳内はどうなっている?
エンジニアの脳内は図のようになっていると考えてみます。PCに例えると、メモリとCPUとディスクに似ています。
取り出しやすい場所: メモリ
考える場所: CPU
保存する場所: ディスク
それぞれの場所は、それぞれのはたらきを担っていて、うしろに行くほどアウトプットと距離が離れていきます。
考えて考えて、出た結論をアウトプットする。考えた結果や、見たもの、経験したことを、記憶として定着させる。
では生産性が高い状態とはどういう状態でしょうか。
生産性が高い=アウトプットでまくる状態
生産性が高い状態とは、アウトプットがでまくっている状態です。フロー状態とも呼ばれるこの状態になっている時、ほとんどの場合「思考」は完了しています。
この状態に入る前段階として、しっかりとした「思考タイム」が必要です。思考に入るためには、必要な情報を整理しなければいけません。整理する前に集める必要があるかもしれません。つまり時間がかかるということです。
プログラマーの思考タイムは脳内で行われることが多いです。紙とペンで実際に書くスピードを大きく上回る脳内シミュレーションを行なっています。そして考えた結果、なんだかよくわからない絵を描き残し、アウトプットしはじめます。
「ちょっといいですか?」→ダメです
殺し文句です。本当に殺します。これを言われたプログラマーの脳はどうなるでしょうか。
「取り出しやすい場所」にあった、整理済み思考済みの情報は「保存する場所」に強制移動されます。
結論だけが保存されるので、そこに至った経緯やアウトプットとして出そうとしていた具体的なイメージがすっぽりと抜け落ちてしまいます。こうなるとまた思考が必要になり、「取り出しやすい場所」に戻すのに時間がかかってしまいます。
いつもは定時に帰るあの人が、なぜかたまに残業していると思ったらめっちゃ遅くまで残っているのも同じ理屈です。作業を中断すると、再開するのに時間がかかるのです。
でも話したいんだけど、どうすればいい?
非同期に依頼して時間を決める
できるだけメールやチャットなどを利用して、非同期でのコミュニケーションが望ましいです。しかし、もちろん話した方が建設的で、早いこともあります。両者フロー状態を意図的に外すタイミングを作って、会話をしましょう。例えばランチの前後など、あらかじめ時間を決めておくといいと思います。
小さくあいてる隙間時間を狙う
プログラミングには、そのプログラムを動く状態にするための「ビルド」という作業が行われることがあります。ビルドにはやや時間がかかるので、この隙間にSlackやメールをさっと眺めています。そして、すぐに返せそうな返事は返ってきます。「なんでSlackの返事は早いんだ!?」の理由はこれだったんですね。
エンジニアも会話の重要性に気づこう
いっぽうで、エンジニアの「おれはエンジニアなんだから話しかけるんじゃない」オーラ全開も問題です。顔を合わせて会話したり、ホワイトボードに絵を描きながら議論する作業は、ときに一気に物事の方向性を決めます。行き詰まっていたプログラミングに希望の光がさすこともありますよ。
まとめ
「エンジニア(プログラマー)」と書きましたが、頭を使ってアウトプットをする全ての人にあてはまると思います。集中してアウトプットする時間、議論して物事の方向性を決める時間、リラックスしてリフレッシュする時間をバランスよく持ち、それらの時間がチーム内でできるだけ寄り添っていると、「生産性の高い個」から「生産性の高いチーム」へと成長していけるのではないかと思っています。
より良いチーム作りをサポートしたい。そんな思いで「理想プロジェクト管理ツール」を開発しています。
この記事が気に入ったらサポートをしてみませんか?