Microsoft創業者のビル・ゲイツ、Google創業者のラリー・ペイジ、Amazon創業者のジェフ・ベゾス、Facebook創業者のマーク・ザッカーバーグ――いずれも世界を大きく変える偉大な企業を作り上げた人物達だが、これらの人物にはある共通点がある。実は全員が、プログラマーあがりの経営者なのだ。偉大な企業を創り出すためには経営の専門知識が要りそうに思えるが、彼らが実際に保持していたのは経営の専門知識ではなく技術についての専門知識だった。それでも彼らはMBAホルダーの経営専門家たちがつくった会社より何倍もインパクトのある企業を創り出し、日々世の中に価値を創造しつづけている。
こういったプログラマーあがりの人たちが、いまビジネスの頂点に君臨しているのはなぜなのだろうか? もしや、プログラマーの頭の使い方には他の分野にはない秘密が何かあるのだろうか? 今回取り上げる『最速の仕事術はプログラマーが知っている』(清水亮/クロスメディア・パブリッシング/2015年7月/1480円+税)を読めば、そんなプログラマーの頭の使い方の秘密がわかるかもしれない。
本書の著者である清水亮氏は、IPAの未踏ソフトウェア創造事業で「天才プログラマー/スーパークリエイター」認定を受け、enchantMOONなどの独創的なプロダクトを創りだした国家認定の天才プログラマーである。本書は、そんな清水氏がプログラマーの仕事術や思考法を一般向けに解説したものであり、プログラマー以外の人にとっては非常に新鮮で面白い内容になっている。僕も一応本職はソフトウェアエンジニアなので本書に書かれていることの多くは意識して仕事をしているのだけど、プログラマーでない人に向けてここまでうまくプログラマーの思考法を説明できる自信はない。自分はプログラマーとまったく縁のない仕事をしているという人にこそ、読んでみてほしい一冊である。
「最速」はプログラマーにとって最大の関心事
プログラマーをやっていて、効率化のことを考えていない人はきっといないはずだ。仮にそういうことを一切考えたことがないという人がいたとしたら、その人はあまりいいプログラマーではない。プログラマーの実力の差は、この効率の差となってあらわれてくる。素人とプロのプログラマーの仕事の効率を比べると、何百倍、何億倍と差がつくことだってありうるのだ。
たとえば、本書の著者はアメリカの大学の特別講義で「今から90秒以内にゲームをつくってみせる」と宣言し、実際には46秒で完成させたという。ちなみに、その大学の学生は、ゲームプログラミングに2週間を費やすらしい。2週間と46秒、この差はあまりにも大きい。プログラマーによる効率化は、このレベルでの劇的な生産性アップをもたらすことも少なくない。
同じことは繰り返すな(DRY――Don't Repeat Yourself)
このようにプログラマーは他分野では考えられないほどの効率化を実現するが、それを実現するためにいくつか定石のようなものが存在する。
たとえば、本書で一番最初に紹介されている定石は、DRY原則と呼ばれるものだ。DRYとはDon't Repeat Youselfの頭文字を取ったもので、「同じことは繰り返すな」という意味である。新米のプログラマーは、以前書いたようなコードと同じ処理をするコードを書くために、よくコピペを用いる。これは実はDRY原則に反しており、推奨されない。以前書いた処理と同じことをさせるために、コードをコピペするのは一見効率的に思えるが、いざその処理を変更しようとした場合、コピペしたコードをすべて変更しなければならなくなる。これではメンテナンスは容易ではない。処理はひとつにまとめて、使いまわすのが効率の面では実は一番よい。
これは、プログラムを書くときだけに当てはまる話ではない。たとえば、メールを書く時によく使う定型文(「いつもお世話になっております」「何卒、よろしくお願い申し上げます」など)を、毎回毎回繰り返して書くのは明らかに効率が悪い。しなくてよい作業を繰り返しているので、これはDRY原則に反している。これをDRY原則に則って、たとえばIMEの辞書機能などを使って定型文として登録するなどしておけば(「い」とタイプすれば「いつもお世話になっております」と出るようにする)、メールはものの数秒で完成する。そうやって自分だけのテンプレート集(=ライブラリ)をつくるという発想は、まさにプログラマーの仕事術に通じている。
一見非常識だが合理的な仕事術
他にも、本書で紹介されている仕事術はプログラマーでない人でも役に立てられるものが少なくない。中には、「客からの電話には出ない」「プレゼン資料は直前に書け」など、一見非常識に見えるものもあるかもしれないが、これらにも当然効率を追求する上での合理的な理由が存在している。
会社で働いていると必ずしも効率が第一とならないことがあるのですべてを取り入れることは難しいかもしれないが、一部でも自分の仕事に取り入れられれば効率は劇的に改善するはずだ。「最速」の仕事を目指すために、ぜひ本書の内容を活用してみてほしい。
日野瑛太郎
ブロガー、ソフトウェアエンジニア。経営者と従業員の両方を経験したことで日本の労働の矛盾に気づき、「脱社畜ブログ」を開設。現在も日本人の働き方に関する意見を発信し続けている。著書に『脱社畜の働き方』(技術評論社)、『あ、「やりがい」とかいらないんで、とりあえず残業代ください。』(東洋経済新報社)がある。