🛠️

ソフトウェア職人たれ!クラフトマンシップの世界

2024/10/30に公開

三大美徳からクラフトマンシップへ

プログラマーの三大美徳「怠惰、短気、傲慢」はよく知られている。これはもともと、Perlコミュニティに伝わる格言を、ラリー・ウォールが『Programming Perl』(1991)のなかで紹介したことから広まったようだ。以降、ウォールらの呼びかけは共感を呼び、三大美徳は多くのプログラマーたちの指針となってきた。ひいては、より賢く働こうという気風へと繋がって、アジャイルムーブメントをはじめとしたソフトウェア開発手法の発展の呼び水となった。

プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、価値とする。[1]

これらの価値観が果たしてきた役割の大きさは、強調してもしすぎることはない。とはいえ、格言が文脈を離れて一人歩きをはじめると、その弊害も現れるようになる。たとえば、2010年公開の映画『ソーシャル・ネットワーク』で描かれたような「怠惰で短気で傲慢」なプログラマー像が、実際に望ましい人格であると錯覚する人もいるだろう。しかし、このような態度に対してはウォール自身も慎重に戒める。

私はプログラマの徳目-無精、短気、傲慢-について語った。これらは人間の感情について当てはまるものである。これらは、個人についても当てはまるが、コミュニティについては当てはまらない。コミュニティについて当てはまるのは、それらとは正反対の-努力、忍耐、謙遜-のような気がする。[2]

こういった反省から、三大美徳やアジャイルに代表される現代的な価値観から離れて、昔ながらの技術者の価値観、つまり職人(クラフトマン)の価値観を再評価しようとする努力も試みられてきた。たとえば、2008年にボブ・マーティンらによって起草された「ソフトウェアクラフトマンシップ宣言」は以下のようなものであった。

動くソフトウェアだけでなく、精巧に作られたソフトウェアも。
変化への対応だけでなく、着実な価値の付加も。
個人との対話だけでなく、専門家のコミュニティも。
顧客との協調だけでなく、生産的なパートナーシップも。

著名な技術コンサルタントである角征典によると、ソフトウェア開発におけるクラフトマンシップへの取り組みは、アンドリュー・ハント著『達人プログラマー』(1999)に端を発し、ピート・マクブリーン著『ソフトウェア職人気質』(2002)、そしてボブ・マーティン著『Clean Craftsmanship』(2021)へと続いてきたという[3]。しかし現状を見ると、クラフトマンシップはそれほど多くのプログラマーの共感を得ているようには見えない。実際のところ、日本のソフトウェア開発の現場においては、「職人」は蔑みの言葉として使われる場合が多いのではないだろうか。その言葉からは、いかにも視野が狭く、非創造的で、保守的な印象が拭えないままなのである。

職人の生き方は、多くのプログラミングスクールや転職サイトが強調するような、「自由」で「簡単に高収入を得られる」プログラマー像とは遠くかけ離れている。だが、そのような職人たちからこそ学べることが多いのだ。それを省みるのが本論の目的である。では実際、職人の生き方とはどのようなものであり、職人の価値観とは何であったのかを見ていこう。

幸田露伴『五重塔』にみる職人の生き様

幸田露伴が1892年に発表した小説『五重塔』は、江戸時代中期の谷中感応寺(現在の日暮里駅南にある天王寺)を舞台に、五重塔を建立するまでのいきさつを描いた歴史小説である。露伴は大名家に出入りする茶坊主の家系でありながら、明治のはじめには近代的な技術教育を受けて電信技師として働いた経歴を持つ。こういった経緯から、時代のはざまで技術の世界の移り変わりを観察していた露伴は、『五重塔』で江戸期の職人の生き様を鮮やかに活写した。そのあらすじは次のようなものだ。

大工の十兵衛は確かな腕を持っているが世渡りに疎く、大工仲間から「のっそり」とあだ名されて見下されてきた。そんななか、感応寺で五重塔を建立するという話が持ち上がる。これはたいへん名誉な仕事であるが、それを受け持つべきは寺の御用である「川越の源太」親方だと目されていた。しかし十兵衛は、感応寺の朗円上人に直訴し、自分に五重塔を建てさせてほしいと願い出る。源太はかねてから十兵衛に仕事の世話をしており、恩を仇で返すような十兵衛の振る舞いには気を悪くするものの、思いの強さには感心し、共に働こうと呼びかける。だが十兵衛はこれを固辞し、自分一人で成し遂げられないのであれば、はじめから関わらないと断るのであった[4]

このようにしてはじまる『五重塔』は、対照的な二人の大工を中心に話が進んでいく。実績充分で周囲の信望も厚い「川越の源太」と、源太に劣らぬ技量を持ちながらも軽視され、貧しい暮らしを余儀なくされてきた「のっそり十兵衛」だ。源太は主人公の十兵衛に対しては敵役にはなるものの、決して悪人ではなく、実力があり仁義にも厚い理想的な親方として描かれる。むしろ、十兵衛こそが義理人情を捨てて己の理想を追い求め、周囲を当惑させるのだ。現代のソフトウェア開発現場に照らし合わせてみても、十兵衛のような人は歓迎されないだろう。物語は次のように続く。

十兵衛の頑なな意志を前に源太はついに折れ、心中穏やかではないものの、十兵衛に五重塔の建設をまかせることとなる。十兵衛の評価が一変するのはこれからである。きっかけは、源太の子分が激怒し、十兵衛を殺害せんと襲撃したことだった。十兵衛は片耳を削ぎ落とされ、肩を切り裂かれる重症を負うものの、その翌日にも休まず五重塔の建設に精を出す。そして十兵衛の不屈の信念に感服した大工たちは考えを改め、十兵衛とともに五重塔を完成させるのであった。その後、五重塔は迫りくる大嵐にも耐え、朗円上人のとりなしのもとで十兵衛と源太は和解。上人が「十兵衛これを造り、川越源太郎これを成す」と記して物語は終わる。


谷中天王寺の五重塔跡地

露伴が描くのは、五重塔という象徴的建築を題材とした、職人たちの葛藤と克服の物語である。現代の読者は、傍若無人にもすら見える十兵衛には辟易し、感情を抑えて誠実に振る舞う源太に共感するだろう。実際、己の実力をわきまえずに人の仕事を貶め、「私ならもっと上手くできる」と言い張るプログラマーは珍しくないものだ。そのような人と十兵衛を見分けるのは難しい。源太もそれがわからなかったのだ。十兵衛は、自らの立場を失うことを覚悟しつつ、大怪我を押してまで五重塔の建設に己を賭けた。このような態度は、現代のソフトウェア開発の現場において推奨されている多くの価値観に反するものだ。しかしこれこそが、露伴が伝えたクラフトマンシップの一つのあり方なのである。

クラフトマンシップの難しさと職人たちの言葉

現代の技術者が『五重塔』から知れることのひとつは、クラフトマンシップは己を律する戒めとはなっても、人に勧めるのは難しいということだろう。時代に合っていないだけでなく、みなに適応しうるほど一般化できないのだ。偉大な仕事に十兵衛は必要だが、十兵衛ばかりでは成り立たない。現代においてクラフトマンシップがそれほど支持を得ていないのは、そういった分かりにくさからではないだろうか。

このようなことだから、「クラフトマンシップとはこういうものだ」と考えるよりも、実際の職人たちの生き様から学んでいくのが肝要であろう。そこで、明治から昭和期を生きた古い職人たちの証言を紹介する。それらはいずれも心に響くものだ。たとえば、建具師の「名人」川村富五郎は以下のように述懐する。

昔の職人は、「銭とるばかりが能じゃアねえ」、こう思ってました。だから、手間取りに親方の店へ最初に行ってどんな仕事を出されても、コレ出来ませんなんてネを上げるのは一人もいませんでした。[5]

また、瓦師の新井茂作老は次のように語る。

職人ってものはふしぎなもので、「こいつ出来ません」ってことが言いたくない、何とか工夫したり勉強したりして、新しい材料もこなしてみたい。(中略)
新しい仕事の工夫に向う時には年を忘れて若々しい気持になりますからね。この道六十年、ちょっと手を抜きゃ雨が漏り、風で飛ばされるって仕事に一生をかけてきましたが、ばかみたいな「屋根を葺く」ってつまらねえような仕事一つにも、なかなか深い人生の味わいと教訓があるもんでさァ。[6]

家具職人・林二郎は自らの人生を振り返ってこう述べる。

職人ってのは憐れなもんだなァ──って気が致します。けれどもそいつは情けない愚痴やそんなもんじゃありません。そのあと、「だけど仕事の楽しみは、この腕と道具が知ってらァ」としみじみ左手のノミダコを眺めるんです。[7]

最後に、無名の職人たちの言を列挙しておこう。

メシ喰う暇があったり、ウンコする暇があったら、忙しいなんて言うもんじゃねェ。[8]

人間、ヒマになると悪口を言うようになります。悪口を言わない程度の忙しさは大事です。[9]

近頃の若いやつは……、言いたかねェけど、働きてェんだか休みてェんだか、そこもわかんねェ。[10]

このように、職人たちは頑固で偏屈だが、いつも一途で一所懸命だ。普段の筆者としても、仕事はできるだけラクをしたいと考える。しかし同時に、厳しい職人たちの世界にも憧れを抱いてしまうのだ。古の職人たちならこの仕事にどう向き合うだろうか?時折、自分にそう問いかけるのである。そして心のなかでこう叫ぶ。現代のプログラマーたちよ、ソフトウェア職人たれ!

脚注
  1. アジャイルマニュフェスト ↩︎

  2. クリス・ディボナ 編, 倉骨彰 訳『オープンソースソフトウェア: 彼らはいかにしてビジネススタンダードになったのか』1999, オライリー・ジャパン, pp283 ↩︎

  3. Robert C.Martin 著, 角征典 訳『Clean Craftsmanship 規律、基準、倫理』2022, KADOKAWA, pp322 ↩︎

  4. 幸田露伴『五重塔』1892, 青空文庫 ↩︎

  5. 斎藤隆介『職人衆昔ばなし』2015, 文藝春秋, pp45 ↩︎

  6. 斎藤隆介, 前掲書, pp133-134 ↩︎

  7. 斎藤隆介, 前掲書, pp235 ↩︎

  8. 永六輔『職人』2010, 岩波書店, pp4 ↩︎

  9. 永六輔, 前掲書, pp8 ↩︎

  10. 永六輔, 前掲書, pp35 ↩︎

フクロウラボ エンジニアブログ

Discussion