The HIRO Says

If you smell what The HIRO is cooking!!!

プログラムを組むことはレベルの低いことなのか?

個人的に愛読させていただいている「達人プログラマ−を目指して」に触発されて、日頃自身が感じている疑問について考えてみたいと思います。


私はこれまで、プログラマ・SE として、10年程キャリアを積んできました。
この間、さまざまな業種・システム・役割を担当させていただきましたが、常にある疑問を抱え、この疑問に直面してきました。
それは、※プログラムの書けないエンジニアが存在することと、このエンジニアがプログラムを書けるエンジニア(特にプログラマ)よりも地位が高いことが多い、という疑問です。
※「プログラムは書けるけれども、役割の都合でプログラムを書かないことが多いエンジニア」は除外します。


私がこれまで関わることの多かった金融業界では、要件定義や基本設計だけをずっと担当していて、プログラムを書けない「シニア」のエンジニアが多くいます。
またこうした人たちは、「プログラムは下流エンジニアに任せること」と教育されてきたことが多いらしく、プログラムを書くこと・実装することを一段低い仕事だと考えている人が多いように感じます。(少なくとも私の関わってきた人は)


ですが、昔の汎用機時代、フローチャートを組めば大体プログラムを動かせた時と今とは大きく異なります。
今は、言語の知識はもちろん、オブジェクト指向分析・設計の技能、RDB の知識、サーバ(特に Linux)の知識、また最近ではOSS・仮想化・クラウドといった、非常に幅広い知識・技能がないと、プログラムを組むことはおろか、システムを構築することはできなくなってきています。
※プログラムを組むことは、凄く高いスキルを要求されることだと思っています。
にも関わらず、こうした技術にはほとんど関心を持たず、これらを「レベルの低い人に任せればよい仕事」と見なして、システムに必ずしも適しているとは言い難い粒度の設計書を作成してハイ終わりという「エンジニア」が存在することに、大きな疑問と怒りを感じています。
※この場合の「プログラム」は、単体のプログラムを書くことと云うよりも、システムを構築することやアーキテクチャを選定・構築することと言い換えた方が良いかもしれません。


私自身、プログラミングだけではなく、プロジェクトマネジメント・要件定義・上流設計、果ては運用・保守も経験しているため、尚更こういう人材が存在し続けていること、こうした人材が多くが「えらそうな顔をしている」ことに、許し難いものを感じてしまいます。


このあたりは、上流の設計だけやって後は2次請・3次請に丸投げしてしまうという、日本の SIer の事業モデルの弊害なんですかね?


私も今は一次請けの企業に所属していますが、生涯プログラムを書けるエンジニアで居続けたいと思っています。