n4k4mooのネガティブ日記

n4k4mooの日記です。ネガティブな内容が多いので注意。

エンジニアがコーディングする価値

いつの頃から、積極的にコーディング(プログラミング)しなくなりました。

プログラミングというのは色々なレベル感があります。

 

レベル1:教科書レベルにコーディングして動くこと。

レベル2:仕様書通りにプログラミングできること。

レベル3:適切なリファクタリングや、可読性が高く保守性の高い、性能面でも最善を尽くすプログラミングができること。

 

設計まわりの話を混ぜると複雑になるので、プログラミングの話に統一しました。

未経験者が動くプログラムが書けるようになるのがレベル1。新卒が入社して研修が終わったくらいの段階です。

レベル2、社会人プログラマーとして必要最低限のレベルです。仕様書に記載された通りにプログラミングできること。一般的なプログラマー、シニアプログラマーみたいな人も大体はこのレベルです。

レベル3、効率の良いプログラミングができ、性能面の考慮、保守性を高くして今後の改修に備えることができる、最上級です。このうち、いくつかはできるという人はいますが、全部できる人はなかなかいません。

 

問題はこのレベル3で、仮にレベル3までいったとしても、一つの言語が流行し続けることってなかなかありません。フレームワークも変わってきたりするので、常に変化を受け入れなければいけません。言語による違いも勉強していく必要があります。

そして、苦労して作った傑作だったとしても、未来永劫使われることはありません。外部委託の納品物はおおむね5年でハード等の保守期限が来て、ハードを含めてソフトウェアも作り直してまるっとリプレースするケースが多々あります。ハードのリプレースでなくても、会社の環境変化によりソフトウェアが変わることもあります。そんな経験を今までしてきたので、どうもコーディングする意欲が弱くなってきたんです。

ただ、設計書は使いまわせますし、残るものです。リプレースする際も、必ず参考にします。なんなら、そのまま使いまわせる可能性もあります。こうして、優秀なエンジニアたちは少しずつ、設計寄りになっていくのでは、と思っています。