wiki:DoNotBeACraftsman

職人に成ってはいけない

ソフトウェア技術者の間に、ともすると職人を礼賛するような風潮があることに、大きな危惧を覚えている。 「プロジェクトX」なんかが流行ってしまったせいだろうか。 果たして、職人であることが素晴らしいことなのだろうか?  職人に成ることこそが、仕事上の人生の目的であっていいのだろうか?  僕はそうは思わない。 誤解される危険を承知で敢えて言うが、職人に成ってはいけない。

そもそも、「職人」という言葉の意味が、語る人によって違うようだ。 まず、 大辞泉によれば、職人とは「自分の技能によって物を作ることを職業とする人」だそうだ。 ソフトウェアは物では無いから、ソフトウェア技術者は職人ではあり得ない。 へりくつに聞こえるかもしれないけれど、なんも解ってないで「ものづくり」だなんてどこかで聞いてきた言葉を使わないで欲しい。 百歩譲って、ここではソフトウェアを作ることが物を作ることの一種であり、ソフトウェア技術者が職人であり得るとしよう。 すると、ソフトウェア技術における職人とは、職業としてソフトウェアを作る人のことだ。 あるいは、プログラムを書いてご飯を食べる人のことだ。 それ以上でも、それ以下でも無い。 人によっては、職人という言葉でこれこそを意味し、「一生、プログラムを書いてご飯を食べていたい」と言う。 また、ある人は、それでは足りず、より高度な技巧を駆使する人物を思い浮かべるようだ。 人によって意味がこれほど違うのに、その違いに目を向けずに等しく職人に成りたい、職人で有りたいと言い合っているのが問題。 言葉の揚げ足取りをしているのではない。 なぜここまで、言葉の意味を気にしているのかと言えば、それが「仕事上の人生の目的」につながるからだ。 どんなに素晴らしい目的をかかげていても、意味の幅が広ければ、時間がたつにつれて目的の意味が変性してしまう。 壁にぶつかれば、易きに流れてしまう。 だから、職人という言葉の、自分にとっての意味をよく掘り下げ、理解することが重要だ。 可能ならば、職人という言葉を使わずに、自分のやりたいことを表現してみて欲しい。

さて、職人という言葉の意味が二つ出てきたけれど、職人であることを人生の目的に据えていいのだろうか?  前者の意味であれば、ソフトウェアを作ることこそが、あなたが一生の職業としたい事ですか?  死ぬ日まで、プログラムを書くことでご飯を食べていたいですか?  もしも、答が本当にイエスであるならば、どっかの大規模プロジェクトの下請けの下請けのような仕事をやり続けるのがいいと思う。悪い意味では無くて。 ただ、それを本当に一生続けるのは、本当に大変なことだと思う。

いや、違う? それならば、後者の意味だろうか。 後者の意味で、人よりも高度な技巧を持つように成り、それを仕事としてずっと続けますか?  ある分野において、常に第一人者であり続ける覚悟ですか?  それはとんでもないことだと思う。少なくとも、僕にはそれはできない。 ソフトウェア技術は、未だ成熟産業では無い。 木工や金属加工といった伝統産業にも常に小さな技術革新が有るとはいえ、基本的な技術は成熟しきっていて、大きく変わることは無い。 ソフトウェアないしネットの世界が、ここ10年、いや、1年でどれだけ大きく変わっただろうか。 ひとたび第一人者に成ることができたとしても、第一人者であり続けることは、常人には無理だ。

いや、それも違う? それなら、いったい、何を、したいのか? 何に、成りたいのか?  仕事はただご飯を食べる手段だとわきまえて、家庭や趣味のために生きる?  それもひとつの在り方だと思う。否定するつもりは無い。 しかし、もしも仕事が楽しくてやっていて、仕事にいくらかの生き甲斐を感じているならば、仕事の上で自分が何をしたいのか、何に成りたいのか、よく考えて欲しい。

僕ら普通の人々は、職人に成ってはいけない。職人をめざしてはいけない。 普通の能力しか無い僕らは、職人では在り続けられない。 ひどいことを言うようだけれど、国や世界から見れば、普通の能力の職人は兵隊=雑兵に過ぎない。 産業を発展させるための、使い捨ての兵隊に過ぎない。

じゃ、僕らは何に成ったらいいのだろうか?  それは、技術を支える存在に成ること、だと思う。 時を経て歳をとったとき、後進の技術者を支える存在であるべきと思う。 人によっては、役職を得て、技術者をまとめるだろう。 あるいは、役職とは違う立場で、技術者をまとめ、リードするだろう。 また、技術者の教育をすることもできるし、書籍を執筆することもできるし、コミュニティの運営に貢献することもできる。 こういった事柄は、たとえばプログラミング能力その物とは直接の関係が無い。 歳をとっても、死ぬ間際まで、世の中に貢献し続けられる。 人生の目的は、技術で世の中に貢献すること。 若いうちは、技術その物で。歳をとったら技術を支えることで。

自分はいつまでたってもヒヨッコで、まだまだ青臭いことしかできないけれど、残念なことに、20代はだいぶ遠い日のことに成ってしまった。 自分の20代は、がむしゃらにプログラムを書くことと、毎日のご飯を食べるために必死に会社経営することばかりで過ぎ去ってしまった。 偉そうに人に意見することは好きではないけれど、僕よりも若い人、特に20代の人に敢えて意見したい。 今のうちは、ぜひ、リーダーシップを学んで欲しい。 自ら進んで仕事すること。人を引っ張ること。自ら考えて行動して、失敗すること。 プロジェクトマネージャをやるのもいい(役職者がやる物とは限らない)。 自分で製品やサービスを企画するのもいい。 あるいは技術とは全く関係ない部分で頭をとってみるのもいい。 プログラミングその物は、いくらだって勉強できる。 だって、どんどん仕事が降ってくるでしょ。 でも、リーダーシップを学ぶことは、自ら買って出なければなかなか機会が無い。 必ずしも、将来役職者に成りなさいという事では無い。 歳をとったときに、使い捨ての雑兵扱いされないためには、リーダーシップこそが必要。 だって、年寄りが「次、何の仕事したらいいですか?」なんて言ってたら困るでしょ?  リーダーシップは、必要になった時からじゃ身につけられないよ。 リーダーシップを学ぶのは、リーダーシップが必要になった時じゃ、もう遅いよ。

(2007/1/3 - sgk)