プログラマーとシステムエンジニア(SE)の違いってなに?

ども!現役SEのカズマルです!

SEをやってるとよく聞かれるのが「プログラマーとSEって何が違うんですか?」「プログラマーもSEなんでしょ?」という質問です。

この2つの違いについてしっかり理解せずSEやプログラマーになってしまうと後から辛い日々を送ることになります。

そこで今回はこれからSEやプログラマーを目指す方へ、SEとプログラマーの違いについて説明していきたいと思います。

システムエンジニアとプログラマーの違いがわかりずらい理由

SEやプログラマーとして就職先を探すときに使うのが就職サイトなどの求人ページだと思います。

そこには、SEとプログラマーを「ITエンジニア」や「オープンWeb系」と一括りにしているところも多く、

SEとプログラマーどちらの募集なのか、IT業界に詳しくない方からすればわかりずらくなっています。

SE(システムエンジニア)とプログラマーの違いとは

ではSEとプログラマーの違いは何なのでしょうか?詳しくみていきましょう。

プログラマーとはなにか

まず、プログラマーとはその名の通りプログラミング言語でコードを書き、サービスやアプリケーションを作る人のことを言います。

プログラマーについて誤解している人はあまりいないと思うので、この説明で充分かと思います。

システムエンジニア(SE)とはなにか

問題はSEのほうですね。

「現役SEが教える!システムエンジニア(se)とは何か?どんな仕事?」でも書きましたが、

SEの仕事は「システム構築全般に関わる、プログラミング以外のありとあらゆる仕事を行うこと」と定義できます。

あえて”プログラミング以外”と書いているとおり、SEはプログラミングをすることが仕事ではありません。

関連記事:システムエンジニア(SE)とは何か?どんな仕事?SEの仕事内容が具体的にイメージできない方のためのSE入門講座

SEとプログラマーの違いについて、もう少し噛み砕いて説明してみたいと思います。

SEが建築士なら大工はプログラマー

SEの仕事はよく建築士に、プログラマーは大工さんに例えることができます。

建築士が設計したとおりに家をつくるのが大工さんのお仕事ですが、それと同じようにSEが設計したとおりにプログラムを書くのがプログラマーです。

カズマル

建築士と大工さんは別々の職業ですよね?

それと同じようにSEとプログラマーも別々の職業なんです。

SE(システムエンジニア)はプログラミングの知識も必要

先程、SEは建築士でプログラマーは大工さんのようなものだとご説明しました。

ここで質問ですが「建築士は大工さんの仕事の知識も必要だと思いますか?」

カズマル

答えは簡単ですね?

隅から隅までとは言いませんが、大工さんがどのような流れでどのように家を組み立てていくのかは建築士さんも知っておく必要があります。

なぜか?それは大工さんの仕事を知らないと建築士さんの仕事である「家を立てるまでにどのくらいの期間・作業員が必要なのか」を考えることが出来ないからですね。

それと同じように、SEはある程度プログラミングの知識が必要になります。

なぜならプログラミングの知識がないとシステムを設計する際に「どの言語を使うのがベストか?」「プログラマーは何人必要か?」といった見積もりが出来ないからなんです。

SEは実際にプログラミングすることもある

さらにいうと、ちょっとしたプログラムの修正や仕様変更程度であればSEもプログラミングを行うことがあります。

最後の最後にちゃぶ台返しするようで申し訳ないのですが、これには理由があって、わざわざプログラマーに依頼してコードを書いてもらうより、SEが修正した方が早い場合が現場ではよくあるんですね。

「建築士の人は釘一本もも打てないのか?」というとそうではありませんよね?

1本や2本の釘を打つくらい建築士さんにでもできます。

わざわざ、大工さんを呼んできて、ココとココに釘打ってくれる?なんてやってたら日が暮れちゃいますよ。

建築士は大工さんの仕事も簡単なことならできますが、大工さんは建築士の仕事はできません。

これと同じように、SEはプログラムもちょっと書けるけど、プログラマーがSEの仕事を出来るかというとそうではありません。

なので、SEとプログラマーは全く違う職業ということになるのです。

プログラマーとSEの違いを理解することの大切さ

SEをやっていてよく見かけるのが、バリバリ開発(プログラミング)したくてSEになったんです!という新人SEや、ずっと開発していたかったという中堅SEの方。

確かにSEはシステムを設計をする中でプログラミングの知識が必要になります。

なので、入社して最初のうちは研修でプログラミングを学ばせる会社もありますが、それはあくまで、SEとしてのスキルをアップさせるのに欠かせない工程だからであって、コードをバリバリ書けるようになることを目的としているわけではないんですね。

そのためシステムエンジニアとプログラマーの違いをきちんと理解し、自分に適した方を選ぶことが大切になります。

プログラミングをしたくてSEになってしまうと「こんなのは自分がやりたかったことじゃない!」と後から気づくことになります。

まとめ

今回はプログラマーとシステムエンジニア(SE)の違いについてご説明しました。

SEという職業は業務が幅広いため「単純にSEとはこういうものだよ!」とは言えない部分もありますが、大まかには「システムの設計・テスト・運用」を行う人だと考えておいていただければ大丈夫です。

また、SEって激務ってきくけど実際どうなんだろ?と疑問に思っている方は関連記事にまとめているので合わせて読んでみてくださいね♪

関連記事:システムエンジニアは激務なのはウソかホントか?SEが激務だと言われる理由について解説します!

ではではー!

コメントを残す

メールアドレスが公開されることはありません。