プロのシステムエンジニアになるために必要なたった一つの大事なこと

システムエンジニアを名乗るからにはプロではないなんてことはありえないというのが個人的な思いではありますが、実際にITの現場に出るとシステムエンジニアってバカでも出来る仕事だったっけ、と疑問を感じざるを得ないことが多々あるというのが現状です。
原因は色いろあると思うのですが、システムエンジニアとはどういう仕事なのかというのが明確で無い事が一番の原因ではないかと思います。

というか、一口にシステムエンジニアと言っても、エンジニアっぽい仕事はその一部でしかなく、多岐にわたる仕事をしなければならないというのがほとんどなんじゃないかと思います。

じゃあどうすればシステムエンジニアとしての仕事ができるのか。

それは、「目的を見失わない」ことでしょう。もちろん、システムエンジニアの目的は「顧客にとってよりよいシステムを作り、運用する」ことです。あえて運用するって入れたのも重要です。

顧客にとってよりよいシステムというのは必ずしも素晴らしいシステムではありません。エンジニアの夢を花開かせるシステムが素晴らしいわけじゃありません。どんなにアホな仕様であっても「法律がそう言っている」のであればそれは必要な仕様だし、逆にお客さんが欲しいと言っていても要らないものは要りません。顧客の要望に無限に答えるのがよりよいシステムという解ではありませんから。

つまり、顧客によりよいシステムを提供するために必要な取捨選択が出来るというのが必要がありますね。そのためには、技術力とそれを裏付けにした確固たる信念がなければなりません。
良いシステムとはなんぞや、ということに一家言ない人は良いエンジニアにはなかなかなれません。少なくとも、自分の中にスタンダードとしての良いシステムという概念をきちんと抱えていてはじめて顧客のニーズを汲み取り、それをカスタマイズしていくことが可能です。

一介のエンジニアは巨大なシステムに立ち向かうにはあまりに小さな存在で、本当はこうあるべきと思っていてもそれを実現するどころか訴えることが出来なかったりするのも社会というものです。ただ、本当によいエンジニアがいるところでは自然とあるべき姿と現実的な解を常に議論しているようなところになります。そういった力がいつの間にか現場を変えていることだってないことではありません(残念ながら、お金と安全の権化によって固くディフェンスされてしまうことも多いですが)。

現実に打ちひしがれていたとしても、信念を腹に抱えて常に模索を続けること。それがプロのシステムエンジニアである資格ではないかと僕は思っています。