エンジニアの生産性と集中力、スタートアップと少しからめて
GWなのに具合が悪くて(´・ω・`)
もう寝ようと思っていたら、
WEB+DB vol.68 pp.2-3「プッシュ型メディアが生産性に及ぼす影響」
を読んで感化されたのでブログ書くことにしました!
全くまとまりのないタイトルで残念なのですが、自分の最近の働き方と絡めて感想を綴りたいなと思います。
記事の中では、
知識労働の中でも、プログラミングは特に高い集中力が必要な仕事である。
十分に集中力の高まった状況(「ゾーン」と呼ぶ人もいる)に自分を持っていくのにはそれなりに助走時間がかかるので、1日に何度も入れるものではない。そのうえ、集中して仕事をするのにはかなりの体力も必要なので...
とエンジニアはとても集中力が必要なんだよと説明しています
それにはとても共感していて、私自身もプロジェクト初期の設計段階や大事な認証部分などのロジックを考える時はひとりモレスキンを持って静かなカフェに篭ったりもしていました。
手慣れた実装や「刺身たんぽぽ」のような作業は集中力が浅い状況でも問題はないのですが、そういった作業は極力自動化されるべきですよね。
それを踏まえた上で「プッシュ型メディア」の影響について書かれています。
「集中力」を高めてゾーンに入って」コーディングしなければならないソフトウェアエンジニアにとって、このプッシュ型メディアの影響はとても大きい。
たとえ「Facebookに新しい投稿されたメッセージをチェックすること」そのものには10分しか費やさなかったとしても、せっかく入った「ゾーン」から引きずり出されてしまうのであれば、失われた時間は 10分よりはるかに大きくなる。
まさにその通りだと思っていて、TwitterやFacebookからのプッシュ通知を全て受け取っていたら浅い集中力の領域から抜け出せないと思います。
これは「プッシュ型メディア」だけでなく、単純に近くの人に話しかけられたりすることも一緒ですよね。
自分も集中力の高さがウリだったので、作業中に話しかけられたり、喧騒な場所で作業をするのをとても嫌っていました。
今でもスカイプを起動していないのもこの理由です笑
とはいえ、それによって相手の作業が滞ったり、チームとしてのスピード感が無くなってしまうのは本末転倒なので、最近は極力即時的にレスポンスを返せるように努力しています。
いわゆるスタートアップと呼ばれるようなチームにおいては1人の領域がとても広いので、決まった領域のことを淡々とこなせばいい時間は非常に少ないと感じています。
圧倒的な集中力が必要なエンジニアリングとコミュニケーションの速さのバランスが難しいのですが、これにはソフトウェアエンジニア以外の人の理解が欠かせないと思います。
ところで、naoyaさんのブログにこのような記事があったのを思い出しました。
naoyaの寿司ブログ
"時間をこま切れにされたら、人は何ものにもなることができない"
その中で紹介されている吉本隆明さんの 『ひきこもれ』という本の中で
「分断されない、ひとまとまりの時間」をもつことがどんな職業にもかならず必要なのだとぼくは思います。
とあります。
ひとりでいると欝になるので引きこもって作業するのは好きじゃないのですが笑、「分断されない、ひとまとまりの時間」はとても大事で、その領域を極めるためには絶対必要なものだと思います。
差がつくのはこの時間の質に依るはずです。それがソフトウェアエンジニアの領域においては集中力だと思っています。
ソフトウェアエンジニアには集中力が必要です。
だからといって、エンジニアには仕様書以外渡すなとか笑、SNSは全くやらないほうがいいといった類いの主張ではありません。
ただ、そういった周りの理解がより高品質なサービスを生むと信じています。
自分もコミュニケーション量をうまく保ちつつも、集中力を高めて作業できるようにしてきたいなと思いました:-)