ある朝、気まぐれにいつもより早く家を出ようとしたら、覚えのない郵便物が届いた。何かなぁと思ったけれど、宛先は確かにボクだったので受け取った。中身は「情熱プログラマー」だった。差出人の記載はなく、とにかく「自分はこれを読むべきなんだな」と理解した。よし、読もう。
飢えと乾き
働き始めて、給料をもらいながら生きるようになって、もうすぐ丸2年になる。この2年でボクは何を成しただろうか。足が前に出ている実感はある。少なくとも、同じ場所に留まり続けてはいない。じゃあ、その足はどこに向かっているんだ。自分の向かいたい場所に向かっているだろうか。自分がたどり着きたい場所に近付いているだろうか。
ときに自分を見失うことがある。
ボクの能力は、ある方向には伸びていても、別のある方向には伸びていない。そんな風に感じることがある。そして身の回りの何人かから「君の力じゃ物足りない」と立て続けに言われ、悔しいけれど返す言葉もなかった。美味しい料理とお酒では癒せない飢えと乾きに襲われた。
「もっと成長したい。自分を上へと押し上げるだけの力が欲しい」
もちろん、祈るだけでは何も手に入らない。この「情熱プログラマー」には、すぐに実践できる戦術がたっぷり載っていて、今の自分には大変ありがたいものだった。
内容メモ
特にグッときたのは「19: 今すぐに」「21: デイリーヒット」「24: 今日どれだけうまく仕事ができるか?」「25: 自分にどれだけの価値があるか?」「27: 保守作業の真価を知る」「28: 8時間燃焼」「32: 言って、成して、示す」「52: 昨日よりよく」あたり。
ボクが身を置いている労働環境は、この本の中で言われている「システム開発」の文脈から見ると少し特殊なので、これらを書いてある通りにそのまま実践すると効果が低そうだ。自分の環境において考慮しなければならないことはなんだろう、ひとつの工夫を取り入れれば自分の環境にも取り入れられそうだ、なんて適応を考えるのは、それ自体に価値が宿るように思えた。
日単位でも週単位でもいいから自分にとって適切な単位で目標を設定し、その達成状況を追跡調査するだけで、自分の行動を大きく変えることができる。目立った成果を調べ始めると、自分の行動をビジネスにおける価値に基づいて評価し、優先順位をつけられるようになる。
21: デイリーヒット (P.72)
うむ。目標を設定することと、目標が達成されたかを明確にすること。
退屈な仕事を同僚との競争に変えよう。そして誰がうまくできるか確かめる。
24: 今日どれだけうまく仕事ができるか? (P.80)
毎日の仕事が退屈だって言っているんじゃあない。仕事の中には、自分が退屈に感じてしまうものもある。そいつすら楽しくこなせるようになれば、仕事の質が上がるはずだ。
僕がこんなふうに考えるようになった頃のことを今でも思い出せる。最初の頃は、寝ても覚めてもそのことしか考えられなかった。1ヵ月くらいすると、こう思うようになった。「今月、僕は何を生み出しただろう?」そのうち1週間とか1日の単位で考え始めるようになった。「今日、僕には価値があっただろうか?」
(途中略)
給料の2倍を忘れるな。年間で少なくともこの数値を上回るまで決して逃げちゃいけない。
25: 自分にどれだけ価値があるか? (P.82)
仮に僕が君に10万円を手渡してコーヒーを1杯持ってくるように頼んだとしよう。君が10万円を使ってしまって、しかも手ぶらで戻ってきたら、僕はがっかりするだろう。本当においしいコーヒーをたっぷり持って帰ってきてくれた場合でも、戻ってくるまでに2時間かかったとしたら、やはりがっかりするだろう。逆に、お金を全く渡さずにコーヒーを1杯持ってくるように頼んだとする。そしたら実際にコーヒーを持って帰ってきてくれただけで心底感謝するだろうし、そのまま戻ってこなかった場合でも仕方ないって理解を示すはずだ。プロジェクトの仕事は、この例でいえば前者だ。保守作業は後者に似ている。
27: 保守作業の真価を知る (P.87)
「メンテナンスだって自由で創造的にやれる」とも書いてあった。これも改めて教訓。「これは退屈な仕事だ」と感じてしまうのは自分であって、仕事の内容がすべて悪いわけではない。逆に、他のみんながやりたがらないような作業に積極的に臨み、そこに創造性を与え、言われなくともコーヒーを持ってくるような仕事ができれば、価値を生み出せるはずだ。
Bob Martin の8時間燃焼の考え方は、開発者に制約を課すとともに、その制約に対処する方策を示している。毎日、職場に着いたら、使える時間はわずか8時間!やって、やって、やるしかない!という気構えで作業に取りかかる。開始と終了の時刻に厳しく制約が課されていると、時間をきちんと管理して、より有効に活用する習慣が自然と身に付いてくるだろう。
28: 8時間燃焼 (P.91)
計画に組み入れるすべての項目には、その後どうなったかを書き込めるようにする。これは絶対に忘れないでほしい。どの項目についても、完了したか延期されているか削除されたか別な項目に置き換わっているかが目に見えるようになっていないといけない。どうなっているかわからない項目を残さないこと。
32: 言って、成して、示す (P.104)
今の自分のやり方に、よくないところがひとつ見つかった。計画を示し、完了したものはリストにしているが、「やる!」と言ったけどうやむやになったものは可視化されていない。自分の弱点を知る機会を逃していたと言える。今日からは、計画時のリストと、実際にどうなったかのリスト、常に2つを持つようにしよう。
小さな改善で満足することも大切だ。「単体テストへの取り組みの改善」という目標に近づくには、昨日より1つ多くテストを作成するだけで十分。初日がゼロだとしたら、毎日昨日より1つ多くテストを作成するくらいなら続けられる。そして、これ以上は無理というところまでくれば、「単体テストへの取り組みの改善」は達成しているはずで、もう改善を続ける必要はない。
52: 昨日よりよく (P.163)
仕事における「成果」と「満足度」は必ずしも正比例の関係にはならないと、今のチームで過ごす日々の中で体験として学んだ。「目標を10にした日の成果10」と「目標を50にした日の成果10」は、成果の大きさが同じでも満足度は同じにならない。目標設定はとても大切だ。そして、満足度はバカにしてはいけない。心を健全な状態に保っていないと、単調な作業はこなせるかもしれないが、創造的な仕事はできない。
思考メモ
著者の Chad は、本書の中で、しばしば彼自身の「ジャズミュージシャン」としての体験談を語り、その度に「ミュージシャンとプログラマのキャリアには似ている点がある」と主張する。ボクもプログラマってのはアーティストやアスリートに似た性質があると感じていて、つまりボクらは、コードを書いている間だけプログラマってわけじゃないってこと。きっと他の多くの職業でもそうだと思うんだけど、仕事とそれ以外を「完全に」切り離すのは難しい。
日々を楽しくしようと思ったら、仕事を楽しくするってのはひとつの方法だ。だけど、ただただ「楽しくなるようにがんばれ!」と言うのでは、1冊の本にはならない。
本書のひとつひとつの項目を、自分は「動機付け」の話として理解した。今の自分の立ち位置、明日の居場所、将来の到達点。それぞれに与える意味と、そのときに体現されることと、プログラマとしてのキャリア。そしてどこに向かうにしても、ボクらの体を前に進めるのは「情熱」であると。
これからを生きる自分に、熱いものを与えてくれる本でした。ありがとうございました!