- Authors

- Name
- Youngju Kim
- @fjvbn20031
- 北の海の魚の話
- 庖丁解牛(ほうていかいぎゅう):刃が磨耗しない料理人
- 自然(じねん)と無為而無不為
- 胡蝶の夢:あなたは開発者か、夢見る蝶か
- ダニング=クルーガー効果と笑うセミ
- フロー状態と無為:チクセントミハイが荘子に出会うとき
- 過剰設計というセミの罪
- 開発者のための無為(Wu Wei)5つの実践
- おわりに:鵬になれ、でもセミを笑うな
- 参考文献
北の海の魚の話
『荘子(莊子)』は、中国・戦国時代に生きた荘周(莊周、紀元前369〜286年頃)の名を冠した道家哲学の根本テキストだ。その第一篇が逍遥遊(しょうようゆう)——「自由にさまよう旅」、あるいは「目的なき漫遊」とも訳される。
こんな言葉で始まる。
北冥有魚,其名為鯤。鯤之大,不知其幾千里也。
北の海に魚がいる。その名を鯤(こん)という。鯤の大きさは、何千里あるかもわからない。
その巨大な魚・鯤は、やがて鵬(ほう)という鳥に変化して飛び立つ。翼を広げれば雲のように空を覆う。南の海へと飛ぶために、鵬は九万里の風を必要とする。
そのとき、小さなセミとウズラが笑う。「あんな風がなぜ必要なのか。私たちは楡の木から樫の木に飛ぶだけで十分だ」と。
荘子はこの場面にコメントを加えない。ただ問いを残す——小さな知は大きな知を理解できない。小さな視野は大きな視野を理解できない。それは道徳的な欠点ではない。ただ、自分の世界の尺度が世界全体の尺度だと思い込む瞬間、問題が生じる。
あなたは今日、セミか、それとも鵬か。
庖丁解牛(ほうていかいぎゅう):刃が磨耗しない料理人
『荘子』最も有名な寓話、**庖丁解牛(包丁が牛を解体する)**は、道家哲学の全体を一場面に凝縮している。
梁の恵王の前で牛を解体する料理人・庖丁。その手の動き、肩の揺れ、足の運び、膝の屈伸——すべてが舞のようにリズミカルで、刃の音は古代の楽曲のように響く。王は感嘆して尋ねる。「その技は何と見事だ!」
庖丁は刃を置いてこう答える。
「私が頼りにしているのは道(タオ)です。技術を超えたものです。初めて牛を解体したとき、目の前に牛全体が見えていました。三年が経つと、もはや牛全体は見えなくなりました。今は心で向き合い、目では見ていません。感覚が止まり、心が動きます。牛の自然な理(ことわり)に従って、大きな空洞へと刃を入れます。だから、十九年使ったこの刃が、今も砥石から出たばかりのように鋭いのです。」
骨や腱に無理やり刃を押し込むのではなく、牛の身体の中にもともとある空間を辿る。それが庖丁の技だ。そして、それが**無為(むい)**だ。
私たちが無理矢理コードを書くこと、問題に合わない設計パターンを強引に当てはめること、まだ必要でもない抽象化を作り込むこと——これらはすべて骨に刃を押し込むことと同じだ。刃が磨耗する。開発者が磨耗する。
自然(じねん)と無為而無不為
道家哲学の二つの核心概念を開発者の言葉で翻訳してみよう。
**自然(ziran)**は単に「ネイチャー(nature)」ではない。文字どおりには「おのずからそうある(self-so)」だ。外からの力を加えなくても、その本性に従って自然に成り立つ状態。水が低い所へ流れるのが自然。種が光に向かって育つのが自然。そして、問題の構造を深く理解したときに、設計が外側から押し付けられるのではなく自然と流れ出てくること——それも自然だ。
**無為而無不為(むいにしてむふいなし)**は『道徳経』に登場する逆説的な言葉だ。「為さずして、為さざるなし」——何もしないことで、なし得ないことが何もない。これは受動性の賛美ではない。無理に押し進めることをやめたとき、物事の自然な流れが働き始めるという観察だ。
優れたシニアエンジニアはこれを直感的に知っている。複雑なシステム設計の最もエレガントな解法は、設計を増やすことからではなく、不要なものを取り除き、問題の自然な形を明らかにすることから来る。長く続くアーキテクチャは、最も巧みに設計されたものではなく、最も正直に発見されたものだ。
胡蝶の夢:あなたは開発者か、夢見る蝶か
『荘子』の最も有名な一節、胡蝶の夢は短いが深い。
昔者莊周夢為胡蝶,栩栩然胡蝶也。
むかし荘周は夢で蝶になった。ひらひらと舞う蝶だった。
目覚めると人間に戻っていた。しかし荘子は問う。「今の私は、蝶になった夢を見た人間なのか、それとも今は人間になった夢を見ている蝶なのか。」
これはアイデンティティの問いだ。開発者にとって、これは予想以上に重く響く。
バーンアウトに苦しんでいるとき、気づけば自分が「開発者を演じている」状態になっていることがある。コードを書くのは役割がそれを求めるから。スタンドアップに参加するのはスケジュールがそれを求めるから。なぜこの仕事を始めたのかも忘れている。
荘子は答えを求めていない。その問いを持ち続けることを求めている。役割と自己は同じではない、という可能性の中に座ること。
ダニング=クルーガー効果と笑うセミ
デイヴィッド・ダニングとジャスティン・クルーガーによる1999年の研究は今や認知心理学の古典だ。能力の低い人は自分の能力を過大評価し、能力の高い人は過小評価する傾向がある。鵬を笑うセミは、この効果の最も美しい先科学的描写だ。
しかし逆もまた重要だ。ジュニア開発者は、シニアなら決してやらないことを試みることがある——傲慢さからではなく、なぜそれが「できない」のかをまだ知らないから。ソフトウェア史上最も創造的な解法のいくつかは、ルールをよく知らなかった人が生み出したものだ。
庖丁の熟達は、初心者の恐れを知らない無知でもなく、失敗パターンを見すぎた者の過剰な慎重さでもない。深い理解と、力みのない実行が出会う第三の状態だ。刃が滑らかに進むのは、骨がどこにあるかを知らないからではなく、正確にどこにあるかを知っているから——そしてそれを避けて進むからだ。
フロー状態と無為:チクセントミハイが荘子に出会うとき
ハンガリー系心理学者ミハイ・チクセントミハイは1990年に『フロー:最適体験の心理学』を出版し、すべての開発者が一度は触れながらも常に追い求めている状態を描写した。
- 完全な没入、自己意識の消滅
- 時間の歪曲(数時間が数分のように感じられる)
- 行為と意識の合一
- 力みのない感覚
これは20世紀心理学の言葉で記述された庖丁の状態だ。「感覚が止まり、心が動く」はフローだ。フローは無為の現代心理学的翻訳だ。
フローはどうすれば生まれるか。チクセントミハイの研究によれば、高い挑戦と高いスキルが均衡したとき——課題が簡単すぎず(退屈)、難しすぎず(不安)、両者が拮抗して伸びるとき——フローが最も生じやすい。
そして重要な発見がある。フローは意図的に作り出せない。条件を整え、障害を取り除き、待つしかない。無理に呼び込もうとすると、かえって消えてしまう。
これがソフトウェア開発における無為の逆説だ——突破口は、突破口を押し求めるのをやめたときにやってくる。
過剰設計というセミの罪
ソフトウェア開発における無為の最も一般的な違反は**過剰設計(over-engineering)**だ。
YAGNI(You Ain't Gonna Need It)はこの業界の古い原則だ。まだ必要のないものを作るな。それでも私たちは作ってしまう。二人しか使わないサービスにマイクロサービスアーキテクチャを構築し、シンプルなCRUDにイベントソーシングパターンを適用し、MVPの段階でKubernetesクラスターを立ち上げる。
この衝動はどこから来るのか。たいてい恐怖からだ。将来どうなるかわからないという不安。その不安への反応が、すべてを先に制御しようとする衝動になる。
庖丁は牛の体に新しい空間を作ろうとはしなかった。もとからある空間を見つけ、そこに従った。優れたソフトウェア設計も同じだ——問題の中にすでにある自然な構造を発見することであり、外から構造を押し付けることではない。
開発者のための無為(Wu Wei)5つの実践
1. 散歩をコーディング時間として認めよ
脳の**デフォルトモードネットワーク(DMN)**は、休息中、散歩中、シャワー中に活性化し、そこで創造的なつながりが生まれる。困難な問題への最良の解は、ほとんどデスクの前では生まれない。机から離れた30分が、画面の前で唸り続ける30分より生産的なことがある。散歩は仕事の中断ではない。仕事が自然な環境で進むことだ。
2. コードレビューに「今これは必要か」を加えよ
PRレビューの際にこの問いを加えよう:「この構造は今必要なのか、それとも将来必要になりそうだから追加したのか。」後者なら、追加しない。問題は、想像で先取りするより、実際に発生したときに解決する方が、ほとんどの場合ずっと効率的だ。
3. 月に一度「初心(shoshin)」の時間を持て
禅仏教の初心(しょしん)——よく知っているものを初めて見るように見る能力。月に一度、自分がよく知っていると思っている技術の公式ドキュメントを最初から読み直せ。「知っている」という前提が、見えなくさせているものがある。
4. 「完成」ではなく「理解」を目標にデバッグせよ
バグを発見したとき、「早く直してPRを出さなければ」という圧力に抗い、「なぜこれが起きたのかを正確に理解する」を目標に設定せよ。理解が完成すれば、解決策は自然とついてくる。庖丁の刃のように、理解が深まれば、コードは抵抗なく解けていく。
5. プロセスに意図的な「空白の時間」を入れよ
Googleの20%タイム、BasecampのCooldown週、個人のスパイクデイ——最も生産的なエンジニアリング文化のいくつかは、「何もしない時間」を公式化している。これは怠惰ではない。庖丁が刃を置き、鞘に収める時間だ。次の一刃を力みなく振るうための準備だ。
おわりに:鵬になれ、でもセミを笑うな
荘子は鵬を称え、セミを批判しない。セミはセミとして完全だ。鵬は鵬として完全だ。ただ、自分の翼が世界の全てだと思い込んだ瞬間、無為の流れから遠ざかる。
開発者として私たちは絶えず学び、構築し、壊し、また構築する。その過程で、ときにはセミのように楡の木から樫の木を飛び渡る。それでいい。しかし鵬の九万里の風に向けて翼を広げようとするとき——力みを手放し、自然の流れに従うこと、それが無為だ。
無為而無不為。 為さずして、為さざるなし。
参考文献
- 荘子(莊子)。内篇。逍遥遊・養生主。紀元前4〜3世紀。
- Csikszentmihalyi, M. (1990). Flow: The Psychology of Optimal Experience. Harper & Row.
- Dunning, D., & Kruger, J. (1999). Unskilled and unaware of it. Journal of Personality and Social Psychology, 77(6), 1121–1134.
- Graham, A. C. (1981). Zhuangzi: The Inner Chapters. George Allen & Unwin.
- Slingerland, E. (2003). Effortless Action: Wu-wei as Conceptual Metaphor and Spiritual Ideal in Early China. Oxford University Press.