wolfmasa's blog

フロンターレとプログラミング関係の話題を、気が向いたときにつぶやくブログです。

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

全体を通して

ソフトウェアエンジニアの生き方みたいな本はいくつも出ているし、ほとんどが海外の話なのはちょっと残念ではあるけど、例えば情熱プログラマーみたいな本かなと思って読み始めた。

情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマー ソフトウェア開発者の幸せな生き方

読んでみると、確かにそういう部分はあるのだが、それ以外の部分、例えば筋トレとか健康とか、本当に過不足なく体系的によくまとまっているような気がした。

matzが書いているように、お金の話や仕事の話は、ある程度アメリカで書かれた本ということを鑑みて読む必要はあるが、それ以外は十分今後の人生の参考にしたい本の1つだ。

キャリアを築こう

キャリアをどう考えるかという話。

自分のキャリアパスは、まず目標を決めて、それに向かって仕事を選ぶべし、という流れ。

会社での社交術、スタートアップの起業や、フリーランサーになること、仕事を辞めることなど、幅広く取り上げられているのがすごい。

こういう話は、ある程度抽象的にならざるを得ないので、参考として聞いておく他ない。

自分を売り込め!

情熱プログラマーとかでも言われている通り、自分をブランドとして確立させるためにブログやポッドキャスト!?を通して、日頃から活動すべし、などがある。

確かにその通りなんだけど、なかなか実行できないので、それだけで差別化になるという話。

これもそうだけど、ブログはどうしても埋もれやすいので、質と量を追求していかないと難しい気がしているし、ポッドキャストも続けるためにはゲストの問題など、難しい側面がある。

とはいえ、できることを1つ1つやることが、きっと次につながっていくので、やはり今年はアウトプットを意識的にしなきゃなと思う。

学ぶことを学ぼう

新しいことを学ぶことは良いことだ。

ただそれで終わらずに、どうやって新しい技術を学んでいくべきか紹介している。

とても参考になったので、簡単に紹介しよう。

  1. 全体像をつかむ
  2. スコープを決める
  3. 成功の基準を決める
  4. 参考資料を見つける
  5. 学習プランを決める
  6. リソースをフィルターにかける
  7. 使い始められるようにする方法を学ぶ
  8. 遊びまわる
  9. 役立つことができるところまで学ぶ
  10. 教える

1−6までが最初に行う準備のステップで、7−10が繰り返して学んでいくステップだ。

新しいことを学び始める時って、なんとなく本を読んだり、サンプルをダウンロードしたりして始めるけど、その後詰まってしまうことがある。その理由はいろいろあるけど、学びがスピードに乗ってきたときに、再度資料を探したり、どこまでやれば終わりかわからずにマンネリ化してしまったりする。それを避けるために、まずステップを決めて、それに乗って準備をして、その後の学習のプロセスをスムーズに、そして過不足なく進めることができる。

繰り返し学んでいくステップでは、よく言われることではあるけど、まず遊んで使ってみて、最終的には人に教えることでわからないところを埋めていく。自分なりに発見だったのは、9の役立つことができるところまで学ぶという、ゴールを意識して学びを繰り返していくところだ。どうしても言語のを学ぼうとすると、例えばGO言語やJavascriptなど最近の言語であれば、できることは際限なく、やっている中で自分を見失いがちだ。それを、自分が必要としているところから逆算することで、達成基準を明確にし、達成感を得られるという心理的効果も含めて、とても良いことのように思える。

生産性を高めよう

このあたりから徐々にエモい話になってくる。生産性を高めるツールや考え方の話。特にハードワークをしろ!という根性論が印象的だった。

ポモドーロなどは、その筋では有名な集中のためのツールではあるが、それ以外にもルーチンを決めることや、習慣を作るために必要なことなど、ソフトウェアエンジニアに限らない、一般的な生産性を高める話がある。

アジャイルな時間管理術 ポモドーロテクニック入門

アジャイルな時間管理術 ポモドーロテクニック入門

個人的にはこういう自己啓発のような話は参考になるし、結構好きだ。最近、AppleWatchを使ってポモドーロもやっているし、この本を読んでいきちんとルーチンワークを管理し始めたところだ。

自分を動かすということは難しいことだが、生涯使える技術なので、やっておいて損はない。

お金に強くなろう

エンジニアといえどもお金は重要だ。著者が、不動産運営を副業で行なっていたため、30代で現役を引退するほど資産を貯めることができたということに由来し、お金についてきちんと考えることの重要性と、その手法を説明している。

とはいえ、読んでいてとても違和感があるのは、前提としてアメリカ、特に西海岸では、ソフトウェアエンジニアの給料はとても高いということにある。

ソフトウェアエンジニアは給料をたくさんもらっているので、その給料を運用することで、より安定した人生を送ることができる、というロジックは理解できても、前提の給与水準については日本はむしろ逆のことが多いので、あまり参考にならない。

人月産業、よくSIerと呼ばれる産業ではなく、アメリカのようなきちんとエンジニアが評価される社会であれば、どんなに生きやすいことかと考えることは、1度や2度ではないと思う。

やっぱり、体が大事

健康は重要という章だが、ほとんどを筋トレやトレーニングの話が占めている。

ダイエットの話も出ているし、知識としては参考になるが、今の自分からしたらあまりすぐ実践するようなものではない。

ただ、運動することは重要だと思うし、少し意識が弱かった木がするので、時間があれば走ったりしようかなと思っている。

負けない心を鍛えよう

体だけじゃなくて、心も大事だ、ということはよくわかる。

おそらく、ナポレオン・ヒルの思考は現実化するという本に大きく影響を受けたようで、プラス思考でいくことの重要性を説き、そのためにどういうマインドでいるべきかを説明している。

個人的には、この本はあまり刺さらなかったというか、強い思いを持つことで、それが結果的に実現するという内容だが、それをひたすらにたくさんのページで説明しているだけの本のように思えて、いい思い出はない。

ただ、思いの持つ重要性というものは、価値を再認識しても良いとこれを読んで感じたので、そこのところについてはもう少し意識的にプラス思考で行こうと思っている。

最後に

この本はお勧めできる本か?と言われれば、間違いなくYESと答える。

細かい章立てで、幅広い話題に言及しているし、内容に関しても偏りは少ない方(こういう本の大体は自説を主張しすぎる気がする)だと思う。

あとは、ポモドーロのような手法に言及したり、ハードワークが大事だと根性論を持ち出したり、お金の話をして現実に引き戻したり、変化にも飛んでいる。

気になるのは、どうしてもそのページ数が多いので、全てを読もうとすると結構タフだということだ。それさえ気にしなければ、とても良い本だと思う。