novtanの日常

ネタです。ネタなんです。マジレスする人は撲滅すべき敵です。だからネタだってば!

変化に対応出来るエンジニア力とは何か

日本のWebエンジニアの大半が、変化に対応しきれなくなっている件について。 - 日々、とんは語る。

なんというまあ主語が大きい案件な気がするんだけど、それはともかくとして、ここで言われていることは一考の価値があるとは思う。エンジニアにおいて変化に対応しないという決断をする最大のファクターは常にコストだと思う。

ぶっちゃけ、時代の最先端に常についていくコストは1エンジニアにとっては投資対効果が少ないので、ある程度の規模があるエンジニア集団でない限り、必要に応じてついていくスタイルが最適な戦略になる。「まともなエンジニア」であれば、単に使うという点においてはそれほど学習期間はいらない。先に習得してないといけない場合もあるけどそれって仕事を取るのが先かモノそのもので提案するのが先かって世界でしかない。

場面に応じて最適な技術を選択するというのは「システムエンジニア」に最も必要なスキルだし、最先端についていくことが必ずしもその能力を高めるわけではない。ITの仕事というのは常に流動的であるがゆえに長年の積み重ねによる枯れたシステムを必要とすることがままあるのだからね。No-SQLが登場したからといってRDBの需要がなくなるわけではない。所変われば技術が変わる。全体的に見てアーキテクチャのアップグレードはゆるやかに進んでいく。もちろん、そのゆるやかの先端では急激に変わっているんだけどそれを全員がやる必要はないし、その先端が生き残らなかった時の無駄は大きい。

エンジニアが大事にすべきなのは、ツールはツールでしかなく、今は今だけでしかなく、しかしスタンダードには意味があるということだろうね。変化をすることには相応のタイミングが大事であるし、時が来たらそれを恐れないことも大事だし、時として変化をしないことにきっちりとした理由を付けられることも大事。「なぜこれを選択したのか」についてロジックのないエンジニアなど信頼するに値しないし、ましてや変化の理由が「最先端だから」は成り立たない。

良い物を選ぶためには高い目利き力が必要だしそのためにはシステムというものの本質を押さえている必要がある。

ただ、常に革新を自分の仕事として選んでいる人は、それではいかんのかもしれない。そういう意味で僕は「システム屋」であり、スーパープログラマーには成り得ないんだけどね。