pure function

愛せないコードを書くには人生はあまりにも短い

SOFT SKILLS ソフトウェア開発者の人生マニュアルを読みました

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

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

前から気になっていて、自分のキャリアに参考になる点もあるかもと思い読んでみました。

章立ては、

  • 第1部 キャリアを築こう
  • 第2部 自分を売り込め!
  • 第3部 学ぶことを学ぼう
  • 第4部 生産性を高めよう
  • 第5部 お金に強くなろう
  • 第6部 やっぱり、体が大事
  • 第7部 負けない心を鍛えよう

といった感じです。

各部ごとに自分の思考整理も兼ねて、感想を書いていきます。

※いちおう注意として書いておきますが、タイトルにSOFT SKILL(コミュニケーションなどの対人スキル)とあるようにHARD SKILL(いわゆる技術スキル)を扱った本ではありません。
よりよいコードを書くためのベストプラクティスを求めてる人などは買い求めないほうがいいでしょう。

第1部 キャリアを築こう

第2章 スタートから派手にいこう!:誰もがするようなことをするな

企業勤めであっても自分の属する会社をクライアントと捉えよう、という話がされていました。
これはめちゃめちゃいい認識だと思います。
最近の自分も感じていて、やり始めている働き方でもあります。
個人的に"自分の市場価値が測れていて、なおかつ自社と給与交渉ができる"状態が企業に属する人間の心理的安全性だと捉えていて、そこを目指す働き方をしています。

第7章 あなたはどのタイプのソフトウェア開発者か

ここでは専門性が大事だと言う話が出てきます。
自分は前職で多種多様な受託案件をやっていて、案件ごとに言語が違うということも多かったです。
そのため、器用貧乏みたいなスキルセットになってしまい、ミスったなーと感じています。

第10章 プロであること

筆者はプロとアマチュアの違いのひとつに、"プロは仕事を正しく終わらせ、アマチュアは仕事をとにかく終らせる"という点を挙げています。

私が中小Sierを辞めて自社開発を行う企業に入ったのは上記の点を強く感じたからでした。
自分の中で3流のエンジニアの定義は、"ただ動くものを作る"人です。
やはり受託企業は納期が最大の敵となってくるので、能力があったとしても、速度優先で"ただ動くものを作る"人が多かったですし、自分もそうなっていました。
自社開発であればリーン開発であったとしても、そのツケが回ってくるのは未来の自分ということを意識して、開発できるかもなーというのが転職を決めたきっかけにもなっていました。

実際、この感覚は正しかったです。
今のところ絶対的な納期のある開発や納品後に自分が再度改修する機会のない案件は、積極的に避けていきたい気持ちです。

第2部 自分を売り込め!

第20章 自分だと気づいてもらえるブランドを確立しよう

第2部はひたすらセルフブランディングの話です。
自分もセルフブランディングは大事な要素だなーと思います。
筆者はブログを持つべしといってますが、私も同意見です。
個人ブログは自身のプレゼンスを高める以外にも思考開示の良い訓練になります。

思考開示をするためには思考整理が必要なわけで、自分が何を考えているのか理解するのにとても良いです。
行動にしても思考にしても技術にしても経験を積むと、自分の中の正解が積み重ねられます。
自分は行動や思考の自分の正解はアウトプットしてきましたが、技術のアウトプットが明らかに少ないなーと思ったので、そこを高めていきたいです。

第3部 学ぶことを学ぼう

第28章 私の10ステッププロセス

新しい物事を学ぶ際のプロセスを10ステップに分けたものが紹介されていて、とても参考になりました。

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

特に自分ができていないのが、ステップ3とステップ10だと思います。
脳がわりかし揮発性なので、未来の自分に教えるという意味も込めて...。

第31章 メンターを探す:あなたのヨーダを見つける

今の会社もこの人はメンターになってくれそう、という人をみつけて入ったんですが、 結局一緒に仕事することなく退職されてしまい残念でした。

この本では、上司や知り合い以外にもClarityみたいなサイトでメンターを見つけ、時間料金制でアドバイスをくれる人を探すのもいいよ、と書いてありました。
国内サービスだと、Time Ticketとかですね。
ガッツリ問題が決まってるものだったらこういうのは合うかもしれないけど、勉強会とかで人脈広げたほうがよさそうな印象。

第4部 生産性を高めよう

第38章 ポモドーロテクニック

最近、集中が続かず仕事の合間にTwitterをみてしまっていたりしたので、ひさしぶりにポモドーロテクニックを試してみましたが、効果てきめんでした。
自分はモードに入ってしまった後は、過集中の傾向があるので、25分作業して5分休憩するという周期は合わない気がするんですが、
集中の導入剤や作業がダラダラと長引いてるときに切りをつける手段として非常に有効だなーということを再認識しました。

筆者は1日に何ポモドーロをこなしたかをトラッキングし、過度に仕事をしないようにしているというのはなるほどなーと思いました。
フリーランスの方って作業時間のトラッキングってけっこうやってるもんなんでしょうか。

第40章 自分自身に対して責任をとる

これまた私好みな言葉が出てきました。いい言葉ですねー。
この何ヶ月かだらけていることが多かったので、この本を読んだ後は、それは本当に今しなきゃいけないことか?という問いかけをするように心がけています。

私は"自分でやると宣言したことをやらない"ことに罪悪感をおぼえる性質があるので、
妻に"夜は〜〜を行う"という宣言をするのも試験的にやっています。
今のところこれも効いている気がしています。

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

平日はJIRAで今日やるチケットを決めて実装してくぞ〜っていう気持ちなんですが、 休日のルーチンがないので、だらけがちだなあと思いました。

第5部 お金に強くなろう

第53章 引退計画を本当に理解できているか

引退をなんとなく定年くらいの歳で考えていないか?というのはハッとさせられる問いでした。
とりあえずいまは逆算して考えられるほど地盤が固まってないので、短期にフォーカスした生き方のほうが自分にはあってるかなあと。

第7部 負けない心を鍛えよう

第66章 正しい心構えを持つ:リブートしよう

前章では心と身体には深い相関があるとの話がありました。
これはだいたいの人がそうだと思うでしょう。

この章では、プラスの態度(プラス思考)を持つことで身体にいい影響を与えましょう、という話が出てきます。
著者も言っている通り、プラス思考というと楽観主義的なイメージを与えますが、自分にとってプラスのモチベーションを与えうる思考と言ったほうがより正しいと私は思います。
言い換えると、マイナスのモチベーションを与えうる思考を避ける、ということです。
それは一般的な状況解釈、例えば"寝過ごしたときに、いつもより多く寝られたと思うようにする"、といったもの以外にも、
"悪い結果の占いは信じないで、いい結果の占いだけ信じる"とか
"筋肉をつけることで、誰かに違う分野では負けていても力では負けないし、と自己保全する"などもあると思っています。

つまるところ、プラス思考を単純化するとルール付けの話になるので、
"Aというインプットを与えられたとき、Bと思う"ルールを作り、そのルールセットに則った思考をすればいいって話ですね。
こういう言い方をすると、機械的な印象を持つかもしれませんが、 思考は習慣とべったりなので、すぐ当たり前になるし不安とストレス軽減に大いに役立ちます。

第69章 私の成功本リスト

リストで良さそうなやつを抜粋して載せます。

やりとげる力

やりとげる力

人を動かす 文庫版

人を動かす 文庫版

思考は現実化する_アクション・マニュアルつき

思考は現実化する_アクション・マニュアルつき

自分を動かす (あなたを成功型人間に変える)

自分を動かす (あなたを成功型人間に変える)

まとめ

最後らへんは自己啓発感がハンパない感じになりましたが、自分を知ること(モチベーション、行動原理、インプット・アウトプット整理)はソフトウェア開発者のみならず、
万人の人生において最も大切なことだと思っているので、すごく納得できました。

興味ないとこは読み飛ばしたりしましたが、全体的にはオススメできる良著だと思います!