2008年8月23日(土)、ジュンク堂書店 大阪本店にて、(株)はてなの伊藤直也氏によるトークセッションが開催された。今回のイベントは、『 [24時間365日]サーバ/インフラを支える技術 』( 伊藤直也/勝見祐己/田中慎司/ひろせまさあき/安井真伸/横川和哉著、技術評論社)発刊に関連して、ジュンク堂書店大阪本店企画/主催で実現された。
はてな伊藤直也氏
私にとっての技術書、読書
今回のテーマは「私と技術書」 。トーク中に「プログラミングは世界を変える(※注 ) 」 「 ハッカーになりたい」 、そんな率直な思いを言葉にした伊藤氏にとっての技術書とは、読書とは、いかなるものなのだろうか。
テーマは「私と技術書」
冒頭、自分にとって"本を読む"ということについて、以下のように紹介。
本を読むこととは、その本を読んだことに費やした時間の間、その書籍のテーマについて考えを巡らせることではないか 、と近頃思います。本を読みながら集中して、ある特定のテーマについて考え続ける。本を読み終えた頃には、その思考の量的な価値が、自らの中で質的な価値に変換されているというのが理想であり、それが読書の醍醐味ではないかと思います。
※「naoyaのはてなダイアリー ― インターフェイス指向設計 」より引用。
人生の転機は読書とともに訪れた
そして、「 人生の転機は読書とともに訪れた」という伊藤氏。書籍によって何かが変わったと意識したのは、受験時代とのこと。剣道に打ち込んでいたらいつのまにか授業についていっていなかった、そこで必然的に書籍、参考書が先生となっていたのがはじまり。同じ本を繰り返し読むと、読むたびに発見があり、かつてわからなかったことがどんどんわかってくるようになるという変化の中で「書籍と努力で人生を好転させられる」と意識したという。
無事合格後も、プログラミング技術の習得、Blogサービスの開発、Shibuya.pmでの講演、『 Blog Hacks 』( 宮川達彦/伊藤直也著、オライリー・ジャパン)の執筆とさまざまな転機のなかで、挫折を繰り返しながらもさまざまな書籍に出会い、その中で「本質的な書籍」を1冊1冊を繰り返し読んだことで、そこから深い知識が得られる感覚が強まってきた。本を読みながら、仕事やブログ記事などのアウトプットに明け暮れ、何か結果に結び付くのは5年くらい先かなと考えていたが、1年程度で好転しはじめ「学習が結ぶという手応え」を得たそうだ。
宮川達彦氏から声がかかり、Shibuya.pm講演へ
はてなブックマークの開発、運用
はてなに入社後、はてなブックマークの開発に。いまや月間300万ユーザものを抱え、日本一を誇るソーシャルブックマークサービスだが、そこに至るまで技術責任者というプレッシャー、先行してしまう世間のイメージ、足りない技術に焦りを覚えることがあったという。そこで、自分にできることは「愚直に本を読むしかないと思った」 。かつて先輩から「これ読んでおいて」と渡されながらなかなか手が出なかった『Advanced Programming in the Unix Environment 』( W. Richard Stevens著、Addison-Wesley)を読んだ。
はてなブックマークを開発
そして、成長し続けるサービスとともに技術的困難に直面することになる。深夜に復旧作業へ向かい、早朝5時に戻る、戻るやいなや再び障害が発生という過酷な事態も経験。体力消耗、精神的にまいる同僚を目の前に、やりきれない思いもこみ上げてきたという。「 大規模なサービスの運用」に必要なことがわからない。「 ローレイヤ」( Low Layer)のことがわからない。何に手を付けていいかわからない。でも、Web開発だけをやっていても習得できない、そんなことが見えてきた。
『Binary Hacks 』( 高林 哲/鵜飼 文敏/佐藤 祐介/浜地 慎一郎/首藤 一幸著、オライリー・ジャパン)を見てバイナリアンになりたい、いまもそう思っている。はじめに手を付けた『詳解Linuxカーネル 』( Daniel P. Bovet, Marco Cesati原著、オライリー・ジャパン)は、実は「積ん読」になっていた1冊だった。第3版が出るときに、手元にあるのは第2版。高価な名著を放っておけぬと読み始めたら、「 プロセスとは何か」「 スレッドとは何か」「 仮想メモリとは何か」「 ファイルがどうキャッシュされるのか」「 システムコールの裏側」など、知りたかったことが次々とわかってきた。数冊のLinuxカーネル関連の技術書を頼りにカーネルのソースを読んでいった。切り口の違う数冊の書籍を合わせて読むことは、カーネルソースを読むのに役立った。
そして、はてなのインフラの刷新。対症療法との決別をし、確実な根拠に基づく負荷分散を行えた。ノウハウ=技術ではない、自分にとって陳腐化しない確かな技術、といったことが明らかになってきて技術者としてのレベルアップを実感。冗長化も行い、サービスが安定稼働する。安心して眠れる日々がやってきた。そんな経験を経て、『 [ 24時間365日]サーバ/インフラを支える技術』の執筆に参加した。執筆を担当した4.1節「Linux単一ホストの負荷を見極める」は、一番思い入れがある節になった。
技術者としてのレベルアップを実感
次のステップ「計算機科学」「数学嫌いの克服」
そんな伊藤氏の考える次のステップも紹介された。それは「科学」 。『 ウェブ時代5つの定理 』( 梅田望夫、文藝春秋)で紹介されていたという、Vinod Khosla氏の言葉を引用し、「 科学は何かを10%や20%に良くするのではなく100倍 よくする可能性を秘めている。私はその力に興奮を覚える」 。計算機科学への興味が強まると、数学が避けては通れず「30歳からの数学嫌い克服」に挑戦した。
学生時代には即時的に「どう役に立つか」を考えてしまい数式に興味がなかなか持てなかったが、「 なぜそれが発見されたのか」に着目するとおもしろさが沸いてきて、しだいに「学問の理解を助けるのは背景」なんじゃないかと思うようになったという。
学問の理解を助けるのは背景
苦手だった代数幾何では、代数学と幾何学を行き来し両者を駆使して問題を紐解く理由が理解できた。そんなときには、すごい、わかったという感覚があった。自ら学ぼうとしたことで見方が変わった。大学時代に専攻した物理の数々の式、法則の意味がしだいに明らかになるにつれ、当時では得られなかった感動を覚えた。
そして今、読み進めている本は計算機を科学し、本質的な理解へとつながるであろう『アルゴリズムイントロダクション 改訂2版 』( Thomas H. Cormen/Ronald L. Rivest/Charles E. Leiserso原著、近代科学社)の第1巻、第2巻と、かつて憧れていた大規模情報検索分野の『Introduction to Information Retrieva l』( Christopher D. Manning/Prabhakar Raghavan/Hinrich Schutze著、Cambridge University Press)とのこと。数式が登場することに抵抗はなくなった。
「継続的な学習」「人に会う」、それと「この道でやっていこう」という覚悟
自分と技術書の接点をたどりながら前半のトークを終え、後半では一技術者としての心懸けていることや、これから向かうところへと話が展開。
尊敬するプログラマの書棚を見て、本質的かつ読むのに時間がかかる書籍がずらりと並んでいたという。この人はずっと学習を続けているんだ、すごい、と衝撃を受け、「 学習の継続」を心懸けるようになった。合わせて、学習意欲の維持に必要だったのは、「 この道でやっていこう」という覚悟じゃないかと改めて思ったそう。
「この道でやっていこう」という覚悟
継続的な学習ともう一つ大切なことは「自分に足りないものを見つける」こと。そのために「人に会う」「 仕事で困難にぶつかる」ことは欠かせない。とくに、外に出て「人に会う」というのは「継続的な学習」とは前進するための両輪だという。人に会うだけで満足はしていられない。
人に会えば、その人が自分の先を行く姿を見て、うらやましい、嫉妬することさえあるのだが、それが「本を1ページめくる努力」「 自分で自分に自信が持てるまで、愚直に」という学習をし続けることに繋がる。そして、このような継続的な学習を経て改めて知ったことは、「 コンプレックスの原因そのものを乗り越える以外に、それを克服する方法はない」と。
「それでも技術者でありたい」
また、「 技術者は楽しいことばかりではない」こともよく知っておいてほしいそうだ。学んだカーネルの話をしても理解してくれる人が常に周りにいるわけではなく、学習が進み深く潜れば潜るほど孤独になることもあるし、楽しい趣味をはじめ犠牲にしなくてはならないものもたくさん出てくる。
一方で、継続的な学習はチャンスを導き、自らの視点を広くし、人生を豊かにしてくれる。だから、「 それでも技術者でありたい。自分が生きた証を残したい」 、エンジニアにはそれができるから、やっぱり技術者であり続けたいと思うそうだ。
私と技術書、結びに
現在は、早朝起床し、出社前に読書する習慣を作れているとのこと。「 正直、なかなか気分が乗らないこともあるんだけれど、本を手に取り10分くらい眺めているうちにおもしろくなって進む、みたいなことが多いかもしれない」というくだりでは、いたく感心している参加者が多かった模様。また、「 そうそう、人にお勧めの本を聞くと、その筋の決定版、分厚い、難しいのを紹介されることが(いろいろな背景で)多いけれど、まあそれはそれで聞いておいて、自分にあった本を繰り返し読むことからはじめていいと思います」という話しは、多くの参加者から「あるある」「 そうかそうか」というような共感を集めたようだ。
質疑応答
「技術書は私にとっての先生です」「 読書による継続的な学習がいつも未来を切り開くと信じています」と、今回の話を結んだ伊藤氏。1ページずつ本をめくり、一つ一つの問題、多くの人と相対しながら着々と技術力を蓄え続け、今、次なるステップへ向けて進みはじめているという同氏の言葉に、満席の会場から大きな拍手が贈られた。