
プログラマーとシステムエンジニアの違いはご存知ですか?
IT業界のお仕事の中でもシステムエンジニアとプログラマーという職業はよく耳にしますよね?IT業界に関わりがない方も何となく知っている方もいるかもしれません。
このモリブログを書いております私は変わった経歴を持っておりまして、30歳になってから異業種からエンジニアに転職をした遅咲きエンジニアです。
このmoriblog(モリブログ)では私の経験を元に、IT業界の情報や技術に関して発信をしておりますのでIT業界に興味がある方は読み進めていただけたら幸いです。
さて例えば合コンとかでもいいですが、初対面の自己紹介で

よろしくお願いいたします。
と言われたらIT業界に関係のない方が聞いたら

IT業界のエンジニアだから
システムエンジニアとかプログラマーだよね?
と思われる方がほとんどではないでしょうか?

プログラマーですか?システムエンジニアですか?
というような質問を返せる方は同業者の方か、エンジニアという仕事について知っている方ということが直ぐにわかります。
このことから
という言葉は幅広い意味を持っていることがお分かりいただけると思います。
この記事ではIT業界についてとエンジニアという職業について解説しておりますのでIT業界に興味があるけどまだ情報が少ないという方に参考にしていただけたら幸いです。
IT業界について

私は30代からIT業界に転職をしました。
そんな私はPCを使わない業界からの転職でして、さらにIT業界の知識が乏しい状態で入社したため苦労しました。
IT業界はとにかく横文字、カタカナが非常に多い業界です。
そんな回りくどいこと言わずに日本語で言えよって思わず思いますし、ベテランの方もそう思っている方も少なくありません。
IT業界初心者がそんな横文字だらけの環境に放り込まれますと、しばらく言葉の意味をググるのがルーティーンになります。
私も、わからない用語は毎日ググって理解できるようにしていきました。しばらくこの環境にいますと決まった用語が多いので慣れます。
IT業界ではエンジニアだけでなく営業のお仕事も当然ありますので、もしIT企業に入社する予定でしたりこれから転職活動を行う場合にはエンジニアでよく使う単語をリサーチしておくといいかもしれません。
システムエンジニアプログラマーの違いは?

システム エンジニア(SE)とプログラマー(PG)は担当する業務の領域が違います。
システム エンジニア(SE)は、クライアント(お客様)からシステムを使って何がしたいのかをヒアリングして(要求定義)システムの仕様の決定と、大まかな設計を担当します。プロジェクトがスタートしますと要件定義書というものを作成し、お客様の要求定義からシステムの要件を書きだしたものを作成します。
その後の設計は、基本設計と詳細設計があり、基本設計から詳細設計を書きプログラマーに渡し、プログラマーが詳細設計を基にしてプログラミングを行っていきシステムを構築していきます。その後は単体テストを行い本格的なテストフェーズに入っていきます。
システムエンジニアについて
IT業界では開発手法がいくつかありまして有名な手法としましては
になります。
ウォーターフォールのプロジェクトは例えば構築するシステムにAからDまでの機能があるとしてこれらの機能の工程として足並み揃えて
要求定義→要件定義→基本設計→詳細設計→開発(プログラミング)→テスト
という流れをたどっていきますが、
アジャイル開発では
AからDの機能毎に
要求定義→要件定義→基本設計→詳細設計→開発(プログラミング)→テスト
という工程を行ってきます。
大まかにはこのような開発工程がありますが、
これらの工程の中でシステムエンジニアは(要求定義→要件定義→基本設計→詳細設計 を担当します。
ここまでの工程をIT業界では上流工程と言われます。システムエンジニア(SE)は上流工程を担当する職種になります。
システムエンジニア(SE)の仕事
仕様書や設計書を書くには
など様々な知識が必要になります。
上流工程はシステムエンジニア(SE)が担当する仕事になりますが、上記を見てわかるようにプログラミングの知識だけではシステムエンジニアは務まりません。
また、システム エンジニアは上流工程のみが担当というわけではなくプロジェクトによっては開発工程やテスト工程にも関わることは多々あります。
システムエンジニアの方の中には、プログラミングが得意でない方も多くいらっしゃいますが、システム エンジニアもプログラムを学ぶ必要があります。
プログラマー並みにプログラムが書けないといけないかといえばそうではない部分もありますが、プログラミングの基本がわかっていてコードを読むことができるレベルは要求されると考えた方がいいです。
がっつり開発が出来なくても実際にどのような処理が行われているかをコードを読むことで把握する能力は必要になります。
プログラミングが得意でない人も、システムエンジニアとして働くのであれば、せめてコードを読んでこのプログラムは何をしているのか理解するくらいのスキルは身につけましょう。
プログラマーについて
プログラマー(PG)はプログラム言語を使い、プログラミングを行いシステムを作る人になります。
プログラミング言語は様々あり、
など様々ありますが、プロジェクトにより使用する言語か違いますので、どのプログラム言語を用いてプログラミングを行うかはプロジェクトによって異なります。
上記は要件定義により決まりますので、実際にプロジェクトが始まったらシステムで使用される言語にマッチしたプログラマーが招集されます。
プログラマー(PG)の仕事
プログラマーはシステムエンジニア(SE)が作成した仕様書に沿ってプログラミングを行い、クライアント(お客様)の要望のあったシステムを実現していきます。
プログラミングを行い構築したシステムは作ったら終わりではなく正常に動作するのか?仕様書通りに作られているか?をチェックしなくてはなりません。
プログラムのチェックのことをテスト工程と呼びますが、このテスト工程もいくつか段階があります。
プログラマー(PG)はこのテスト工程の初期段階である、単体テストと呼ばれるテストを行うことがあります。
システム開発では一人で開発することはまれで多くの場合複数人でプログラミングを行って開発を行います。
単体テストではそれぞれ個々で作ったプログラムが正常に動作が行われるかをテストするということになります。
システムエンジニア(SE)とプログラマー(PG)の共通スキル

システムエンジニアとプログラマーの共通スキルとしてはプログラミングということはもうご存じだと思います。
これからプログラマーやシステムエンジニアを目指している方がプログラミングのスキルを一から身につけるのは大変ですが、プログラミング スクールに通えば間違いなく身につけられます。
無料で受講できるエンジニアスクールもありますので未経験からエンジニアを目指したいという方は、エンジニアスクールを使うことをお勧めします。
IT業界未経験でスキルが無い場合の転職の攻略について下記記事で解説しておりますので確認してみて下さい。
システムエンジニアプログラマーの違いは?システムエンジニアの年収

統計データによると、
となっているようです
全体の平均年収が454.5万円なので、SEの年収は比較的高い水準にあります。
プログラマー全体の平均年収は、SEよりも約130万円少ない傾向にあるようです。
意外だと思われた方も多くいらっしゃるかと思いますが、この差に関しましては今までの内容を見ていただいた方は理解されていると思います
理由としましては担当している業務に関係しておりまして
IT業界は下流工程よりも上流工程の方が単価が高いため、このようにシステム エンジニアとプログラマーの年収の差が出ます。
単純に企業のサラリーマンとしては上記のような差が出る場合が多いのですが、業務形態がフリーランスというケースもIT業界では珍しくありませんでして、フリーランスのエンジニア、はかなりの金額を稼いでいます。
システムはプログラムが無いと成り立ちませんから、技術力の高いプログラマーであれば、企業は喉から手が出るほど欲しがります。
そのようなプログラマーはフリーランスになる方も多く、いい条件で契約されてお仕事されている方がIT業界では多いです。
もしフリーランスのエンジニアの道に進みたいというのであれば仕事の受注が壁になります。
突然フリーランスになって仕事を獲得するのはどうすればいいのかわかりませんよね?
もちろん今までのコネクションを使って営業をかけるパターンもありますが、最近では転職エージェントがフリーランスにも仕事を提供してくれるサービスをやっていることもありますので転職エージェントを使うのがベストだと言えます。
転職エージェントは無料で利用が可能で、サービスによって求人数や持っている仕事が違いますので一つより複数登録して並行して仕事の獲得を行うことをお勧めします。
この記事のまとめ

プログラマーとシステムエンジニアの違いは理解できましたか?
システムエンジニアは下流工程で経験を積んでシステム回りの知識がついてからキャリアチェンジするパターンが多いです。
まずはプログラマーとしてやっていき、成長したらSEになるというのが王道パターンというわけですね。
ただプログラミングが、がっつりできない方でもシステムエンジニアとして仕事をしている人も見ていますので、プログラマーからしかシステムエンジニアになれないのかと言えば必ずしもそうとは限りませんがある程度のレベルまでは習得する必要があります。
今回はシステムエンジニアとプログラマーの違いについての記事になりましたが、IT業界のエンジニア職は他にも存在します。以下の記事にてまとめておりますので確認してみてください。
コメント 記事に関するご意見・ご感想・ご質問などお気軽にどうぞ!※メールアドレスは非公開です