Hands on The Sword BW

Hands on The Sword BW / goooder

最近、若い技術者を一緒に開発しながら育てています。若者たちが一人前になるためには、勿論しっかりと努力をしなければいけませんが、ただし闇雲に頑張るよりも指針があったほうがいいでしょう。

その視点でベテラン技術者たちを観察すると、効果的な努力の仕方があることに気づきます。この記事では、熟練の技術者たちが日常的にやっている「努力の指針」について考えました。

品質:価値判断を増やすためのレビューを受ける

何よりもまず身に付けるのは、基礎体力です。体力といっても肉体的な意味ではなく、その仕事における基礎的な力のことです。たとえばプログラミングであれば、より速く、より美しいソースコードを書けるようになることです。

未熟なうちは、何をするにしても時間はかかりますし、成果物の品質もよくないでしょう。では、どうすれば上達するのでしょうか。

品質は熟練者からのレビューを受ければ高めていくことができます。品質を上げるには良い悪いの判断基準を身につけていくことが必須です。レビューを受けるたびに、自分の中に新しい価値判断を増やしていく意識を持つことです。

スピード:「ふりかえり」を仕事の中に組み込む

質を高めるだけならば、時間をかければ誰でもできます。限られた時間の中でも高い品質を出せるのが熟練者です。質を落とさずにスピードを上げていく努力をしましょう。スピードが上がれば、同じ時間で出来る量も増えます。

スピードを上げるためには工夫が必要です。工夫をするためには改善の余地を見つけなければいけません。改善の余地は、仕事に取り組む中でしか見つけられません。改善の余地がないか探しながら仕事に取り組む意識を持ちましょう。

「ふりかえり」の機会を作って定期的に自分の仕事を見直すことも大事ですが、もっと良いのは、そんな機会を待たず常に「ふりかえり」をしているような状態にしてしまうことです。改善そのものを日常の業務にしてしまうのです。

知識:戦略的に知識を得る手段と時間を用意する

出来る仕事の種類を増やすことも熟練者への道のひとつです。熟練者たちは、様々な技を身につけています。それらは、知っていれば効果のでる「知識」と、じっくりと時間をかけて身に付けなければ使えない「スキル」の2種類があります。

新しい知識を得るためには、日々のアンテナを高くして過ごすしかありません。同じニュースを見ても同じ体験をしても、何も感じない人と何かに気付く人では、大きな差がつきます。漫然と生きるだけでは熟練者にはなれません。

本を読むこともあれば、海外のニュースを見ることも知識の糧になるでしょう。熟練者たちは行き当たりばったりではなく、戦略的に知識を得る手段と時間を用意しています。自分なりの方法を見つけましょう。

スキル:スキルを身につけるスキルを身につける

「達人プログラマー」という本に「毎年、新しいプログラミング言語をひとつ覚えなさい」というようなことが書かれていました。新しいスキルの修得には時間がかかるので大変ですが、努力するだけの価値はあります。

新しいスキルを身に付けることで仕事の幅が広がるのはもちろん、出来ることが増えれば考えかたの幅も広がります。そして、本当に身につけるべきは「何か新しいことを身に付ける」というスキルを身に付けることです。

特にIT業界では新しい技術が次々と登場してきます。そこで応用できるのは「新しいものへの取り組み方」です。熟練者たちは、こうした次元が一つ上のメタなスキルを身につけているからこそ、いつまでも熟練者でいられるのです。

経験:抽象化して応用の効く「引き出し」を増やす

熟練者たちは、トラブルが起きたときも冷静に素早く対処ができます。それは、問題に対する解決の引き出しをたくさん持っているからに他なりません。そして、その引き出しの多さは、トラブルのとき以外にも有効です。

ルーチンワークではなく日々新しいことに取り組む仕事の場合、常に何かしらの問題を解決しようとしています。そうしたときに、過去の経験を活かせるかどうかで仕事の成果は変わってきます。

ただ沢山の経験を積むのは時間が幾らあっても足りません。うまくいったことも失敗したことも、抽象化して捉えることが大事です。抽象化された経験は、様々な場面で応用が利きます。引き出しを増やすことを意識して仕事をしましょう。

まとめ:熟練への近道はないが、効果的な成長には指針はある

熟練の技術者になるための近道などありません。ひとつひとつの仕事の品質とスピードを上げて、知識とスキルを得て、実践の中で経験を積んでいくほかないのです。しかし、それでも成長の早い人と遅い人で差が出てきます。

せっかく努力を積み重ねるなら、効果的に努力をしましょう。行動するとともに、常に考えながら仕事に取り組むことです。目の前の仕事をただこなすのではなく、その先に繋げる意識をもって取り組みましょう。

その上であとは毎日の鍛錬しかありません。熟練のプログラマを目指しているなら、毎日必ずコードを書くこと。ライターを目指しているなら、毎日ブログを書くことでしょう。熟練への道に終わりはないのです。