理論は暇人のためのものではないということ。 | 本郷ではたらく社長のブログ

理論は暇人のためのものではないということ。

職業柄、会社についていろいろ意見を頂くことがあります。ネット上で書いてある意見なども見たりします。中には感情的な意見もありますが、その感情に至るまでには何らかの理由があります。ですから、肯定的な意見も、批判的な意見も、製品開発やサービス開発においては非常に参考になります。でも、ひとつだけ、僕が絶対に許せないことがあります。僕は、自分の会社のメンバーが侮辱されることは、それがどんな理由であれ、許せません。


たまには感情的になったっていいじゃない。大人げなくたっていいじゃない。


IT企業が、理論を軽視していいものか。理論が好きな人間を暇人と侮辱していいものか。そもそも、ITの世界で、理論好きか理論が嫌いかという議論が意味があるのか。ITにおける理論は、僕はコンピュータサイエンスだと考えています。コンピュータサイエンスが好きとか嫌いとかの問題の前に、ITに携わる人がそもそもコンピュータサイエンスを好きでなくてどうするのか。


情報理論やアルゴリズムをなめるな、といいたい。工数だけでものごとを考えて、プログラミングの基本であるアルゴリズムに深く思いを巡らせないのは、人月という考え方が定着しているからに他ならないのではないか。


たとえば、検索エンジンの実現は、もはやシステム構築という考えだけで捉えられるものではない。文字列をただ文書集合にマッチさせるという処理だけでも、無数のアルゴリズムが存在する。分かち書き転置インデックス・Nグラム転置インデックス・サフィックスアレイなど、いろいろなアルゴリズムが考えられて、その計算量が議論されてきた。計算量のオーダーは、単純に論文の中で論じられるだけのものではない。実際のシステムの設計に大きく影響する。時間計算量・空間計算量、そのどちらも細部まで把握することができなければ、システムに不必要な台数のマシンを投入してしまうかもしれない。


メモリヒエラルキーは、コンピュータアーキテクチャが生み出した大きな発明である。普通、まともなコンピュータサイエンスの学科であれば、早々にメモリヒエラルキーが計算速度にどのような影響を与えるか、そして、なぜそのような仕組みが必要であるかを学ぶ。コンピュータの設計者だけの問題ではない。メモリヒエラルキを実装者が考慮できるかできないかで、プログラムの性能は何倍も変わってくる。時には、何十倍というレベルで変わってくることもある。


プログラミングのあらゆる局面において、コンピュータサイエンスは重要な存在である。コンピュータやプログラミングの原理を説明するのが、コンピュータサイエンス、いわゆる理論である。型システムが重要だ、ということだけを説明するのはたやすいしわかりやすいだろう。でも、なぜ型システムが重要であるかをプログラマは知らなければならない。型システムは、万能ではない。型システムがどうしてプログラムの安全性を保証できるかを知らなければ、どのような局面で安全性が保証されるかを把握することはできない。


研究の中には、直接実用化に結びつかないものは数多くある。ただ、そこに至るまでの考察が実際の実用化において力になることは多々存在する。理論そのものと、その理論を頭で噛み砕く思考回路、両方が、プログラミングにとっては必要不可欠である。


だからといって、理論さえ知っていればいいというわけではない。あくまで、理論は必要不可欠であるということである。コンピュータサイエンスのバックグラウンドが身についていないと、システムを最適化することはできない。コンピュータサイエンスは、あらゆるモジュールの基礎になっているし、そのモジュールが動作するプラットフォームである「コンピュータ」の基礎になっている。好きとか嫌いとかそういうレイヤーで話される類のものではない。


理論は暇を持て余している人が暇つぶしで考えるもの、みたいな考え方は、エンジニアをリソースとしてしか捉えられなくなってしまうのではないか、という恐怖がある。多くの企業にとってはエンジニアはリソースなのかもしれない。ただ、僕はどうしてもそういうように考えることはできない。いくらこの職業を続けていても、決してそのような考え方はできないと思う。


僕は経営について勉強し始めたのは大学院の2年生のころからであるから、相当に稚拙であるし、今までも会社を進めていく中で、違った価値観に触れることは非常に多く、学ぶべきことも多い。ただ、自分として絶対に曲げてはいけないことがあって、それは、エンジニアの価値観を否定してはいけない、ということである。PFIにとって、エンジニアとはプログラムを書くためのリソースではない。新しい価値を一緒に生み出していくためのパートナーなのである。パートナーを守れないのだったら、そして、傷つくのを黙って見過ごすのならば、僕の価値はないし、PFIがもしそのような会社だったら、即刻無くしたほうがいい。


自分の考えが正しいことを、実績でしめさなければいけないです。そのためにも、僕ら自身、ユーザーの皆様の幸せを最大化する新しい価値の追及にむけて、自分たちだけでなく皆様の意見も頂きながら、よりよい製品・サービスに結びつけていきます。よろしくお願いします。