- ミズーリ州出身の祖父の人生は、craftを単なる腕前ではなく、故障や危険を先読みし、人とシステムをより安全にする姿勢として示している
- ぐらつく食卓の脚、粗悪な材料、ずれた角度、病んだ木を見抜く感覚は、完成品の背後にある選択・制約・摩擦を見る能力に近い
- 戦後に危険なバッグ工場で働いた経験は、スピードよりもcadenceを守ることが命に直結し得ることを示している
- ソフトウェア業界における一部のcraft論は、熟練を尊重するというより、誰が本物の熟練者なのかを線引きする排除の言葉になり得る
- craftとは特定職種の地位ではなく、後から座る人のためにテーブルを直し、危険だと呼ばれた人を尊厳をもって扱い、共により安全な環境を作ることだ
祖父が示したcraftの感覚
- ミズーリ州出身の祖父は電気のない農場で育ち、8年生以降まで学校に通ったことを大切にしていた
- 彼は孫娘がハープを演奏することを「elegant」だと言い、ミズーリ訛りで話した
- 家族は彼をcraftsmanと呼んでいたが、craftの意味は、ぐらつく食卓を直した場面でより鮮明になる
- レストランのテーブルがぐらつくと、他の人たちはそのまま見過ごした
- 祖父は硬貨でネジを回し、安く粗雑に組み立てられた脚を静かに直した
- 彼はすでに壊れたものだけでなく、まもなく壊れるものも見抜いた
- 粗悪な材料、危険な作業、ずれた角度、短期的な計画の痕跡を敏感に見ていた
- ほとんどの人が椅子のような完成品を見るとき、彼はその中にある選択と制約、緊張と摩擦、注ぎ込まれた労力も一緒に見ていた
自然と物から読み取った兆候
- 祖父のcraftの感覚は、作られた物だけにとどまらなかった
- 彼は遠くからでもブナ、シラカバ、カエデ、オークを見分けることができた
- 木が健やかに育っているのか、病みつつあるのかも見抜いた
- 病んだ木について「ただ幸せそうに見えないとき」と言っていた
- こうした観察力は、物や自然の表面ではなく状態と兆候を読む能力につながっていた
戦争と工場で学んだcadence
- 祖父は第二次世界大戦で196日連続の戦闘を経験し、その後バッグ工場で働いた
- その工場は組立ラインと設備のある危険な作業場で、社会的に危険だと扱われる人たちも雇っていた
- 現場を管理していた彼は、人々がより速く、あるいは違うやり方で働こうとすると、よく立ち止まらせた
- 作業方法の変化が騒ぎや波及効果、「mess」を生む可能性があったためだ
- 組立ラインのリズムが崩れれば誰かが死ぬかもしれないという現実が背景にあった
- 彼は単に速度を上げるのではなく、全員がcadenceに合わせて動くようにした
- 暴力が身近にある環境でも、武器を持ち歩かなかった
- ある夜、自分の後をついてくる男を見て危険を思い浮かべたが、その男は「危ないかもしれないので家まで一緒に歩こうと思った」と言った
- 危険だと呼ばれる環境でも、彼は人を疑うより信頼と修理を選んだ
ソフトウェア業界でcraftが武器になるとき
- ソフトウェアエンジニアリングでcraftを語る方法は、ときに武器化される
- 一部の開発者、チーム、リーダーはcraftへの敬意を求めながらも、誰もがcraftspersonになれるとは見なさない
- こうした言説はしばしば、「ソフトウェアの仕事は他の仕事とは違い、同じ基準で評価されるべきではなく、私たちは特別だ」という結論へ流れていく
- その態度は、すべての労働は熟練労働であるという考えと衝突する
- ソフトウェアの仕事が評価される方法を変えるには、ソフトウェアを世界の他の労働から切り離してはならない
- スピードの要求がcadenceを押しのければ、工場や野原でも人は傷つき得たし、ソフトウェア労働もその世界から切り離されてはいない
排除するcraftと、共に作るcraft
- キャリア初期にあるテクノロジー企業で契約社員として働いていたとき、ソフトウェアエンジニアはmakerspaceに自動的に入れるはずだったが、バッジではドアが開かなかった
- 誰かが「エンジニアたちがbuilderなのでは」と言った
- しかし人生全体を通じて何かを作ってきた経験は、ソフトウェアエンジニアだけのものではなかった
- 電気柵を直した経験
- 乗用芝刈り機で運転を覚えた経験
- 夕食を買うために衣装作業室で縫い物をし、指に血をにじませた経験
- 多くの木を識別できる経験
- ここで対比されるのは、コミュニケーション・協働・創造としてのcraftと、判定と排除としてのcraftである
- craftとは、後から座る人たちのためにテーブルを直すことに近く、誰の仕事が本物の熟練として見られる資格があるのかを裁くことではない
- 祖父はコンピューターやソフトウェアに詳しくなかったかもしれないが、危険だと呼ばれた人々を尊厳をもって扱い、そのおかげで全員をより安全にした
- 彼は自然を愛していたが、工場の機械音を聞く方法を学び、自分が置かれた生態系の中で、より良い可能性を人々へと広げた
1件のコメント
Hacker Newsの意見
良い文章だと思う。ソフトウェア工学の中にもインサイダーとアウトサイダーがいて、重要な工学上の成果の一部はアウトサイダーたちが生み出してきた、ということを知れば、筆者の慰めになるかもしれない。
貧しく育ち、独学で、周囲で唯一のプログラマーだった身としては、ずっとアウトサイダーのように感じてきたし、ほかのプログラマーたちと付き合い始めたあとも、その感覚は消えなかった。
安定した家族、生活スキル、大学教育、広い支援ネットワーク、構造的トラウマの不在、世界を理解する方法がまったく違う人たちの間で、少しずつ自分の居場所を見つけてはいるが、アウトサイダーだという感覚は完全にはなくならない気がする。
好きな音楽や芸術がしばしばアウトサイダー・アートに分類されるのも偶然ではない。どうにかしてメイカースペースに入り、REPLを開いてみるといい。ソフトウェア工学は厳密で深い工学原理を求めることがあるが、ソフトウェアのクラフトマンシップはみんなのものだ。パーソナルコンピューターは、普通の人が自分自身と周囲の世界を拡張するために作られたものであり、その事実を忘れてはいけない。
https://en.wikipedia.org/wiki/Outsider_art
彼はリベラルアーツ大学の学位を持ち、独学でコーディングしてきて、初めて現実世界でほかの開発者たちと付き合うようになったため、デーモンやライブラリ、プロジェクト名の発音を新しく学んでいるのだと言っていた。そのとき内心で「ジュニア開発者だから大成はしないだろう」と決めつけ、キャリアや地位を高めるには、もっと実力のある人たちと付き合うべきだと思った。
ところがその人は1年ほど後に会社を辞め、別の会社で開発者として働き始め、CTOになり、最終的にはCEOになった。そしてCEOだったときに、その会社は10億ドル超で売却された。一緒に働いていたころから、すでに学ぶことは多かった。人を簡単に型にはめたり、ある水準の実力には他人が簡単には到達できないと思ったりしがちだが、そうした判断は大きく間違っていることがある。彼が新しい会社で書いたソフトウェア開発と運用の実践に関するブログ記事も素晴らしく、多くを学んだ。
その空白は自分が選んだ技術スタックにも影響し、結局いまの自分を作ったが、「Zoomネイティブ」世代には、より開かれたオンライン空間で幅広く交流し、こうしたアウトサイダー感をあまり感じずに済んでほしい。
この文章はあまり好きではない。クラフトマンシップという題のもとに、やや曖昧なロマン主義的感傷が横たわっている。
木を見分けることがクラフトマンシップだとも思わないし、乗用芝刈り機がブルーカラーだとも思わない。また、夜道の誰かを恐れることが「まもなく壊れるもの」を見抜くことだとも思わない。「リズム」が安全装置だという話も、しばしばむしろ逆に近い。リズムは止まるなという圧力として働きやすく、安全と品質は誰でもラインを止められることから生まれる場合が多い。
「家族内の修理屋」も何人か見てきたが、その動機はクラフトマンシップではなく感情的な逃避だった。家族と座って話す代わりに、壁の額縁を全部掛け直さなければならない、というようなものだ。周囲を不安げに見回し、手を入れるものを必死に探す態度は見て取れる。ソフトウェアチームでも、もっと不快な何かを避けるための不要な作業に「クラフトマンシップ」という正当化を貼り付けることは多い。
ただし「直す人」の視点が興味深いのは、世界は変えられるし、自分にはそれを変える力がある、という理解にある。問題を起こしているものをただ受け入れるほうが、より自然な人間の本能であることは多い。人々を妨げているのは怠惰ですらなく、可能性が見えていないことにある。
何かを直すのに専門家を呼ばなければならないなら、捨てて新しく買うほうがはるかに魅力的に見える。この比較的新しい態度は、品質により投資せず、すぐ壊れる安物を作る動機を強める。どうせ修理に必要な時間とお金をかけないからだ。
祖父が実際にインサイダーだったのか、自分をそう見なしていたのかは分からない。一種の郷愁を含んだ文章で、それはそれでいいのだが、読む前に期待していた文章ではなかった。
筆者の祖父には共感する。ただ、最近ではこういう態度はあまり支持されない。
私たちのような人間は、実のところテック業界が中心に据えている存在ではない。昔はそうだったのかも確信が持てないので、「もはや」とは言わなかった。
ずいぶん前に読んだSoftware Craftsmanshipというかなり良い本があり、慰めになった。自分のアプローチのせいでいつも軽蔑されがちだったが、少なくとも完全な変わり者ではなかった。
[0] https://en.wikipedia.org/wiki/Software_craftsmanship
それでも、リファクタリングに時間を使うか、新機能を追加するかについては、いまだに頻繁に説得が必要だ。
最高のソフトウェア職人とは、技術的負債を積み上げずに素早く機能を追加できる人だと思う。そのためには、機能追加の周辺にあるほかの部分をすぐに直し、リファクタリングするのが最もよい。原文の祖父もそういう人だったのだと思う。
個人的にも、きちんと作りたいがために社内の締め切りを逃してでも、より時間をかけることがある。コードには正しい「匂い」がなければならない。そうしなければガラクタが積み上がり、結局は午前3時の本番障害が避けられなくなると学んだ。
他人が理解しなかったとしても構わない。そのアプローチの恩恵はすでに受けているはずだ。
感動的な話ではあるが、祖父がレストランのテーブルを直したことから得る教訓は、もう少し内省が必要だと思う。
エンジニアリングの現場でも、ぐらつくテーブルの脚を直したい誘惑はある。問題は、自分が毎月そこへ行って直し続けない限り、むしろ状況を悪化させかねないことだ。必要なのは、問題を恒久的に解決するプロセスである。
しかも、状況は見た目よりはるかに悪い可能性が高い。ぐらつく脚は、より深い病弊の症状かもしれない。厨房も汚いかもしれず、その脚は炭鉱のカナリアなのかもしれない。実際には、組織全体が根から腐っている可能性もある。
本当の解決策は、そのレストランを買収し、経営陣を解雇し、より良いプロセスを構築したうえで、長期的な視点を重視する文化を作ることだ。
もう一つの方法は、何もしないことだ。テーブルをぐらついたままにして、ほかの客に別の店へ行けという合図にする。そのレストランは、存続可能な企業として最後の脚にしがみついているようなものだ。経済的な力によって、速やかに、意識もないまま閉店させたほうがよく、その場所は、より堅い基礎とより丈夫な脚を持つ何かに置き換わるかもしれない。
この記事は、2週間前に残念ながら亡くなった私の祖父のことも思い出させる。彼は機械工学者で、本物の職人だった。
家族がよく思い出す逸話が一つある。長い休暇旅行の途中で車のエンジンが突然道の真ん中で止まったとき、祖父は問題を突き止め、いつも持ち歩いていたポケットナイフと、道端に捨てられていた金属缶の箱を使って車を直した。整備工場では、その応急修理を取り外して純正部品に交換するのに苦労したそうだ。
同じ時代を生きた私の祖父を思い出す。彼は第二次世界大戦中に爆撃機の制御パネルの配線をしていて、かなり腕がよかったと聞いている。
何でも屋に近かったが、主な仕事は電気工と鍵師で、ガレージであらゆるものをいじり、古い車も走り続けられるようにしていた。中学生のとき、ある夏に祖父母の家に滞在したのだが、祖父は電気工事の現場に私を連れていき、工具や電線を取ってこさせた。ある現場では検査官が来て、祖父が私を紹介したところ、その検査官は「Melが配線したパネルはいつでも分かる。芸術作品だからね」と言った。
その世代の人たちは、大恐慌や第二次世界大戦のような多くの苦難に耐えなければならず、農場で育った人も多かった。だから、直すことや育てることに関する経験が豊富だった。私たちの大半がもはや持っていない、全般的に役に立つ技能だった。
私もゲリラ的な修理をしたことがある。あるときは回転ドアの抜けたネジを付け替えた。そうしなければ絶対に直らないと分かっていたからだ。
クリーニング店の椅子に抜けていたネジもたくさん入れた。世の中には、1分の関心と1ドル分の部品さえあれば済むことが、どんどん積み上がっていくのが耐えがたい。許可なしのリファクタリングもするが、小さくて元に戻しやすいものだけにしている。
今は家に閉じこもって時間だけはたくさんあるので、大規模なリファクタリングプロジェクトを始めた。成功すればすばらしいし、失敗してもその問題領域についていくつか新しいことを学べるだろう。この取り組みを引き起こしたかゆみは単純だ。
「コンピュータ内のほとんどすべてのトランジスタは、どの瞬間にもただ待っている」
祖父は無言のメンターであり、ロールモデルになり得る。私の祖父もそうだったし、とても恋しい。
筆者の祖父は『East of Eden』のSam Hamiltonを思い出させる。もちろん架空の人物だが、いつか自分がなりたい人を考えるとき、よく思い浮かべる人物だ。
特に二つの文が目に留まった。
ピザを丸く作ろうとしているうちに、そこにも技術と感覚があることが分かってきた。多くの人がやっているのだから、そんなに難しいはずはないのだが、まだちゃんと身につけられてはいない。
料理も職人的な技術だ。だから料理人の面接では、よく「オムレツを作ってみて」と言うのだ。レシピだけを厳密に追えば作れる料理も確かにあるが、指先の熟練が必要な料理もある。
ここでいう職人精神は、オムレツのような単純なレシピでさえ特別な味にするところにある。だからシェフたちはそういう質問をされるのだ。