プログラマという仕事。SEとの違いとは

システム開発

この記事は主にこれから就職する学生で、プログラマになろうかと思ってる人向けの内容です

プログラマとSEとの違い

SEとはシステムエンジニアの略です

実はプログラマとSEの明確な違いはありません

イメージ的にはプログラマはひたすらプログラミングをする人、SEは仕様書を含めたシステムの総合的な開発を行う人、と言う感じはします

けどSEでもプログラミングする場合もあるし、プログラマでも仕様書を作る場合もあります

ソフトウェア開発の受託、派遣をしてる会社の場合、新しい人をアサインする際にその人の経歴としてPG(プログラマ)とかSE(システムエンジニア)とつける場合はあります

そういう時は確かにPGよりもSEの方が単価が高い場合が多いです

プログラマとは

じゃあ、プログラマとはなんなのか?

もちろんプログラミングをする人ではあるんですけど、この行為を簡単に言ってしまえば、

「機械に命令を教え込むこと」です

デジタルな機械は0と1のの2パターンの言葉しかわかりません

それをエンジニアがプログラミング言語という機械寄りの言葉を使って教え込んでやります

もしも工場で働くロボットに命令する場合、概ねこんな感じになります

プログラム

・3秒たったらアームを持ち上げてね

・それから1.5秒経過したら、ベルトコンベア上を流れる缶詰を掴んでね

・掴んだ缶詰をダンボールに入れてね

もちろん機械はエンジニアが扱う対象によって違います

人によってはウェブかもしれないし、人によっては産業用ロボットかもしれません

SEとは

じゃあ、システムエンジニアとは?

プログラミングを含めた「そもそもの機械の動きはどうなってたら良いのか」を現場の人間から聞き出して、仕様書を作り出しプログラミングする

つまり総合的なシステム開発をする人のことだと理解してほしいです

だから上記の工場ロボットが相手の場合だったら、もしかしたらまずは現場の人に対してこんな聞き取り作業から入るかもしれません

・「缶詰はベルトコンベア上に秒間あたり、何個流れてきますか?」
・「ロボットは何機まで設置できますか?」

・「ロボットアームが4秒で1個の缶詰を箱詰めする様にしよう」
・「ダンボールを締めるロボットも追加しよう」

そして決定した仕様を元にプログラミングします

プログラム

・2秒たったらアームを持ち上げてね

・それから2秒経過したら、ベルトコンベア上を流れる缶詰を掴んでね

・掴んだ缶詰をダンボールに入れてね

人数の少ない零細企業の社内SEだったりすると、これらの作業をほぼ一人で全てやることもあります

大企業の場合だと分担して仕様書を描く人、プログラムをする人、と分ける場合が多いです

いずれにしろ、プログラマにしてもSEにしても仕事内容がシステム開発という意味では同義です