新年一発目の読書ということで、『SOFT SKILLS ソフトウェア開発者の人生マニュアル』を読んでみた。エンジニアって自己啓発チックな本を敬遠するきらいがある(偏見)があると思うが、自分も御多分に漏れずそういうタイプだ。この本もエンジニア向けではあるが、どちらかというと自己啓発本に分類されると思う。それでも自分が読もうと思ったのは、あのMatzがおすすめする本だからだ。表紙にもしっかり「まつもとゆきひろ 解説」とある。Rubyからプログラミングを始めた私にとってMatzはビッグファーザーのような存在であり、彼の一挙手一投足は全て肯定することしかできない。 そんな経緯からこの本を読むに至った。
評価: 良本(☆☆☆☆)
総評:
「ソフトウェア開発者の人生マニュアル」と表題にあるが、まずこのテーマ自体が斬新。「人生マニュアル」のようなキナ臭い本は本屋に行けばいくらでもあるが、この本はソフトウェアエンジニアに対象を限定している効果もあり、読む側としてもある程度の信憑性を持って内容を咀嚼することができる。この本を読んでも技術力が上がるわけではないが、どんな技術を習得するべきか、技術とどう向き合うべきか、技術発信の重要性など技術に関わる豊富なトピックについて興味深い示唆を与えてくれる。
良いキャリアの積み方、セルフブランドの築き方、効果的な学習の仕方。どれも理想論で終わっておらず、実際に著者が実践してきただけあって具体的な方法論が紹介されており説得力がある。少し残念だったのは後半になるにつれて内容に著者の趣味、好みが色濃く反映されており、前半の章の完成度と比べて尻すぼみなきらいがあることくらい。前半4章は定期的に読み返したくなる箇所がいくつもあり、付箋をぺたぺたはっつけながら読めた。 以下、具体的なハイライト。
第一部 キャリア
キャリア目標を立てろといった割とよく見るアドバイスから、面接が上手くいく方法、社交スキルの鍛え方、出世する方法、スタートアップの立ち上げ方までさまざまなトピックを扱っている。個人的に特に気に入っているのは最初の第二章「自分のキャリアをビジネスとして扱え」。会社に対する帰属意識、愛着を持って働くのもすごく大切だけど、あくまで自分はソフトウェアエンジニアであり、「ソフトウェアを作る能力」を会社に提供するビジネスを行なっているのだと忘れないように、という内容。会社で時間労働をしていると、どうしても時間に対する給料が発生しているという考え方に陥りがちだが、あくまでも技能を提供し、それを買われているということを意識する。つまり、自分の技能が優れていると見せるようにマーケティングする必要もあるし、それに偽りがないように研鑽も積まなければいけない。
あと13章の「テクノロジーに宗教のように接するな」もめちゃくちゃ刺さった。自分の書いてる言語とかエディタに傾倒するのはいいけど、あくまでものを作る道具だということを意識する。それより便利なものがあったらすぐに乗り換えられるくらい浮気性な方が技術屋として怠惰でいられると思う。自分はNeoVim→VSCode with Vimプラグイン な人間なので、割と柔軟な方だと思うが、言語に対するこだわりとか偏見はできるだけ持たないようにしなければいけないなと。(PHPの変数名の$が気持ち悪いだとか、Go言語の何がいいのかとか)
第二部 セルフマーケティング
先のキャリアの章に触れて、自分の能力をマーケティングすることが重要で、そのための具体的な方法論とかを書いてある。ブログを書けとか、ニッチな分野で自分のブランドを確立するとか。まあ確かにTypeScriptといったらあの人、みたいに媒体を問わずに精力的に一つのテーマについて技術発信してる有名人の名前はちらほら思いつく。ああいう人たちは発信経由で良い声がかかったりすることがあるんだろうか。そして、仮に自分がやるとしたらどういう分野を選ぶべきなのか。ニッチな分野を選ぶといっても、分野を絞れば絞るほど必要な学習量は逆に逓増していくので難しいよなあと思う。
まあテーマはさておき、技術ブログを書くべきというのは納得できる。会社にいる以上、会社で書いたコードや成果は会社のものに帰属するので、そこで得た知識なんかは自分に帰属させるために分かりやすくブログに残した方が資産にできるだろう。自分が今ブログを書いてるのもそういう理由だったりする。
第三部 学習
人が何かを身につけるまでのプロセスに遡って、効率的な学習の方法論について書いてある。個人的には以下の2つの内容がよく記憶に残っている。
技術書を端から端まで読んでも、その技術を身につけたことにはならない。
これは本当に経験からして実感できる。実践投入してない言語に興味を持って技術書を読んでみても、一通り「はえー」となるくらいで何も身にならない。本を少し読んで基礎を身につけたら、それを使って何かしら遊んでみたり、アプリケーションを作ってみたり実践しなければいけない。そして疑問が出たら本に立ち返る、を繰り返していくことで身に付くものだよなあと。
「物理学」を学ぼうとするのは現実的ではない。
これも実感できる。よく社会人の学び直しとして数学をやり直す!みたいな話はよく聞く。ただ、物理学だろうが数学だろうが、とにかく範囲が膨大すぎる上に、目標まで定まっていないと結局挫折するハメになる。自分も数弱だから「学び直し」の欲に囚われたことはあるが、今は競プロをやってて必要な知識を補給する程度にしている。大人になってからの学び直しは現実的じゃない。体系的に物事を学習する余裕と時間があるのは学生くらいで、要は学生のうちに勉強しとけってことだ。手遅れ。
第四部 生産性
生産性を上げて自分のやり遂げたい目標を遂行するにはどうすればいいか書いてある。テレビを見るな(今の時代だったらYoutubeか)とか割と陳腐なこともあるが、具体的に著者が実行しているテクニックも出てくる。それは 1. 一年の目標を立てる。 2. 四半期の目標に分解する。 3. 週毎にやらなければいけないタスクを作る。 4. ポモドーロテクニックでタスクを消化していく。 だ。このテクニックを実行して自分も計画を立てた。達成できたかどうかは年末に答え合わせさせて欲しい。もう少し詳しい方法論も書いてあるので気になった方はぜひ。
第五部 資産形成
筆者が不動産投資でどのようにして財を成したかを書いてある。正直再現性あるか?という眉唾もの。アメリカと日本じゃ事情も違うし。時間がない人は飛ばし読みしても良いかなっていう章。
第六部 フィットネス
運動しろよ、健康はいいぞ、こんなダイエット法があるぞ、健康はいいぞ、こんな食事法もあるぞ、健康はいいぞ、という章。一人暮らしを始めたらめちゃくちゃ痩せたので自分には結構かなと。これも飛ばしてもいいかなって章。
第七部 マインドセット
ポジティブになれよ、失敗を恐れるなよ、という章。急にストア派という思想を進めてきて新興宗教の勧誘かと身構えてしまうが、歴史ある古代ギリシア哲学の一派らしいので安心してほしい。そこまできな臭くもないし、興味があったら自省録を読んでみてね、くらいのテンション。 正直、自己啓発成分を補給するだけなら他の自己啓発本の方が良いと思うので、この本を最後まで読んだ人のためのボーナスステージみたいな章。
まとめ
自己啓発とかマーケティングとか、技術屋然とした技術屋(決して悪い意味で言っているわけではない)が嫌いそうな成分をたくさん摂取することができておすすめ。というのも、我々は結局のところリーナストーバルズやMatzにはなり得ないので、技術力向上だけに邁進してもどこかで行き詰まりが来るんだろうなと思う。この本の内容を「くだらん自己啓発だ」と鼻息で吹き飛ばせるハッカー、グル、ウィザード以外は読んでおいて損はない。