企業人 or Web技術者として生きる若者に薦めたい幾つかの本

はじめに

先日、勤め先の若手社員とランチに行く機会があり、「何かオススメの本はありますか?」と訊かれた。

SEが20代で身につけておきたいこと

咄嗟に出てきたのは、『SEが20代で身につけておきたいこと(技評SE選書)』という本だった。
これは私が社会人になりたての頃に読んだ本で、IT業界のベテラン数名の方が自身の経験を踏まえて、タイトルに沿った内容のことを書いた本だった。
ただ、内容については正直そこまではっきりと覚えてはいない。が、当時、将来のキャリアを考える上で参考にはなったと思う。

これまでそういう質問をされることがほとんどなかったので、その場ではそういう回答しかできなかった。
少々申し訳なく思ったので、「他に何があり得るだろうか?」と本棚と記憶を振り返りながら考えてみることにした。

もちろん、その人にどういう能力や適性があって、どういうキャリアを描いているのかによっても変わってくると思うのだけど、若者の未来というのは概して定まっていないものだ。
一般的に通用しそうなものや、自分の興味を惹き付けてきたジャンルについて、心の中にオススメ本を用意しておいても良いだろう。

というわけで、以下では私がこれまで読んできた本の中からいくつか紹介する。

想定読者

会社勤めをしている人、ビジネスに関わる人。
あるいはWeb系のエンジニア職をしている。
または、これらのどれかになろうとしている人。

(タイトルを「会社員」としてないのは、色んな働き方を考慮してのもの)

どんな職種でも役立ちそうな本

戦略フレームワークの思考法

初めに、ロジカルシンキングについて。
ロジカルシンキングは思考のツールとして役に立つことがあるし、他者を説得するときや、会議を首尾よく進めるときなどビジネスにおいて有用なシーンが多い(と思う)。
よく使う思考のパターンやフレームワークと、その使い方を解説している本を1冊ほど読んでおくといいのではないだろうか。

私は社会人1〜2年目ぐらいの時に『戦略フレームワークの思考法』という本を買って、一通り読んだ。
ほとんど読み返すことはないが、今でも手元に持っている。

次に役立ちそうなジャンルとしては、プロジェクトマネジメント系の本が考えられる。
社会人であるあなたはきっと、なんらかのプロジェクトの一員として働く機会が多いはず。
プロジェクトを炎上させず、いい感じに進めるために、先人の知恵を学んでおくことは、プロジェクトでどんな役割を果たすとしても役に立つと思う。
…のだけど、残念ながら私はこの分野の本を読んだことはないので、ここでオススメ本を挙げることはできない。
誰か良い本を知っている方は教えてください。

伝え方が9割

もし、あなたがコミュニケーションに課題を感じているのだとしたら、コミュニケーションに関する本を読むのも良いと思う。
コミュニケーションは多分に気質や性格に影響を受けると思うのだけど、後天的に「技術」を身に着けることも可能だと、個人的に考えている。
この分野で有名、かつ、オススメの本は、『伝え方が9割』だ。

5年ほど前に出版された本だが、手元にあったのは初版第二刷(2013/3/13発行)のものだった。
この本の主張はタイトルに尽くされているようとも取れるが、「じゃあ、どう伝えればいいの?」という方にとっては一読以上の価値はあるだろう。

他にも、ヒューリスティック or 心理学的な観点でコミュニケーションのテクニックを記している本は多数あるように思う。

ソフトウェアエンジニア向け

メジャーな本にそれほど目を通しているわけではないけど、自分がこれまで読んだ本の中からいくつか紹介しておく。

リーダブルコード

プログラムを書く全てのエンジニアにオススメなのは『リーダブルコード』だ。
あなたの書くコードは、(多くの場合においては)あなたが書く時間よりも、あなたも含めてレビュワーやメンテナといった関係者一同が読む時間の方が長いはずである。

また、プログラマーであれば、オブジェクト指向プログラミングは身に着けておくべきと思う。
これについては、特定の本を読むというより、JavaRubyなどオブジェクト指向プログラミングに向いた言語の入門書などを通して身に着けるのが良いのではないか。(…というと、言語差別的になるだろうか?)

SQLアンチパターン

RDBMSを扱う初心者ではないエンジニア、中でも特にアプリケーションエンジニアにオススメなのは『SQLアンチパターン』だ。
この本については、遅まきながら最近読了したので、書評エントリ(?)を書いた。

SRE サイトリライアビリティエンジニアリング

サーバーサイドのシステム全般に興味がある人(or インフラ寄りの人)なら、『SRE サイトリライアビリティエンジニアリング』はオススメ。
ただ、初心者が最初に手に取るべき本ではないかもしれない。
また、とても長いのでまずは1〜5章ぐらいまでを読んで、各論は後回しにして汎用的なチーム運営やワークフローに関する章を先に読むのが良いのではないか。

[24時間365日] サーバ/インフラを支える技術

初心者がイチからWeb技術を学ぶという文脈では、『[24時間365日] サーバ/インフラを支える技術 』という良書がある。…が、なんともう初版から10年も経ったので、やや内容が陳腐化してしまったかもしれない。
2018年のオススメ本がある人は教えてください。

インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門

サーバ・インフラを志す人は、まずインターネットの仕組みや全体像をざっくり理解するのが良いのではないだろうか。
その点では、最近読んだ『インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門』はオススメといって良さそうだ。
これについても読後に感想記事を書いた。

この本は取り扱っている技術要素の幅が広く、若干out-of-dateな内容も入っていると思うが、L1〜L7までざっくり見渡せるし、1つ1つの話題をそんなに深く掘り下げないので、全体観を掴む上で役立つと言えそうだ。

その他にも、コンピュータ・サイエンスの本やLinuxカーネルに関する本など、挙げようと思えばまだまだ出てくるが、段々ニッチになっていくのと、キリがなくなりそうなので、今回はこのぐらいにしておく。
あるいは、もっと賞味期限の長い、理論や低レイヤ寄りの本の方が良いんじゃないの? という気もするのだけど、そちらに寄れば寄るほど、多くの人にとって確実に役立つかわからないのが難しいところ(と感じたので割愛)。

マネージャー or ハブ的立場の人向け

HIGH OUTPUT MANAGEMENT

HIGH OUTPUT MANAGEMENT』を4月に読んで、感想記事を書いた。

…というか、その手の本ではこれぐらいしか読んでない。
が、間違いなく良書だと思う。

感想記事にも書いたけど、チームリーダー以上の中間管理職のみならず、「ノウハウ・マネジャー」――いわば「生き字引き」的な人も対象とした本だ。
組織のナレッジ管理や、共通機能の抽出・集約といったことに興味がある人にとっても有用だと思う。
また、最近流行りの1 on 1ミーティングをどう組織に取り入れ、実践していくかを考える上でも役立つだろう。

他には、コーチングに関する本とか、マーケティングや経営に関する本とか、データ分析、あるいは研究開発をする人向けの本とかあるかもしれないが、あまり読んでないし思いつかないので踏み込まないことにする。

まとめ

以上、9冊ほど挙げた。
ややWeb技術のそれもサーバサイドに寄っているのは、私のキャリア・経験上仕方のないことだ。

文中に述べたように全てがオススメというわけではないし、自分に向いていると思う本をチェックしてもらえればと思う。

ご参考まで。