Zubora Code

【書評】SOFT SKILLS ソフトウェア開発者の人生マニュアル 第2版

「SOFT SKILLS ソフトウェア開発者の人生マニュアル 第2版」の書評を書きました。

Published: 24 July, 2023
Revised: 25 July, 2023

受けた影響

SOFT SKILLS ソフトウェア開発者の人生マニュアル 第2版」を読みました。この本を読んでから、いやもはや読んでいる途中から、生活スタイルを夜型から朝型に変えたり、Audible(聴く読書)を始めたり、本ブログを開設してみたりと、かなり具体的な行動を促される程に強く影響を受けたので、刺さった文章を引用しつつ簡単に書評を書いてみようと思います。

あなたが読んだことのあるどの本ともこの本が違う理由

第1章のタイトルがこれになっていて、その時点でもう上手いなあと思わされ、序文で完全に引き込まれました。

いいコードの書き方や様々なテクノロジーの使い方を説明した本は世の中にたくさんあるが、いいソフトウェア開発者になるための方法を教えてくれる本を見つけようとすると、とても苦労する。

私が言う「いいソフトウェア開発者」とは、コードの書き方、問題の解き方、ユニットテストの作り方がうまい人のことではない。そうではなくて、キャリアのマネジメント、目標の達成、人生の楽しみ方の面で、いいソフトウェア開発者ということだ。

確かに、今言ったようなスキルはどれも重要だろう。しかし、ソフトウェア開発者には、C++での優れたソートアルゴリズムの書き方とか、隣のメンテナンスプログラマーがあなたを車でひき殺してやりたいと思ったりしないコードの書き方といったこと以外にも、することはあるはずだと言いたいのである。



この本では、キャリア、セルフマーケティング、学習、生産性、資産形成、フィットネス、マインドセットとあらゆる分野の話が書かれています。筆者は33歳でFIREしたソフトウェアエンジニアで、彼の経験に基づいてかなり具体的なアドバイスが書かれています。

個人的にはFIREとかが絡んでくるとちょっと胡散臭くなる気がして若干抵抗があるんですが、この本の話はなぜかすんなり受け入れることができました。後述の通り筆者は他者への貢献を重視しているからだと思いますが、鼻に付く感じが全くありませんでした。

刺さった内容

色々と参考になりましたが、私に最も刺さったのは以下の章でした。

  1. 第2章: 自分のキャリアをビジネスとして扱え
  2. 第19章: セルフマーケティングの基礎
  3. 第23章: 他者のために価値を生み出すことが重要な理由
  4. 第43章: 時間浪費のメカニズム
  5. 第44章: ルーチンを持つことの重要性


第2章: 自分のキャリアをビジネスとして扱え

生計を立てるためにコードを書くという世界に踏み出した時のあなたは、中世の街で店を準備している鍛冶屋と同じだ。時代は変わり、ほとんどのソフトウェア開発者は会社に属しているものの、私たちのスキルや商品価値は私たちのものであり、私たちはいつでもどこか別の場所に店を出せるのだ。

自分自身の業績とはあまり関係のない「いつもの給料」をもらうことに慣れてしまうと、自分は会社の従業員に過ぎないというマインドセットに簡単に染まってしまう。一時的なキャリアとして、あなたが特定の会社の従業員であることに間違いはないかもしれないが、その時の肩書が自分や自分のキャリアを表していると考えないことが大切だ。

ソフトウェア開発というあなたのビジネスの顧客として、雇用主を考えた方がいい。あなたと会社の関係をこのように捉えると、あなたは会社に依存する力のない存在から自律的で自由な存在に変わる。

あなたが提供しているサービスは、ソフトウェアを作れる能力だ。


最近は日本でも副業OKな企業が増えてきてますが、実際にやっている人はあまり多くはない印象です。私も新卒の頃は多少やってましたが、まずは本業で100点出せるようになってからやろ、と思って辞めて以来やってません。正にここで言及されている "慣れ" の状態にあるなーと気付かされました。

※ちなみに本書にも「日本では、就業規則に副業禁止規定がある会社が多かったが、最近副業を認める動きが出てきている。」と言及がありました。あまりこの辺の事情については詳しくないですが、日本は特別厳しいのかも?

第19章: セルフマーケティングの基礎

ナイトクラブに出かけてカバーバンドの演奏を聴いていて、オリジナルのアーティストより上手とまではいかなくても、同じぐらいにうまいと思ったことはないだろうか。カバーバンドは小さなナイトクラブでこじんまりと演奏しているのに、それよりも才能があるとは思えないもう一方のバンドはワールドツアーに出かけてプラチナディスクを獲得している。この違いはなぜなのだろうと思ったことはないだろうか。


これはなんか分かります。歌が上手いとか曲がいいとかも大事なんでしょうけど、届かないとどうしようもないんだろうなと。


Google検索とかiPhoneみたいな「本当にいいモノ」作って出せばマーケティングとか営業なんてやんなくても勝手に流行るやろ、みたいに思っていた節もありましたが、やっぱりそうじゃないよなと思わされました。

メッセージを送り出すためのメディアは多数あるが、私がソフトウェア開発者に特に勧めたい特に効果的なメディアはブログである。ブログは、インターネットでのあなたのホームベースだ。ブログは、他人のプラットフォームやルールに振り回されず、あなたが完全にメッセージをコントロールできる唯一の場所である。

率直に言って、私の今までの成功の大半は、ブログのおかげである。ブログを作らず、ブログを成功させる方法を知らなければ、あなたはこの本を読んでいなかっただろう。

※後半の文章は第21章: 成功するブログの作り方からの引用です


確かに今この本を読んでいる以上彼のマーケティングにハマっていて、彼がそう言う以上はそうなんだろうなと思わされました。確かに、Twitterとかで見かける有名なエンジニアさんとかは積極的にブログで発信されている印象があります。(そしてはてなブログを使われてる方が多い理由が気になってます)

ちなみに著者のブログはこちらでした。

https://simpleprogrammer.com/

第23章: 他者のために価値を生み出すことが重要な理由

自分の利益のためになることしかせず、他者のために本当に価値のあるものを生み出さなければ、セルフマーケティングの方法として正しいことをすべてやったとしても、成功しないだろう。

私たちはみな、第一義的には自分に興味がある。あなたの成功のことやあなたがもっと成功するためにあなたを支援すべき理由のことなど誰も聞きたくはない。彼らが聞きたいのは、自分の成功のために、あなたがどのように役に立つかだ。セルフマーケティングで成功を収めるための一番の方法は、ほかの人々の成功を手伝うことである。


昔はたまにブログも書いてて技術的な発信もしてたんですが、なんかオレですよオレって感じで世間に向かってアピールすることがなんとなく恥ずかしくなっちゃって、その内めんどくさくなって辞めちゃってました。がなるほど、ちゃんと他者のために価値を生み出す何かを書こうという気持ちでやればいいのかと思いました。


第43章: 時間浪費のメカニズム

はっきり言う。テレビを見るのを止めよう。

これは本気だ。できる限りテレビを見るのを止めなければならない。テレビをけし、リモコンを置いてほかにやることを見つけよう (テレビなんかなくて大丈夫という読者は、この章の「テレビ」という部分をYouTubeやNetflixに置き換えるとよい)。

私たちは、自分にとっても社会にとっても何の利益にもならないのに、テレビを見て人生のかなりの部分を浪費する人々が多数派を占めるような世界に住んでいる。2012年のニール戦の報告書によれば、3歳以上の平均的なアメリカ人は、週にテレビを生で34時間以上見ている。しかし、それだけではない。彼らは、そのほかに3~6時間も録画した番号みを見ている。なんてことだ。本気かよ。見間違えじゃないだろうな。週に40時間もテレビを見ているだって?毎週、フルタイムの仕事をするのと同じ時間だけテレビに張り付いているのかよ。それはとてもまともだとは言えない。

週に40時間あれば、何ができるかを想像してみよう。自分の事業を始めたいなら、さあどうぞ、40時間もあるのだ。キャリアを積みたい? 毎週40時間ずつ増えれば目標を実現できるように思えてくるだろう。体を鍛えるのはどうか。私は、40時間あれば十分だと思う。


さすがに40時間もテレビを見てるってことはないですが、NetflixとかTverとか隙間時間のSNSとかニュースとか色々合わせると実はかなり時間を浪費してたかも...。


第44章: ルーチンを持つことの重要性

行動を起こすべきは今だ。明日や来週ではなく、今である。


要するに「明日やろうは馬鹿野郎」ってことですよね。

※懐かしのプロポーズ大作戦

ほとんどの人は、それぞれの勤務先の仕事のために、昼の8時間を充てなければならない。それでも毎日16時間ずつ残っている。しかし、さらに8時間を睡眠のために確保するので、残された時間は8時間になる。最後に、食事のために一日2時間ずつ確保しなければならない。最悪でも、あなたが実現したいことのために割り当てられる時間は、毎日6時間も残っている。

毎日仕事に行くことに関連してすでにルーチンができているので、週5日の出勤日をベースとしてルーチンのスケジュールを考えるといいだろう。私なら、一日の最初の1、2時間をもっとも重要な目標のための時間にすることをお勧めする。そのために毎日2時間早く起きなければならないかもしれないが、一日の最初の1、2時間を使えば、やろうとしていることを守れる可能性が高くなるだ毛でなく、もっともエネルギーが溜まっている時間をしたいことのために使える。

残りの6時間のうち、2~3時間は家事育児、1時間は運動(ランニング、ウォーキング、筋トレ等)なので、個人開発とか勉強に使える時間は残り2~3時間。

残業したらすぐ消えて無くなる時間だし、今フルリモートなんで大丈夫ですが通勤してるとほぼ余らないなーと思ったり...。

この2~3時間を寝る前に持ってくるとコンディションによっては眠くなって集中できなかったりしてたので、いっそ朝に持ってこようと思い立って、ここ1~2週間は結構始業前に個人開発やれてます。このブログはほとんど朝の時間で作りましたが、夜やるよりは明らかに集中できてます。寝る前だと本当に意味不明なところで1時間詰まったりしがちなので😂


最後に

第69章には「恋愛と人間関係」なんて章もあってなかなか興味深いことが書いてあります。冒頭に書いた「人生の楽しみ方」までを著者が本気でカバーしようとした意気込みが伝わってきます。

特に育児が始まってからは本当にドンドン時間が溶けていくので、うかうかしてるとすぐに5年10年経っちゃいそうな怖さがあります。まずはちゃんとルーティンを確保しつつ定期的に有益な情報をブログで発信することから始めて、今年中にFlutterでスマホアプリを1つ出したいと思ってます。

本書「SOFT SKILLS ソフトウェア開発者の人生マニュアル 第2版」はエンジニアに限らずソフトウェア開発に携わる方全般に刺さる内容になっていると思うので、ぜひ読んでみてください!


Toshimitsu Kugimoto

Software Engineer

仕事では決済やメディアのWebやスマホアプリのBE開発、WebのFE開発をやっています。 JavaとTypeScriptをよく使います。プライベートではFlutterでのアプリ開発にも挑戦中です。