ベーシック Advent Calendar 2016 11日目は、
先月に子供が生まれた @roki1801。普段は山形でリモートワークをしている。
プログラマーのみなさんの中でより良い人生を送りたくない人はいないだろう。
しかし、どんな人生を歩みたいか、どんな人生が正しいのかを具体的にイメージしている人は少ないはず。
私もそのうちの一人だ。
そんな私にソフトスキルという視点をくれた本の紹介をしたい。
日本語版の解説は「まつもとゆきひろ」氏である。
SOFT SKILLS ソフトウェア開発者の人生マニュアル (日本語版)
Soft Skills: The Software Developer's Life Manual (英語版)
本書には、ソフトウェア開発者がより良いソフトウェア開発者になるために必要なことが全て書かれている。しかし本書には良いコードの書き方やアルゴリズムなどのテクノロジーのことは書かれていない。「ソフトスキル」とはソフトウェア開発者が人生全般をより良く生きるためのスキルを指している。本書は「ソフトウェア開発者の生活」の様々な側面に注目し、実践的で行動に移せるアドバイスを提供している。それが1アドバイスにつき大体5ページ前後で纏まっているので、どこからでも手軽に読み始められる。
扱われるテーマは広く、具体的には、キャリア、マーケティング、学習、生産性、お金、健康、精神である。気を抜いている所は一つもなく、健康における食事に関するハックでは、卵を電子レンジで白身と黄身に分離する方法を教えてくれている。その一方で、独学能力や生産性を大幅に引き上げるとともに、燃え尽き症候群に対処する方法や大成功するブログの作り方を紹介している。本書は”成功を収めたエンジニアの頭脳のほぼ完全なダンプ”なのである。
筆者はまるで一般的なソフトウェア開発者の頭の中を全て見透かしているようだ。語りかけるような文章でありつつ、痛いところをついてくる。
多くのソフトウェア開発者は品質が基準に達しないときに、自分を高めてその厳しい基準をクリアする方向に努力するのではなく、基準を引き下げるという大きな過ちを犯してしまう。
これは常に高品質を志向し継続的に自己研鑽する「プロ」であるべしという内容なのだが、心当たりがありすぎる。
第6部「やっぱり、体が大事」では健康の重要性を説き、フィットネスの目標設定やモチベーション維持から食事管理までと、まるでTarzanのようだ。こと筋トレに関するアドバイスはTarzanどころかマッスル・アンド・フィットネスを読んでいるのかと錯覚するレベルである。私は本書を読み、最近ほとんど行かなくなっていたジムにまた行き始めた。
筋肉肥大の効果をもっとも上げたい場合には、レップは8から12の範囲にする。この場合も、レップの回数だけ持ち上げられるウェイトのなかでももっとも重いものを持ち上げる。レップの範囲が大きくなると、筋肉が動かなくなるまでかなりの燃焼を感じるだろおおう。痛みなくして得るものなしということである。
こんな調子で、すでにソフトウェア開発者として成功者である筆者が惜しげもなく繰り出すアドバイスが本書には詰まっている。まさに「ソフトウェア開発者の人生マニュアル」としてソフトウェア開発者が生きることに迷ったときに傍らに置く本として相応しいだろう。
取り扱われるテーマは広く、一見無関係なものが絡み合っているようだが、一つ一つはとてもシンプルに丁寧に纏められている。それもそのはず。筆者はソフトウェア開発者やITプロフェッショナル向けサイト「シンプルプログラマー」の設立者で、ビジョンは複雑な問題を単純なソリューションに変換することであるという。
さらに自らも卓越したプログラマーであり、プログラミング言語やテキストエディタに対するプログラマーが取る宗教的な態度といった、我々が興奮する話題もよく知っていて、読み手を楽しませてくれる。
そんな筆者は、不動産投資等の資産管理を通して33歳という若さで早期引退を手に入れたのだが、その知見を余すことなく、嘘偽りなく本書に書いている。
また、本書の装丁は最高レベルで美しい。筆者の並々ならぬこだわりを感じることができる。装丁をみるだけでも価値がある。挿絵もなかなか秀逸だ。(私は挿絵の最高峰はリーダブルコードであると考えている)カバーももちろん素敵であるが、英語版のほうが様になる気がする。
読後には、何か実行して「より良い人生」への一歩を踏み出すことになるだろう。ソフトウェア開発者はもちろんだが、より良い人生への手がかりがほしい人であれば誰でも本書から必ず何か役立つものを得ることができるであろう。
書かれているのは人の生き方についてである。
より豊かな未来の自らの姿を想像する補助線に本書はなるかもしれない。