バグとり

デバッグが割と好きです。
プログラムである以上、コードを追っていけばいつかはバグの原因を突き止められます。特にそのコードが他人のものである場合、バグを追う過程で、他人のソースをじっくりと読むことができます。普段からある程度人のコードにも目を通してはいますが、自分のノルマがある以上、自分のコードを書くことを優先してしまってそうそうじっくりとは読んでいません。
一方でバグを追うときは、「バグ修正のため」という大義名分ができるため、他人にも自分にも後ろめたいことなく堂々とじっくり人のコードを読めます。途中でよくわからないものが出てきたら、「バグ修正のため」に、普段の自分の仕事とは関わりの薄いドキュメントを読むことができます。「バグ修正のため」に、そのコードを書いた人とディスカッションすることもできます。コードの内容の概略を必死で説明してくれるので、黙々とコードを読むだけよりもずっと理解が深まります。
バグを追う過程で様々な知識を得られるだけでなく、バグを潰した際には、酸素の薄い部屋から外に出たときのような爽快感があります。他人のバグであれば、感謝されて微妙に優越感を味わうことができます。いやぁ、楽しいな、デバッグ
そんなことを先輩方に話すと、いつも決まって、「マスターアップ直前の、発生条件すらわからないバグにあったことがないからそんなことが言えるんだ」と言われてしまいます。う〜ん、確かにプログラマー一年生の僕が関わったバグはささいなものばかり。どれも条件がはっきりしていて、デバッガで追うことができて、しかも時間に制約がないものばかりでした。あと一年もしないうちに、「人間が作る以上バグが出るのはしかたないんだ。バグの無いコードを書くプログラムを作ろうぜ」なんて言いだすようになるのかもしれません。