意識を変えろ!

結局はエンジニア一人一人の意識がものを言うわけだ。

盟友坂口あきら/2の記事「現場の製品品質」について。

俺も同じ状況に何度陥ったかわからない。無駄を排し、コーディングルールに準拠したソースをかけるように、CheckStyleを導入した。効率的かつ効果的にソース管理できるようにCVSも導入した。Eclipseのチーム機能のひとつ「リポジトリとの同期化」は、CVSリポジトリと手元のソースとの差分だけを抽出する素晴らしい機能なので、これを知らない人間がいれば必ず使い方を教えた。mavenを使った自動ビルド&レポート作成環境も作った。Javadocの書きもれが多発するので、テンプレート設定をして、クラスを作ったら自動的に正しい書式のJavadocテンプレートが書き込まれるようにもした。他にもたくさんの品質向上テクニックを伝えた。

しかし、状況はよくならない。自ら勉強して仕事の質を上げる努力をしないばかりか、その手間を省いてこちらから機能を教えても使いこなせないか、そもそも使おうとすらしない。一目瞭然なエラーまたは警告を無視する。失敗を指摘すれば笑ってごまかすか、極めて不機嫌そうな態度をとり、また同じミスを繰り返す。いまだに「動けばいいのでは?」などと寝言を言って保守性の低いコードを書き散らすカスエンジニアは後を絶たない。

結局、どれだけの方法論やツールによって有益な情報を得ようとも、それを使う人間の意識が低ければ意味を成さないという、当然の結論に至ってしまう。いったいどうしたらよいのか?ある程度キャリア(と呼ぶのもおこがましいが)を積んでいる人間は、こんな程度でも仕事をできているつもりになっているので、こちらの主張はなかなか通らない。

そういうわけで、下から変えることにした。今年の新人研修を担当するということで、この立場を活用してしょっぱなから多数のツールの扱いと、これを利用する意義、品質への意識を教え込んだ。リポジトリ内のコードから警告やエラーが一個でも出ようものなら叱責した。開発後半になると、この手のくだらないミスも無くなって来た。ゆがんだ自信や妙な言い逃れを身に付けるまえに、基礎を叩き込んだ。

こいつらは、俺がこれから現場に送り出す、俺の手であり足である。堕落した先輩をさっさと蹴落として主導権を握って、たるんだ意識に喝を入れて欲しい。上から頭ごなしに言っても聞き入れないだろうが、下から突き上げれば少しは変わるかもしれない。開発現場のあまりの程度の低さに打ちのめされる可能性もあるが、それでやられるようでは、少なくともうちの会社では仕事にならない。そんな現場は少なくないし、それになじんで反抗心を持たないようならエンジニアとして先が見えている(あ、堕落してない立派な先輩も多数いるので、そのへんは尊敬して師事して欲しい)。

当然、俺も研修が終了すれば参戦して、意識改革に取り組む。上から下から攻め入って、腑抜けた精神を叩きなおしてくれるわ。

千里の道も一歩から。少しずつでも変えていくより他にない。変わるが早いか、こちらの忍耐力が尽きるのが早いか、これは精神力の戦いである。