プログラミング 美徳の不幸

Ruby, Rails, JavaScriptなどのプログラミングまとめ、解説、備忘録。

魅惑の文学部エンジニアリング

某大手ソーシャルゲーム企業で球団を持ってない方の会社のCTOの方(以下Fさん)と幸運にも少しお話させていただく機会があった。私よりも13コ上で、私よりも5年も若い時からプログラミングをされていたというから約20年近いキャリアギャップが存在し、僕ごときがいっちょまえに会話するなんて図々しい話なのだが、一つ共通する話題があった。それが文学部出身であるということ

僕は文学部哲学科で、Fさんは文学部英文科。そこで私が「CTOのFさんですよね? 僕も文学部エンジニアなんですよ!」と話しだして楽しい会話が始まった。

Fさんはすでに中学生時代からゲームのコピーガードを外すべくリバースエンジニアリングからキャリアをスタートさせていたといい、大学は仕事とは別と考え完全に趣味として文学部でナルニア国物語の研究をしようと考えたという。この点は私も似ていて、私も文学部を志望したのは、というよりは文学部生すべてに言える気がするが、仕事なんて一切考えずに趣味の追求のためであった。そして仕事は仕事で、別で独学で覚えればいいというのが基本スタンスである。

だからいま、もし入学時に戻って学部を変更できたとしても、理学部や工学部ではなく真っ先に文学部を選ぶだろう。せいぜい哲学科ではなく宗教学科かフランス文学科あたりに変更したかもしれないという程度である。これがまず文学部エンジニアリング第一の教訓 大学における知的好奇心の充足と、仕事における有用性・生産性の追求は別離せよである。

しかし、現実問題理系のほうが一般的にプログラミングは強い。例えば私は行列は基本的な概念すらおぼつかないので3Dプログラミングはほとんど理解できない。また暗号化のアルゴリズムの詳細な実装とか、アセンブラとか、そういうレベルになっても弱みが出てしまう。だから工学部や理学部に入ったほうがプログラミングの知識を広げる上では確かに有用なのである。
さらに文学部エンジニアには甘えが許されない。「いや、僕は本当は文系だから、ここから先はよくわからないなぁ」なんて発言は絶対にしない。「だから文系はたかが知れてるんだよ」なんてなめられてもいけない。これが第二の教訓 プログラミングの実力不足を文学部のせいにしないである。

理系のGeekにも勝るとも劣らない実力を身につけたら、今度は文学部エンジニアリングの本領を発揮する時だ。究極的な強みは、理系は絶対に発想・想像しない着眼点を持てることだ。

インフラエンジニアの皆様方におかれましては、日夜障害発生に恐怖する毎日だと思いますが、文学部エンジニアリングを極めればこんなものなんてことありません。
なぜなら宗教学系エンジニアは世界中の神々を召喚して障害防止を祈願することができます。
哲学系エンジニアは「障害=disability,欠如とはいったい何か」を考えます。
倫理学系エンジニアは「世界中の国々で今も紛争や貧困が発生しているのに、果たしてこのサービスが停止することが世界にとって必ずしも悪といえるか」と考えます。
社会学系エンジニアは障害発生が社会にもたらすデータを統計分析するいい機会だと感じます。
仏文系エンジニアは熱い紅茶にマドレーヌを浸し、過去にさかのぼります。
独文系エンジニアは「時よ止まれ、お前はあまりに美しい!」
ロシア文学系エンジニアは発狂します。
歴史学系エンジニアは障害発生について運営者とユーザ間の歴史認識の違いに着目するかもしれません。