「プログラマーの本懐」という本があり、いつか読みたいと思っているのだが、なかなか時間が取れずに、うだうだしてる。結局通勤時間ぐらいしか本を読もうとしないのもいけないのだが・・
自分は胸を張ってプログラマーだと言えるほど実装に関するスキルはない。だが、システムインテグレーターとして詳細設計や実装を外注したメーカーから納品されてきたソースコードがあまりに酷いのに気づくケースが多いのもどうかと思う・・・
今日はとあるプロジェクトからメーカーから納品されたプログラムが動かない、という問い合わせがあった。ACLからGetACEを使用してエントリーを取得するプログラムだった。ACLはアクティブディレクトリが登場したWindows2000Server以降DACLやその要素となるACEの構造が変わり、昔と同じようなプログラムを組んでも想定通りには動かない。
だがそんな事すらしらない某社のエンジニアはWebサイトに転がっているサンプルコードをそのまま納品してきた。まぁそのソースコードを見て何も気づかないうちのエンジニアも相当なアホだが、金をもらってプログラムを組む人間が作るソースコードではなかった・・・
昨今下流工程を外注化し過ぎて技術部分の空洞化が激しいシステムインテグレーターにおいて、うちのプロジェクトは全て直轄でやりくりをしている。そうでなければ絶対に人は育たないからだ。できれば今回の問い合わせはうちのプロジェクトにエスカレーションされる前に開発プロジェクト側で潰して欲しかった。。。
最近失敗プロジェクトが後を絶たない、という記事を色々なところで目にするが、プロジェクトマネージメントだけが問題なのではなく、システムの技術的領域を支えるアーキテクトと、実際にモノを作るエンジニアの質も大幅に落ちているのだ。
Java、.NET、Windows、Unix、SQLServer、Oracle・・・
さまざまな技術が氾濫し、日進月歩で進化を遂げているこの業界にあって、それらを使いこなすエンジニアがまったくその流れについていけていない。別に無理してついていく必要もないのかもしれない。だが、何かに軸足を置いてシステムのベースラインを固める事もせず、技術の流れに翻弄されているだけなのだろう。
なんとかしないと本当にこの業界は危ない・・・