力を振るえない

愚痴っぽくなってしまうんですが、まぁ聞いて(読んで)くださいよ。

世間の平均レベルのエンジニアの皆さんは、あまりに芸の幅が狭すぎだって。

『達人プログラマー』にも書かれているのだが、エンジニアってのは、自分の『道具箱』を持っているものである。その中にはいろんな問題に的確に、効率よく対処するためのあらゆる有形無形(大抵は無形)のツールが忍ばせてある。

ところが驚くべき事に、世間の自称エンジニアの道具箱はやたらと貧相である。「Javaプログラマがいる」という要望を出して配属された人間は、大抵の場合本当にJavaプログラミングしかできない。いや、それだけでもできればまだ当たりを引いたほうで、それすら満足に為し得ないことが多々ある。

俺がイメージするJavaプログラマであれば、Javaという言語を使いこなせることなど当たり前で、開発スピードを上げるためのIDEやプロファイラの扱いに習熟し、バッチビルドしたくなることもあるだろうからApache-Antは手足のように扱える、といった感じにあらゆる関連道具の扱いをマスターしているはずなのだが。

Javaに限らず、プログラマを名乗るからには、用途別に3,4種類のプログラミング言語を扱えて当然だと思うし、効率的に開発を進めるための多種多様なツールや方法論に習熟しているのが、それを生業にする人間の責務だと思う。

で、これの何が問題かというと、そうした貧相な連中に引きずられて、まっとうなエンジニアたちが自分の多様な道具を自由に使えないのである。

一定の水準に達しているエンジニアは、ある問題を解決するのに有効な道具をいくつか見つける。しかし、そのどれも周りの人間が使えない。そうなると、その運用を自分一人の背中に背負うことになるわけで、それは安定したプロジェクト運営を脅かす大きなリスクだ。だから、エンジニアは避ける。で、誰でも扱えるように、と腐心した結果、チェックリストを作成して人力で作業する、といったIT企業という肩書きが泣くようなくだらない仕事が発生してしまう。

で、俺も今回かなりいろいろ我慢しているところがあって、いらだちも募る一方なのである!!おまえら、もっと勉強しろ!!UNIXサーバの管理者として呼ばれていながらvi一つ扱えないとか、telnetsshの区別も付かないとか、Cプログラマのくせにmakefile一つ書けないとか、そんな奴はいらん!!で、俺にもっと先進的(といっても3年以上前に登場した技術がほとんどだが)を使わせろ!!