集中力が生産性を上げる
どんな仕事であれ、「集中力」があったほうが生産効率が上がることには疑問の余地はない。一流のスポーツ選手の集中力には凄まじいものがあるし、エンジニアであれ、営業職であれ、事務職であれ、仕事に対する集中力が高い人のほうが生産性が上がるのは当然である。
その中でもソフトウェアエンジニアという職にとって、「集中力を高めて仕事をすること」は特に重要だと私は考えている。
プッシュ型メディアと集中力
しかし、インターネットにつながっていなければ仕事ができない今、ソフトウェアエンジニアは常にさまざまな「プッシュ型メディア」の刺激と誘惑にさらされている。「プッシュ型メディア」とは、こちらからわざわざ情報を取得に行かなくても情報を届けてくれるメディアのことである。昔からあるのはメールやSkype、そして最近ではTwitter、Facebook、Google Chatなどがそれに当たる。
こういった「プッシュ型メディア」がソフトウェアエンジニアから集中力を奪うのである。それだけならまだよいのだが、ものによっては「仕事をした気にさせる」効果すらあるから始末が悪い。
Railsの開発者でもある37 SignalsのDavid Heinemeier Hanssonは、あるカンファレンスのスピーチで「朝一番にメールのチェックはするな」と主張していた。それは「メールをチェックすること」が「仕事をしている」ような錯覚を生み、朝の頭の冴えた貴重な時間を奪ってしまうからだ。「メールをチェックしているうちにあっという間に時間が経ってしまった」という経験は誰でもしたことがあるはずだ。
最近は、メールにFacebookやTwitterなどが加わり、「SNS(Social Networking Service)で人とコミュニケーションしたり、そこで紹介されたWebサイトやビデオをチェックしている時間」が知識労働者の生産効率を著しく落としはじめているというデータもある。
プログラミングには高い集中力が必要
知的労働の中でも、プログラミングは特に高い集中力が必要な仕事である。プログラム全体がどう動くかを把握しながらコーディングする必要があるからだ。十分に集中力の高まった状況(「ゾーン」と呼ぶ人もいる)に自分を持っていくのにはそれなりの助走時間がかかるので、1日に何度も入れるものではない。そのうえ、集中して仕事をするにはかなりの体力も必要なので、そんな「ゾーン」に入れるのは、せいぜい1回あたり2時間、1日4~5回が限度である。
そのため、ソフトウェアエンジニアとして生産効率を高めるためには、食事とトイレの時間を除いた大半の時間を「ゾーン」で過ごすように自分をコントロールし、自分の時間をマネージする必要がある。
しかし、実際にはミーティングや資料作りなどの時間も必要だし、会社で働いていれば、誰かに話しかけられたり、電話がかかってくることによって集中が解かれてしまうこともよくある。
それでも何とか工夫すれば、残業時間も含めて1日4~5回の「集中を高めてプログラムを書く時間」を持つことは可能だが、ここで一番の障害となるのが、上に書いた「プッシュ型メディア」なのである。
プッシュ型メディアの弊害
PCの前に座って仕事をする限り、新しいメールはいつでも入ってくるし、FacebookやTwitterには常に新しいメッセージが追加される。それが「今やっていることをちょっとだけ中断してチェックしよう」という誘惑になるのだ。
特に「簡単には書けないプログラム」に頭が煮詰まっているような状態のときに、「この煮詰まった状態を打開するには、一休みしたほうが生産効率が上がるかもしれない」という理由が格好の言い訳となり、エンジニアを「メールやFacebookのチェック」に走らせるのである。
この「煮詰まった状態を打開するために一休みする」ことそのものにはたしかに意義があるが、「椅子から立ち上がってノビをする」や「コーヒーを1杯飲む」という脳みそを休ませる行動と、「メールやFacebookのチェックする」には大きな違いがあることを意識しなければならない。
メールの場合には、内容によっては「その場ですぐに返事をしなければいけなくなる」可能性もあり、それによって集中力が大きく削がれることになる。たとえすぐに返事をする必要がない場合でも、どうしてもそちらに意識が持っていかれる。
FacebookやTwitterの場合はもっと始末が悪い。まず第一に、この手のSNSには、その性格上、どうしても自分が興味を持つ情報が流れるので、送られてきたWebサイトやビデオへのリンクをクリックしてその先を読みたくなる衝動に駆られるのである。
そのうえ、「友達の投稿にはリアルタイムで目を通して、『いいね!』ボタンを押すなり、コメントを残すなりして親愛感情を表現することが友達関係を維持するためには大切」と考えてしまう、Facebook依存症の典型的な初期症状がある。依存度の高い人にとっては「強迫観念」にも近いこの感覚が、メールよりもはるかに高い頻度で人々の集中力を奪うのだ。
ゾーンを取り戻す難しさ
この手のプッシュ型メディアの弊害も、それほど集中力を必要としない仕事にとってはそれほど大きくない。仕事中に「Facebookに新しく投稿されたメッセージをチェックすること」に10分費やしたのであれば、仕事の時間が10分失われるだけの話である。
しかし、「集中力を高めてゾーンに入って」コーディングしなければならないソフトウェアエンジニアにとって、このプッシュ型メディアの影響はとても大きい。たとえ「Facebookに新しく投稿されたメッセージをチェックすること」そのものには10分しか費やさなかったとしても、せっかく入った「ゾーン」から引きずり出されてしまうのであれば、失われた時間は10分よりもはるかに大きくなる。
プッシュ型メディアに対抗する方法
プッシュ型メディアに対抗する方法はいろいろとある。企業であれば、「FacebookやTwitterへのアクセスを禁止してしまう」という方法もある。実際、米国では50%以上の企業が職場からSNSへのアクセスをブロックしているというデータすらある。
個人レベルで言えば、「集中して仕事をする必要があるときは、FacebookやTwitterには一切アクセスせず、通知も切っておく」という方法もある。私自身も、Skypeは必要なとき以外立ち上げないようにしている。また、一日のはじめに、その日にやるべき仕事(タスク)を箇条書きにしておき、それぞれのタスクを実行している間は割り込み禁止にする(つまり、メールやFacebookには一切アクセスしない、電話にも出ない)という仕事のしかたもある。
しかし、こういった工夫も、本人が固い意志を持っていない限りなかなか根本的な解決にはならない。
プッシュ型メディアを仕事で使うメリット
一方、SNSを利用するメリットも忘れてはならない。実際、FacebookやTwitterなどのSNSを、仕事効率化の道具として使いこなしている人たちが数多くいることを考えると、アクセスを禁止してしまうのはあまりに乱暴である。
特にOSS(Open Source Software)を活用するような仕事をしているエンジニアたちにとっては、開発コミュニティとのつながりそのものがその人の財産でもあり、第二の頭脳のようなものなので、SNSから切り離すことが必ずしも生産効率を上げることにはつながらない。この点に関しては、Social Media Todayに「Twitter and Facebook:
Productivity or Distraction?」という興味深い記事があるので一読をお勧めする。
モチベーションを上げることが一番
このように、SNSへのアクセスを遮断するのにも限界があるし、SNSを仕事で使うメリットを失うのも、生産性を下げる結果につながりかねない。
では、どうしたらこの「プッシュ型メディアの誘惑」に対抗できるであろうか。私は結局のところ、エンジニアの仕事に対するモチベーションを上げるしかないと考えている。
エンジニア自身が、「生産効率を上げたい」「1日でも早くより多くの人たちに自分が書いたプログラムを使ってほしい」と心の底から思えば、「メールをチェックしているだけで仕事をした気になってしまう」ことも「ちょっと休憩するたびにFacebookやTwitterをチェックしたくなる」ことも抑えられる。
私自身、「本当にプログラミングに集中したい」と感じているときには、ブラウザのFacebook、Twitter、Gmailなどのページを閉じてコーディングに集中する。当然、電話も受けない。場合によっては携帯電話の電源すら切ってしまう。
最も大切なのは、「そうまでして生産効率を上げたい」と思う気持ちである。会社が成し遂げることと、自分のやりたいことのベクトルを合わせ、「ユーザに喜んでもらえる、価値を提供できる」ものを作る。それに勝るものはないと考えている。
エンジニアのモチベーションを上げるにはどんな方法があるかについて、次回から書いていきたいと思う。