新人システムエンジニアのあなたへ

前置き

まずは僕のプロフィールについて。
・大学は文系でプログラミングの経験はなし
・就職してVC++でWindowsアプリケーション(4年)→Javaでandroidカスタマイズ(10年)で別の会社へ転職、現在はCで組み込み制御

この経験からの話になるので、会社員エンジニアとして働く方向けの内容となります。
フリーランスとして働く方や、webのフロントエンドのお仕事をする方だと事情が異なるかもしれませんので、その点はご了承ください。

仕事について

■「仕事」と「学問」の根っこは同じ

個人的な見解ですが、仕事も学問も
取り組むべき命題を明確にし、仮説と検証と考察を繰り返して前進していく
という点において、同じなんじゃないかなと思っています。

場当たり的に仕事をやっていると、なかなか力がつかないものです。
だから、学問をやる姿勢で仕事に取り組むのがいいのではないかなと思います。

■「決断」の手助けをする

物事を決めるというのはエネルギーを大量に使う行為です。
でも決めなければ物事が進んでいきません。
だから、あなたの仕事の成果は、上司や顧客の決断を手助けするものであるべきです。
そのために、勇気をもって「自分はこの選択肢がいいと思う。なぜなら...」を伝えられるといいですね。(最初はハードルが高いかもしれませんが、勇気を出して...。)

■「ビーコン」を出す

ここでの「ビーコン」とは「自分の位置を知らせる信号」という例えです。
登山する時に遭難に備えて持っていくビーコン発信機みたいな感じですね。

登山であれば、自分がいる場所が登山道から外れていたり、向かおうとしている先が違っていたら、大変なことになってしまいます。
仕事も同じで、あなたが考えている仕事の完成形が、もしかしたら上司の考えているものと違っているかもしれませんし、もっといいやり方があるかもしれません。

それが後になってわかったら、間違った方向に進んだ分、戻る時間までかかってしまいますよね。
そうならないために、自分がやろうとしていること、やっていることを、しっかりと周囲に伝えてあげてください。

■いろんな人がいる

社会人になると、学生時代よりもいろんな人と関わることになります。
だから相性って大切です。一緒に仕事がしやすい人、そうでない人。
逆に考えれば、いい成果が出ないことのすべてを自分で抱え込む必要はないのかな、と。(もちろん、自分ができることをやった上で、ですよ。)

この人に教えてもらうとよく理解できるな、とか、この人の指示はわかりやすいな、とか、周囲の人の「いいな」と感じるところを見つけて、その真似をしてみてください。
それが知らず知らずのうちに、自分が成長していける環境になっていくと思います。

システムエンジニアについて

■プログラムを「書く」より「読む」

システムエンジニアの仕事として、新しいシステムを作る仕事よりも、既存のシステムを改造する仕事が多いです。
つまりは、プログラムを書いているより読んでいる時間が長いです。

なので、「この処理は全体の中でどんな役割にあるんだろう?」を把握できることに優れている人が重宝されるように思います。

■「賢いプログラム」より「読みやすいプログラム」

上記のことに関連しますが、プログラムは読みやすく書いてほしいです。
プログラムは書く時間よりも読む時間の方が長いものですから、あまりひねったことをして行数を短くするより、シンプルなやり方にしたほうが良いです。

あまりにも凝ったプログラムだと、後で改造が必要になったときに不具合が頻発する懸念も。。。
システムは顧客のものですので、エンジニアの自己満足はあんまりよくないですよね。

■「巨人の肩の上に立つ」

「巨人の肩の上に立つ」というのは、先人の英知を拝借するということです。
システムエンジニアをやっていて困ったことがあったら、それはおおよそすでに他の誰かが経験しています
なので、困りごとに直面したら、webで調べたり他の人に聞いてみて、良い方法を探してみてください。

自分で作り出すことも大切です。しかし、土台となる知識の上に創造性を発揮できたら、それは何よりも素晴らしいことですね。

この記事が気に入ったらサポートをしてみませんか?