Skip to content

Three Virtues

ラリー・ウォールはプログラマの美徳として怠惰、傲慢、短気の三つを挙げた。

はじめて読んだときは冗談だと思った。長く現場にいると、冗談ではなかったとわかる。

短気なエンジニアは待てない。ビルドが遅ければCIを直し、手順が多ければスクリプトを書く。怠惰なエンジニアは同じことを二度やりたくない。一度やった作業は自動化し、二度と手を動かさなくて済むようにする。短気と怠惰が揃うと、単調な作業は自然に消えていく。複雑な課題はシンプルな構造に収束される。放っておいても勝手にそうなる。

問題は傲慢だ。

優秀なエンジニアほど、自分より技術力の低い人間の言うことを聞かない。聞いているふりはするが、内心では自分のほうが正しいと思っている。わたし自身にもその自覚がある。コードレビューで指摘されて、相手の技術力を値踏みしてから受け入れるかどうか決めている瞬間がある。褒められた性質ではないが、エンジニアという生き物はだいたいそうできている。

こういう連中をまとめるには、単純に技術力がいる。ロジックでは動かない。正論でも動かない。「この人はわたしより書ける」という一点でしか、傲慢なエンジニアの信頼は得られない。マネジメントスキルやコミュニケーション能力では代替できない領域がそこにある。

だからテックリードという職種が世間から必要とされている。怠惰で傲慢で短気な生き物を束ねるには、同じ生き物でなければならない。