あなたのキャリアに影響を与えた本は何ですか? 著名エンジニアの方々に聞いてみた【第二弾】

書籍には、特定領域の専門家たちが習得してきた知識のエッセンスが詰まっています。だからこそ「本を読むこと」は、ITエンジニアがスキルを向上させるうえで効果的な取り組みといえます。では、著名エンジニアたちはこれまでどのような書籍を読み、そこから何を学んできたのでしょうか。今回は8人の著名なエンジニアのキャリアに影響を与えた“珠玉の書籍”を、ご本人にまつわるエピソードとともに紹介してもらいました。
*…人名の50音順に掲載。回答者は敬称略。

岡野真也が紹介『こんにちはマイコン』

すがやみつる先生の『こんにちはマイコン』は、私が小学生だった約30年前に図書室で出会った書籍です。本書はコンピューターの基本的な知識を漫画による解説でわかりやすく伝えており、子どもたちにコンピューターの世界への入り口を提供しています。

出版された時期が1980年代なので、今読むと当時の時代を懐かしむことができるかもしれません。私はこの書籍により、コンピューターとは何なのか、どういったものに使えるのかを、初めて理解できました。また、本書ではコンピューターゲーム機の仕組みについても説明されており、コンピューターゲームが好きだった私は「自分でもゲームを作れるようになるかも」と思って読み込んでいました。

本書にはBASIC言語のプログラムの説明が含まれています。私は親のおさがりでPC-8801を持っていたため、本書に記載されたプログラムを打ち込んで動かすことができ、コンピューターを制御するという意味を実感しました。本書に出会えたことで、プログラミングによってコンピューターを道具として利用できるという体験を得られました。

このことは私がその後プログラミングに興味を持ち、勉強するようになるきっかけとなり、今のキャリアにつながるものだったと思います。

【プロフィール】
株式会社ObotAI 取締役CTO、株式会社オープンコレクター 取締役。
プログラミング言語PythonとDjangoフレームワークのスペシャリスト。
GitHub:tokibito Twitter:@tokibito

坂井恵が紹介『DB Magazine』

書籍ではないし、雑誌なので1冊じゃなくて毎月発行されていたし、と本企画の趣旨をガン無視の選定ですが、「自分のキャリアへの影響」という点で企画コンセプトにぴったりと考え、この本を紹介することにしました。

『DB Magazine』は、1999年から2010年まで翔泳社から発行されていたデータベース専門の月刊誌です。20代後半だった私が「データベースって面白い」と思い始めたタイミングに合わせるかのように創刊され、毎号楽しく読んでいました。また、私にとっても、初めて雑誌連載を書かせてもらった思い出の本でもあります。

さまざまなRDBMSの記事があったので、自分が現場で使用していたソフト以外の情報に自然に触れられ「門前の小僧」になることができました。とはいえ、広いようでも所詮「データベース」という範囲の中での話題ですから、直近で自分が必要とする部分以外に関心を拡げるにもちょうど良い規模だったのでしょう。このときの私の「隣の芝の色をふらふらと確認して回る習慣」は、今も続いています。

著者の皆さんもとても素晴らしい方が多く、ツボを押さえた説明の丁寧さや小ばなしの楽しさにうっとりしたものです。いつかこの人のような温かい文章を書きたいと、目標にもさせてもらっていました(いまだに足下にも及びませんが。まだまだ努力が必要です)。

その後、私の活動範囲が広がるに従って、尊敬する当時の著者の方とお知り合いになる機会も増えて自分の成長を感じるなど、図らずもこの本は、自分のエンジニアとしてのステージを測る基準となる役割を果たしてくれたようにも思います。

【プロフィール】
小さい会社の何でも屋。2003年から日本MySQLユーザ会の運営メンバー(現在副代表)、最近は地理空間情報への関心が深く、2023年からOSGeo日本支部の運営委員も。好奇心旺盛(自称)で、常に何かをしていないと生きていられない性格らしい。著書に『MySQL徹底入門』(共著)など。

Twitter:@sakaik

柴田博志が紹介『LEAN IN』

今回、 ご紹介する本は『LEAN IN』です。この本はMeta(当時は Facebook)の役員を務めた著者が、女性に起きるライフイベントとキャリアを両立させるために、何を考えて行動してきたかという内容が中心の本です。女性だけがターゲットと思いきや、実際に読んでみると女性に限った話ではないことが多く紹介されています。

この本の「初めから降参し『無理だ』と思い込んだら、決してできない。」という一節には多くのことを気付かされました。性別に限らず、技術的、組織的のいずれの問題であっても、慣習的に長らく維持されているステレオタイプやバイアスを打破するのは容易ではありません。

私はこれまでのキャリアで類似の問題に遭遇するたびに自分のような人間にはできない、という態度を取ることもありました。しかし、本書を読んだ後はまずはやってみる、できないかどうかはその後に考えるという行動様式に変わりました。そして、管理職や技術職の比率が少ない女性にとってはなおのこと容易ではないだろうということにも気が付きました。

自己の過剰評価は自分だけの問題ですが、自己謙遜は周囲に伝搬し、より多くの人の可能性を阻害するのです。キャリアをもっと充実させたい、何かしらの変化を起こしたい、という人はこの本をぜひ手に取って読んでみてください。読んだ方自身はもちろんのことですが、周りを含めた全ての人々のちょっとした一歩を踏み出すきっかけになれば幸いです。

【プロフィール】
Rubyコミッター、Ruby, RubyGems, Bundler, Rake, ruby-build, psychなど多くのOSSのメンテナ、ruby-lang.orgの管理人として、Rubyの開発を支えるインフラを整備している。株式会社アンドパッドで技術広報を担当しながら、プログラミング言語RubyのフルタイムOSS開発者としても活動中。「全ての人がプログラミングを通して楽しく成長できる社会を作る」ために自分ができることに毎日少しずつ取り組んでいる。

GitHub:hsbt Twitter:@hsbt

Shougoが紹介『Emacsテクニックバイブル』

Vim/neovim専門である私がなぜEmacsの書籍の紹介を、と思った方もいると思います。

この本は主にEmacsの拡張機能について紹介しているのですが、出版当時(2010年)の最新拡張機能anything.elの解説がよくまとめられています。私はこの本を読むことで自分の作成したプラグインに足りない機能について理解することができました。この本は私が昔作成したプラグインであるvimfiler.vim、unite.vimの設計に大きな影響を与えています。

Vim/neovimを使用しているからといって、他のテキストエディタのことに無関心ではいられません。テキストエディタは相互に影響を与えているし、ユーザーの移動も頻繁に起こっているからです。

いろいろなテキストエディタの機能について調べ、自分の好きなテキストエディタでの機能の実現方法を調べてみるのは自分の成長につながると思います。

【プロフィール】
長年Vimプラグインの開発を行っているプラグイン開発者。プラグイン開発だけでなく、Vim/neovimにパッチを書く作業も定期的に行っている。『Vimテクニックバイブル』『Vim scriptテクニックバイブル』の執筆も行った。

GitHub:Shougo Twitter:@ShougoMatsu

鈴木雄介が紹介『ソフトウェアの達人たち―認知科学からのアプローチ』

原著は1996年に出版された『Bringing Design to Software』(ソフトウェアにデザインを取り入れる)。1980年代にPCが普及し、多くの人がソフトウェアを使うようになる中で、「使いやすいソフトウェア」が求められるようになりました。

本書は、ソフトウェア・デザインに先進的に取り組んだ人々、例えばLotus 1-2-3のミッチェル・ケイパー、IDEOのデイヴィッド・ケリー、認知科学者のドナルド・ノーマンなどの寄稿やインタビューによって構成されています。現在では常識となった、ユーザー体験設計、人間中心設計、デザイン言語といった設計手法や、プロトタイピングの重要性とウォーターフォールではなくスパイラル(当時は言葉がなかったが現在のアジャイルのこと)なプロセスの必要性が書かれています。

「ソフトウェアは、ユーザーがインタラクトする単なるデバイスではない。それはユーザーが住む空間を生み出すところでもある」

ソフトウェア開発は、どうしても対象のモノを定めることから始まります。機能や非機能の仕様を定め、それを時間的にもリソース的にも、いかに効率的に実現していくか。ところが、そうやって優れたモノを作っても、使われたときに優れた価値を生むとは限りません。 この本を読んで、私の興味はソフトウェアそのものだけではなく、ユーザーが使ったときに、どのような価値を生むことができるのかに向かっています。

自分のキャリアにとって、揺るぎない一貫した視点を示唆してくれた1冊です。

【プロフィール】
流通系システム会社からキャリアをスタートし、フリーランスのITアーキテクトとしてさまざまなお客様を支援。2007年にグロースエクスパートナーズ株式会社の創業に参画。2018年にエンタープライズDXコンサルティングを手がけるグロース・アーキテクチャ&チームス株式会社を設立し、代表取締役社長に就任。企業への組織アジャイル化やマイクロサービス化の導入に取り組んでいる。2019年からは三越伊勢丹グループの株式会社アイムデジタルラボの取締役を兼任。日本Javaユーザーグループ前会長。

前田喬之(TaKO8Ki)が紹介『How to Invent Everything: A Survival Guide for the Stranded Time Traveler(ゼロからつくる科学文明──タイムトラベラーのためのサバイバルガイド)』

「もし、タイムマシンを使って何千年も過去に飛んだ後にタイムマシンが故障したら、どうやって生き延びるか?どうやって文明を再構築するか?」という内容の本です。飲料水の獲得の仕方から音楽の作り方、論理ゲート・水を用いた簡易的なコンピューターの作り方まで網羅されているタイムトラベラー向けのサバイバルガイドという位置付けになっていて、ゼロから作る〇〇の総集編とも言えるかもしれません。

いつもは本、ましてや物理本なんてほとんど買わない自分がふらっと立ち寄った書店で出会ったのがこの本です。大学では市民工学を専攻していたため、理論的な部分は断片的な知識しかなかったのですが、この本がきっかけで車輪の再発明や基礎となっている理論、技術の大切さ・面白さを知ることができました。

その後、「Rust Compiler Development Guide」を読み、本格的にOSS活動を始めましたが、その活動をうまく継続できているのは、自分なりに基礎を勉強したことによるものが大きいと思っています。

テーマが似ているものとして、みんな大好き『Dr.STONE』という漫画がありますが、『How to Invent Everything』は少し違った視点で少年誌では書けないような内容も載っているので、興味があれば、ぜひ読んでみてください。

【プロフィール】
Rust コミッター(compiler contributorsチームのメンバー)。2022年に株式会社マネーフォワードに入社し、社内で細々とRustを書いている。
GitHub: TaKO8Ki Twitter: @TaKOBKi

松木雅幸(Songmu)が紹介『詳説 正規表現』

正規表現のバイブルです。技術の特性上、出版からずいぶん経った今でも色褪せません。正規表現の基礎から始まり、実例を交えて読者に慣れ親しませてから、文字列マッチのメカニズムや効率の良い正規表現の書き方など詳細な内容に段階的に踏み込んでいくという、わかりやすい構成になっています。

オライリー本であり、その分厚さからして身構えてしまうかもしれませんが、読みやすいのです。実際、私がこの本を買ったのは、私が職業プログラマーになる前の20代半ばの頃です。当時、企業のイチWeb担当だった私はウェブサイト更新作業の効率化のために、少し背伸びをしてこの本を買ったのです。

当時自分が使っていた、EmEditor、VBScript、JavaScriptでも正規表現を活用でき、業務効率が大幅に上がりました。そして、オライリーの本を通読できた経験は自分の自信にもなりました。その後Perlを学ぼうと決心するきっかけのひとつにもなったのです。

それからSIer転職後、正規表現が苦手な先輩から「こういう正規表現を書いてよ」と依頼されることもありました。その依頼も今から考えるとどうかと思いますが、エンジニアになりたての私を正規表現はそうやって支えてくれたのです。

正規表現の乱用は禁物です。しかし今でもさまざまな局面で高い威力を発揮します。私はGoでソフトウェアのコードを書くときでも、ここぞというところで正規表現を使っています。

正規表現は汎用性が高く、習得のコスパが良い技術です。中途半端にかじるより、この本をしっかり読んだほうが、バグの少ない正規表現を記述できるようになり、時間の浪費も減り、トータルでは効率が良くなるでしょう。

【プロフィール】
株式会社ヘンリー、チーフエンジニア。クラウド・インフラ技術に精通したソフトウェアエンジニアで、ISUCONに過去3度優勝するなど、インフラを意識して信頼性の高いWebアプリケーションコードを高速に書くことを得意とする。 プロダクトマネージャーやCTO経験から、アジャイルに顧客に価値を届けることにこだわりを持ち、フルサイクル志向でプロダクトチームを運営することを由とする。OSS活動が趣味で、200以上のOSSをGitHub等に公開している。それも含め、Blog等での発信力にも大きな強みを持つ。著書に『みんなのGo言語』(共著)等。
GitHub: Songmu Twitter: @songmu

米田優峻が紹介『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』

私のキャリアを決定づけた1冊は、2015年時点で一番わかりやすい競技プログラミングの教科書であった『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』(通称:螺旋本)です。

まずはかなり前の話にさかのぼりますが、私は小学校時代にいじめられており、残念ながらあまり明るい人生ではありませんでした。しかし中学に入ったとき、部活の先輩から「日本情報オリンピック」という中高生向けの競技プログラミングの大会を教えてもらいました。私はこの大会に興味を持ち、中学1年(2015年)の秋ごろから本選進出を目指して本格的に練習をしようと思いました。

ところが、本選に行けるのは全参加者の約10分の1と非常に厳しく、本選進出のためにはアルゴリズムなどのさまざまな技法を学ばなければなりません。そこで私は螺旋本を手に取り必死に勉強しました。その結果中学1年にして本選進出を決め、人生で初めてクラスの周りの人から認められました。そしてこれが大きな自信とモチベーションにつながり、3年後の2018年には「国際情報オリンピック」という世界大会で金メダルを取るに至りました。したがって螺旋本は、間違いなく自分のキャリアの方向性を変えた1冊だといえます。

(注:現在は螺旋本以外にも、さまざまなわかりやすい競技プログラミングの本が出版されています)

【プロフィール】
2002年生まれ。2021年東京大学入学。競技プログラミングでは「E869120」として活躍。2020年までに中高生向けのプログラミングの大会である「国際情報オリンピック」で3度の金メダルを獲得。著書に『問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本』『競技プログラミングの鉄則』がある。
Twitter: @e869120