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

Posted by     "jolantern" on Monday, January 28, 2019

TOC

なんで読んだか

技術書っぽい技術書を読み進めていたときになんだか疲れてしまい、これに手を付けた。Kindleで買うと1000円分ポイントで返ってくる。物理本を買ってもいいけど、割と読みやすくて読むのが遅い僕でも結構早く読めたのでKindleとかでいいと思う。

いくつか印象に残ったところを。そういうところにハイライトを付けて読む、というのをやるといいということに気づいたのがなんと9章にたどり着いたときなので、9章からです。

9章 出世階段の登り方

おそらく、誰も触りたくないと思っている古いアプリケーションやコードベースのなかでも特に汚いことで知られるモジュールなどである。これらは、誰も欲しがらず、競って手に入れる必要もないので、あなたの広がりつつある帝国の新たな領土にできる。このような不毛の沼地を肥*な大地に買えられれば、あなたは周囲に自分の真価を示すことができるのだ

これは僕にとって励みになった。というのも、僕がメインで書いているコードはこのようなプロジェクトを生まれ変わらせるためのコードだからだ。出世階段には常に人々がひしめき合っていて、その階段を登りたいとき、誰もやりたがらないがやれば大変に価値のあることをやるのは確かに効果的だと思う。一方で、やれば価値のあることの中でもやってて楽しいことや、実は技術的な負債を生み出してしまうものもある。それと比べて僕のやっているような沼を田畑へと生まれ変わらせるような作業というのがそれらと同価値にしか見られないとしたら、それは組織を腐らせれてしまう要因の一つになるだろう。僕が評価される側であるうちはそうならないことを祈るぐらいのことか、せいぜい必至にアピールしていくことしかできないが評価する側に立ったときはこの気持ちを思い出せるようになりたい。

新しい会社に入るたびに私がまずしていたのは、何に時間を費やし、その日に何を達成したかを日録に書くことだ。

これ、僕はずいぶんやってなかった。というのも、僕は例えば半期ごとに立てた目標に向けてうごいていて、そこに結果が伴えばよかろうと思っていたからだ。だけど、振り返ってみるとこの手の日録・週報がないと自分が何を普段やっていて、かんがえているのかをアピールする材料が薄くなる。僕が思い出せる過去には限界があるし、上司に伝わる過去には限界があるのだ。もう少し真面目に日次的、週次的な報告をできるようになろう。

10章 プロであること

おそらくもっとも重要なのは、プロが首尾一貫していることだろう。安定しているということだ。プロは、自分の仕事に対して高品質を維持できるような基準を持っており、プロなら毎日いつでもその基準を守ってくれると当てにすることができる。プロが姿を現さないときには、必ず何か問題があるので、緊急事態だと思った方がいい。

うっとおもった。僕は最近、外的要因もかなりあるとはいえ方針ややることがとにかくぶれて仕方がなかった。基準をまもること、高品質を維持できる基準を持つことは今の僕には足りていない。

表10.1 プロとアマチュアの違い

はい、という気持ちで見ていた。持っていない知識を持ってるふりまではしてるつもりはないけど、おそらく突き詰めるとそういうところも現れることであろう。

私が好きなソフトウェア開発者で著作家のボブ・マーティンは、まさにこの問題を取り上げ、「ノー」と言うことについてのすばらしい文章を書いている

ボブの例では、患者は腕が痛むので切り落としてくれと医者に言っており、もちろん医者は「ノー」と答えている。しかし、ソフトウェア開発者は、同じような状況に直面したときに、上層部の怒りを恐れて「イエス」と答え、コードの切断を行ってしまうことが多い。

これはなかなかいい話だ。確かに、優れたエンジニアでもなんか指示があったのでみたいな理由で聞いてしまっているところに遭遇したことは1度や2度じゃない。僕はわりと人に遠慮しないというか、いいとも悪いとも言える側面を持っていて、こういうときにノー、もしくは本当に?と聞き返すことぐらいはできる。 結局切断したあともとに戻せるならいいのだけど、DBに保存する前処理なんかだと取り返しがつかなくなる可能性だってある。

16章 うまくやり遂げるまではできたふりをしよう

今のあなたと将来のあなたを隔てるものは時間だけだということを認識し、自分の能力やその欠如についてはオープンかつ正直に言いながら、目の前にある障害をすでに乗り越えた人のような前向きな態度で臨めと言っているのである。

前向きであることと傲慢であることは違うし、自分の欠如に正直に、でもそのために悲観的にならないというのは言葉でいうほど簡単じゃない。そのことは僕も、著者もよくわかっているところで、それでもこうあるべきなのだと言うのは凄く共感できる。 だけどそれが難しかったりするんだよなあ。でもいい言葉。

17章 ダメな履歴書をよくする方法

履歴書の内容をオンラインに出すことは可能だし、すべきである。LinkedInのプロフィールに履歴書と同じ内容を載せて「履歴書のオンライン版」を作り、然るべき人にそれに対するリンクを送れるようにすべきだ。オンライン版の履歴書を持たずにウェブ開発者の求人に応募するのは、自分の大工道具を持っていない大工さんのようなものだ。

今の所、近々転職するみたいな気持ちはない。とはいえ、自分の市場価値を知らないで給与を受け取り続けるのは、サーバのリソース監視をしないでサービスを運用するのに近いリスクがありそうだ。 Linked inも前職を辞める前に更新して以来放置している。少しぐらいは更新するべきかもしれない。

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

私たちは、タスクを終えるまでどれだけの時間がかかるかを必ずしもコントロールできない。私たちがコントロールできるのは、1日の間にタスク(または複数のタスク)にどれだけの時間を与えるかだけだ。

これは身にしみていて、やろう!と息巻いて張り切って始めたタスクを最近諦めた。というのも、かけられる時間がとにかく減ってしまっていることと、そのプロダクトに対する知見の少なさから自ら主導してそのタスクを進めることが困難だったからだ。その諦めるという決定自体は僕は間違っていないと思うけど、結局は僕がコントロールできないそのタスクを終えるのにどれだけ時間がかかるか、というのを見積もってしまったのが良くなかった。実際どれ位時間をかけてもいいかを考えた上で、行動するべきだったと言える。

そんでもって、ポモドーロ・テクニックはちょっとだけ使ってみた。僕があんまり集中できない掃除という作業に使ったら、結構はかどった。仕事でも使ってみようと思いつつ忘れていることにこの記事を書いていて気づいたので、使ってみてもいいかもしれない。

39章 以前よりも安定して多くの仕事ができるワケ

本物のコミットとは、人として可能な能力の範囲内で、あなたがやると決めたことを成し遂げることである。可能な能力の範囲内という断りは、肉体的に不可能な場合を除き、実際にはほとんどないのと同じだ。

これは聞こえはいいんだけど、あんまり真に受けすぎると潰れるやつな気がする。でもやりきるっていうのが僕にはできてないと思うんで、少し真に受けておかないとなあという気になった。

48章 どんなことでも、しなおよりした方がマシ

しかし、あまりにも多くの人々が人生のガレージに駐車した車に座り込んで、まだ道に出る前からどちらに行くべきか迷って、必死にハンドルを左右に回している。

これは結構好きな言い回しだっただけ。

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

農夫の話。まるっと引用するのは避けるけど、この話はどこかで聞いた気がする。会社で教えてもらったのかな。要するに、状況の良し悪しは客観的に良いか悪いかで判断されるのではなく、自分が選択することができるということなんだと理解した。

全部読んで

ソフトウェア・エンジニアリングを仕事としている人々をターゲットにした本だけど、エンジニアリングのことはほぼ書かれていない。自己啓発本でターゲットを絞ってきた感じの本だったと思う。そこまで素晴らしいと絶賛するほど良い学びがあったわけではないけど、ネットとかでよく言われているべき論みたいなものとか、こういう考えで今の仕事と接するといいのかなあと思わされるものがあったりしたので読んで良かったと思う。不動産投資の話とかは人生って感じでよかった。 翻訳が結構しっかりしているのか、そんなに「何を言いたいのだ・・・?」となることがなかったもよかった。結構面白く読めたと思う。