読書メモ:Clean Coder プロフェッショナルプログラマへの道

読書メモ:Clean Coder プロフェッショナルプログラマへの道

September 9, 2023

かつて読んだことがある本でしたが、手元の本をいくつか処分するにあたって再読しておこうと思い、その記録です。著者の Robert Cecil Martin 氏はアンクル・ボブ(Uncle Bob, ボブおじさん)という愛称で呼ばれる方ですね。

本書は、プロフェッショナルなプログラマであれば、あるいはそうなりたいのであれば、このように振る舞うべき、というようなことが書かれています。ボブおじさん自身の過去の経験や失敗を物語調で語りつつ、そこでの反省や学びをもとに、ボブおじさんの考えるプログラマとしての職業倫理を説いています。細かいところに焦点を当ててみると、例えば、「音楽を聴きながらコードを書いていたら、実はほとんど集中できていなかった。だから音楽を聴きながらコードは書かないほうが良い。…と私(ボブおじさん)は思う。だけど、もしかすると、あなたにとっては音楽は集中の助けになるかもしれないね。」のような、些か個人的な見解も語っています。

以下では「第1章:プロ意識」から、キャリア形成に関しての考えを語った部分を引用します。


労働倫理 #

君のキャリアの責任は君にある。君の市場価値を決めるのは雇用主の責任ではない。講習を受けたりカンファレンスに出席したり本を購入したりするのも雇用主の責任ではない。これらはすべて君の責任だ。おおソフトウェア開発者よ、自分のキャリアを雇用主に任せるとはなさけない。

君のために本を購入してくれたり講習を受けさせてくれたりカンファレンスに参加させてくれたりする雇用主もいるだろう。君のためにやってくれているのだから、それはそれで構わない。だが、それが雇用主の責任だと勘違いしてはいけない。こうしたことをやってもらえなくなったら、自分で代わりの方法を見つけるべきだ。

学習の時間を見つけるのも雇用主の責任ではない。そのための時間をくれる雇用主もいるだろう。時間を取るように言ってくれる雇用主もいるだろう。君のためにやってくれているのだから、感謝しなければいけない。だが、それを期待してはいけない。

雇用主には一定の時間や労働力を提供しなければいけない。ここではアメリカの労働基準法にある週 40 時間を引き合いに出そう。この 40 時間は君の問題ではなく、雇用主の問題に費やさなければいけない。

週に 60 時間働く計画を立てよう。40 時間は雇用主のため、残りの 20 時間は自分のためだ。その 20 時間を読書・練習・学習などに使い、自分のキャリアを強化するのだ。

「でも、家族は?僕の人生は?雇用主の犠牲になれってこと?」そんな声が聞こえてくる。

余暇の時間の話はしていない。週に 20 時間追加しただけだ。1日に換算すると約3時間になる。朝食時に読書をして、通勤時間にポッドキャストを聞いて、1日に 90 分ほど新しい言語を学習すればいいのだ。

計算してみよう。1週間は 168 時間だ。雇用主に 40 時間、君のキャリアに 20 時間を使える。残りは 108 時間だ。睡眠に 56 時間を使うとして、残りの 52 時間は自由に使える。

そんなことはしたくないと思うかもしれない。それでもいい。だが、それならプロとは言わないでもらいたい。プロは自分の専門知識の手入れに時間をかけるものだ。

仕事を家に持ち込みたくない人もいるだろう。私もそうだ!追加した 20 時間は雇用主のために使ってはいけない。自分のキャリアのために使うのだ。

この2つは重なることもなる。雇用主のための仕事が君のキャリアの役に立つ場合だ。そんなときは、20 時間を仕事の時間に充ててもいいだろう。忘れないで欲しいのは、20 時間は君のためのものだということだ。その時間は、プロとして価値を高めるために使うのだ。

そんなことをしていたら燃え尽きてしまうと思うかもしれない。だけどこれは、燃え尽きないようにするためのものなんだ。君はソフトウェアに情熱をかけていたから、ソフトウェア開発者になったわけだよね。プロになりたいのもその情熱があったからだよね。20 時間で情熱を取り戻すんだ。20 時間を楽しむんだ!