ソフトウェアエンジニアという職業

今日はソフトウェアエンジニアという職業についてお話ししたい。

私はすでにエンジニアではないが、世の中がWindows98というOSを搭載したパソコンなるものでインターネットというものに触れ始めたその時代に私は情報系の大学を卒業して今のIT企業に就職した。

ITバブルと呼ばれている時代だが、当時は先進性と華やかさをまとったソフトウェア企業というものはとても魅力的に映ったように記憶している。

ただ、今とは違って普通の人がパソコンに触れる機会が極端に少ない時代だったので、あまり一般人が選ぶような就職先ではなかった。

そのせいでかなりオタク的な人が多かったという印象が強い。

そんな中でソフトウェアエンジニアとしての社会人生活がスタートしたわけだが、SE(システムエンジニア)とPG(プログラマー)という職種があって、正直あまりその線引きがわかっていなかった。

今でもまだあいまいなところはあるが、簡単に言うとお客さんとどんな設計にするのかを一緒に協議できるところから携われる人がSEで、決められた通りにプログラミングできる人がプログラマーという理解になる。

まずはプログラマーを目指すことになるが、普通の仕事と違ってこの世界は一人前の技術者になるまでにどんなに早くとも3年はかかる世界だ。

うちの会社ではまずC言語というプログラム言語を習得する必要があったのだが、もちろんそれだけでいいわけはなく、ほかにもVisual Basicだったり、Visual C++などの言語も覚えていく必要があった。

最初はそれらの言語を覚えていくことが仕事の主となるわけだが、そのうち言語を知っているのは当たり前で、それよりもどうやって客に依頼されたソフトウェアを製作していくのかという仕事の流れみたいなものを学んでいく必要がある。

ここがプログラマーとSEの線引きとなるわけだが、ここの「言語を知っているのは当たり前」「知らないことは自力で調べて理解する」という段階を乗り越えない限りはSEにはなれない。

自分はここの時点でつまづいてしまったので、残念ながらエンジニアという職種からリタイアすることになったわけだ。

結局のところ、プログラム言語というのはそのときどきで必要とされるものが変わるし、また新しい言語も出てくるので、それを知っているかどうかはそれほど大きな問題ではなく、どんなものでも調べればできますよというところまでスキルを持っていくことがエンジニアとして必要な要素となる。

それから、けっこう誤解が多いことは、実際にプログラミングにかけられる時間は意外と少ないということだ。

商品としてソフトウェアを製作する以上は、その品質というものが問われるため、プログラミングの中身よりもどのような設計思想で作り上げるのか、また品質を担保するためにどれだけ効果的なテストを実施することができるのかということが重要になる。

なので、プログラミングが三度の飯よりも好きという人にはつらい仕事になる可能性が高い。

このことをわかっていないと残念な結末を迎えることになるので、就職先としてソフトウェア会社を選ぶときにはよくよく考えよう。

実際に自分がしたいことと違ったといって辞めていく人も少なくない現場なのである。

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