2011-08-22

地雷力

地雷力のある人がいる.

簡単に直りそうなバグ, 一日で追加できそうな機能に手をつけたはずなのに, と当人はいう. バグがバグをよび, パッチがパッチをよび, 議論が議論をよんで, 目のまえに次々と刈るべき毛深いヤックが増えていく. そんな人がたまにいる. しかも話の流れでみつけてしまったバグをぜんぶ割り振られていたりする. 気の毒に...私が遠目にうかがうなかそのひとは毛を刈りだして, 刈るそばからバグや作業が次々と湧きだすけれど, しばらく経ってふと目をやるとあらかた片付いている. そして最後には歓声を耳にする: "おわった!"

おめでとうと私は応じる. そのひとは次の仕事にとりかかかる, ああ, そのバグはやめておいた方が... けれどそのひとは動じない. いや一旦は動じるけれど, やれやれと仕事を再開する. そんな人には地雷力があるとおもう. 地雷体質, 羊毛フェチなど揶揄をこめることもできる. でも敬意を示すべく地雷力と呼びたい.

政治的正しさはさておき, 外見に反し面倒なバグや大変な機能は山羊より地雷と呼ぶ方が似合う. それは昔からそこに埋まっていたのだが, 私たち村人は危険を察して近づかない. 息子を亡くした隣人もいるのだ. そしてある日, 地雷力の持ち主が村にやってくる. あるいはやんちゃで知られる若者が地雷力のうずきに我慢できなくなる. なんだってこの広い荒れ地を放っているのか. 一等地じゃないか.

彼は鍬であたりを耕しはじめる. 鉈の先に金属の感触. 一つ目の地雷が破裂する. 彼はふきとばされるが, よろよろと戻ってきて爆風のあとの地面を馴らしはじめる. 雑草が片付いてよかったとでもいわん顔だ. (※現実の世界では真似しないでください.) 一週間, あるいは一ヶ月, 時には一年ものあいだ時折の爆音とともに開墾は進んでいく. 長い雨がやんだある朝, 私は市場に向かう. あれ, ここって前から通れたんだっけ? 私は首をかしげるが, まあいいかと歩みをすすめる. 朝市ならどう見みてもこの方角が近道だ.

ソフトウェアの中の地雷

ある種のソフトウェアは戦時の地雷が残る森に似たところがある. 時折おこる不可思議なビルドエラーがあって, 誰がみてもおかしいのに誰も直さないバグがあって, 5000 行のクラスがあって, 10000 行の Makefile がある.

経験の長い開発者ほどそうした問題には近づかない. ほとんど意識すらしない. 彼らの生存本能がそれを視界から追いやる. 依存関係の奥深くにあるコードパス, サーフェスが広いエッジケースのかたまり. BTS にのこされた長大なスレッド. コードとバグのにおいが鼻をつき意識の底に釘を刺す. 私はそのあたりを迂回して歩くようになる. 本当は直した方がいいと知りながら.

地雷力のある開発者は悪臭にめげず, というか多くの場合はたぶん臭いに気付かず, そうした地雷原に踏み込む. そして持ち前の頑丈さであちらこちらをならしていく. 彼らがいつも同じバグを直しているように見えたり, 延々と似たようなリファクタリングをしているのには理由がある. 荒れはて失われた土地を耕しなおすのが彼らの仕事だ. そうやってプロジェクトを手助けしている.

傾向

誰もが地雷力をもつわけではない. 地雷にはほとんど誰も近付かないものだし, うっかり掘り当てても爆風にやられ立ち直れない. でもたまに立ち直る人がいて, 私達はその地雷力におののく. どうすれば地雷力がつくのか私には到底わからないけれど, 傍からみている地雷とりたちにはだいたいこんな傾向がある:

こう書くと地雷力は良いプログラマの印にすら思えてくる. 実際, それなりに規模のあるソフトウェアなら, 中心的な開発者には何人かシニアな地雷とりが混じっていると思う. 大きなプロジェクトのコードは外の世界から何かを守ろうとするような地雷の森にとりかこまれており, その森は彼らシニアな地雷とりの主戦場となることがおおい. プロジェクトの序盤では結構な量のコードを書いたと伝え聞くのに 最近はスクリプトや Makefile や CI の設定や BTS のハックばっかり書いてるようにしか見えない人, いるでしょ?

There's no place like home

私もたまに気がむいて, 一旗あげようと地雷に手をだす. けれどいつも何度かふっとばされた末に力尽き挫けている. 切り開いたわずかばかりの土地にはすぐ草が茂り, 辺りの木々が根を伸ばしはじめる. それでも地雷とりごっこをしていると, ときどき地雷のない空き地にでくわすことがある. 誰かがあと一歩のところで挫けたあとだ. その一歩にあづかり, 積年のバグが 2-3 行の修正であっさり直ったりすると嬉しい. 地雷とりは宝さがしにもなる...こともある. たまに.

そんな例外はあれど, 大抵は自分の地雷力にうちひしがれつつ冒険はおわる. 土埃にまみれ爆風をまきちらす地雷とりたちに羨望の眼差しを向けながら, かつて彼らが切り開いた道をくだり平和で少しだけ退屈な日々へと引き返す. おうちがいちばん, なんてつぶやいてみたりする.

( 写真: http://www.flickr.com/photos/lac-bac/4679195588/ )