システムエンジニア(SE)とは?仕事内容やプログラマー(PG)との違いを解説
IT産業の発展と共にシステムエンジニアという職業が広く一般に知られるようになってきました。
しかしシステムエンジニアという言葉そのものの定義が曖昧で、使われ方も多様性を持っており、IT業界以外の方には分かりにくい状況になってきています。
本稿ではシステムエンジニアの本来の定義と、直近での使われ方の解説、さらにはシステムエンジニアになる方法などについてまとめていきます。
1.システムエンジニア(SE)とは何か
この章では、まずはシステムエンジニアの定義を確認したうえで、近年での用法の変化について解説していきます。
1-1.日本における本来の定義
システムエンジニアとは、字面通りで言えばシステムに関わるエンジニアは全てシステムエンジニアになる訳ですが、日本ではコンピュータシステムに代表される「情報システム」に関わるエンジニアの総称のことです。
ちなみに、システムエンジニアという言葉は和製英語であり、海外では通用しません。もし通じる場合にもそれはシステム工学の専門家のことを指すので日本で言うシステムエンジニアのことではありません。
1-2.システムエンジニアの仕事内容
「情報システムに関わるすべてのエンジニア」という定義ですので、仕事の内容は広範に及びます。
情報システムは非常に複雑な組み合わせで稼働していることが多く、まず大別するとネットワークやサーバーなどの環境を整えるインフラ系エンジニアと、そのインフラ上で実際に走るアプリケーションを開発するエンジニアと、様々なデータ処理をしてアプリケーションに正しい表示や動きをさせるデータベースに特化したエンジニアなどに分かれます。
1-3.上流工程と下流工程
また上述の分類以外に、それぞれの分類の中に「上流」と呼ばれる、顧客のニーズをヒアリングしながらシステム全体の要件を決めていく「要件定義」や、その要件を満たした大枠でのシステムを設計する「基本設計」や、その大枠の基本方針に基づき具体的な製造する前段階の「詳細設計」の仕事があります。
その詳細設計どおりに製造する部分や、その後に製品がきちんと出来たか否かをテストし、また完成したシステムを顧客が使いやすいように運用していくフェーズがあり、それらを総称して下流工程と呼ばれています。
特にアプリケーションの開発においては、上流工程で設計を担当するエンジニアをシステムエンジニア(SE)、下流工程で製造するエンジニアをプログラマー(PG)と呼ぶ慣習があります。
ここがシステムエンジニアという職業の定義を曖昧にさせる最大の要因です。
1-4.システムエンジニア(SE)とプログラマー(PG)の違い
本来の意味では、プログラマ―も含めた全ての情報システムに関わるエンジニアがシステムエンジニアと呼ばれるはずなのですが、日本では「システムの上流で要件定義や基本設計・詳細設計を行うエンジニア」のことをSEと呼び、「その設計に基づいてプログラミングしていくエンジニア」をPGと呼び、縦の分類して使われるのが一般的です。
求人などでSE・PGと併記されている場合、上流者も経験2・3年の下流者も募集していますという意味です。
プログラマーを経験の浅い(下流しかできない)エンジニアと定義しているのも日本だけの現象であり、海外では上流であっても自身がプログラミングを行う人はプログラマーであり、日本の(PGの上位者という意味の狭義の)SEにあたる呼称は見当たりません。
関連記事
1-5.ネットワークエンジニアやサーバーエンジニアなどとの対比
近年の情報システムが複雑化・専門化する過程において、ネットワークエンジニアやサーバーエンジニアなどのインフラ系のエンジニアや、データベースエンジニアやセキュリティエンジニアなど、より細分化されたエンジニアの呼称が定着してきました。
本来の定義から言えば、全てがシステムエンジニアであり、その種類でしかないのですが、1-2で述べたとおりSEがPGとの縦の序列で使われることが多いため、近年ではSEを「アプリ開発の上流者だけに限定した定義」で使用される傾向も出てきました。
求人で「SE・PG・ネットワークエンジニア」などと、併記されることも散見されます。
1-6.近年のシステムエンジニアの定義まとめ
つまりシステムエンジニアとは、情報システムに関わる全てのエンジニアを指しますので、アプリ開発のエンジニアもネットワークのエンジニアもサーバーのエンジニアも全てを包含してシステムエンジニアです。
ただし、アプリ開発の領域で上流者だけを限定してシステムエンジニアと呼び、そうでない人をプログラマーとする用法や、システムエンジニアをアプリ開発の上流者に「限定」してしまい、ネットワークエンジニアやデータベースエンジニアなどと並列した「種類」として使用されるケースも目立ってきたということです。(※当ENGINEER.CLUBでも、記事ごとの目的や読者層のニーズに合わせ、SEをPGの上流として記載する場合や、SEをアプリ開発を行う単なるエンジニアの種類として記載する場合があります)
1-7.更に広義な「ITエンジニア」との違い
システムエンジニア同様に定義が曖昧な呼称に「ITエンジニア」があります。どちらも「情報システムに関わる全てのエンジニアを指す」呼称です。
使われた方として、ITエンジニアの方が更にやや広範であり、例えば、顧客や企業内からの製品や技術に関する問い合わせに答えるいわゆる「ヘルプデスク」などの職業も含めてITエンジニアと呼びます(※一般的な定義が曖昧なのでこの分類は筆者の主観です)
2.システムエンジニアになるには
システムエンジニアは理系の仕事、特に情報系学部を出た人たちの専売特許のように思っている方も多いはずですが、実は文系未経験からでもシステムエンジニアになることが可能ですし、実際多くの文系出身者が活躍しています。
社会人になってからの転職でも目指せますが、新卒の方が断然チャンスが多いです。もしあなたが学生で、システムエンジニアに少しでも興味を持っているのならば、この機を逃す手はありません。
2-1.とにかく新卒が有利
日本でシステムエンジニアを目指す場合、新卒でなってしまうのが最も門が広いです。
IT産業は、日本という国において数少ない成長産業であり、中でも技術専門職であるシステムエンジニアは需給がひっ迫しており、将来性が見込まれる職のひとつです。
もちろん、理系(特に情報系学部)で既に微経験者となっている学生が最も有利ですが、全然数が足りないので文系未経験にも広く門戸が開いています。
社会人になってからだと、自費で高額なセミナーにでも通い最低限の知識を得たり資格を取得したりしてからでないと受けさせてももらえないような企業にも、新卒であればだれでもチャレンジできる環境があります。
2-2.異業種からの転職も可能
社会人の中途採用の場合、経験者優先の募集がほとんどですが一定の割合の企業で未経験者も募集しています。
スクールに通ったり資格取得などを通して自己研鑽を進めている方が有利にはなりますが、それは姿勢の差であって実力差というほどのものではないので、結論、何もしないままで受けても受かる会社はあります。
また、紹介先に就職するのを条件に数十万もの研修費を一切無料にしてくれる紹介会社などもあります。
2-3.どんなシステムエンジニアになりたいか
いずれの場合も、まずは実際の現場で経験を積めることが最重要です。
どれだけ優秀なシステムエンジニアになるのか、自分らしいキャリアデザインの方向性などはもちろん大事ですが、業界に入る前から思考して描けるほど単純な話でもありません。
実務を踏むうちに見えてくるビジョンもありますので、興味がある方はまずは採用してもらえるように、資格の勉強でも始めてみましょう。
システムエンジニアは技術職なので技術力がないことにはお話になりません。
一方で、上流になればエンジニアでない異業種のクライアントの要望から本意を引き出してより良い要件定義が出来るようにならなければなりませんし、対話力や読解力など総合的な人間力が問われるシーンも増えます。
つまり技術力さえ追いついてしまえば、今の職業で鍛え上げた人間力や、文系脳のようなものも全てがプラスに作用してくるのも事実です。文系組も転職組も、実際にIT業界で優秀なシステムエンジニアとして多数活躍されていることは、付け加えておきます。
3.システムエンジニアにとって有用な資格
「エンジニアは実力勝負であり資格を持っているか否かでは価値は決まらない」とよく耳にしますが、それは事実です。
実際の現場での職務において有資格か無資格かで差が生じることはあまりないです。ただし、以下の2点において資格を取得するメリットがあります。
3-1.未経験・微経験・ロースキルの期間でのチャンスの多寡
資格で勝負するわけではないとは言え、資格というのはある程度の努力量と知識量が客観的に証明されるわけで、特に未経験~ロースキルの期間においては有用です。
具体的には、そもそもロースキルの段階では技術力の差があまりないので、次のステップに誰を上げようかとか、一人にだけ有益な経験をしてもらえるポジションがあるなどという状況下において「同じくらいの実力の人であれば資格を持っている人にしようか」程度の差がつきます。実はこの差が大きいです。
システムエンジニアに限った話ではなくビジネスパーソン全般に言えることですが、「やらせてもらったこと」しか経験として積めないわけであり、何をやらせてもらえるかが最重要であり、やらせてもらえさえすれば経験者として次のステップに上がれるということです。なので、ぜひ資格は取りましょう!
3-2.ミドルスキルやハイスキルな者でも有益
ロースキルほどの明確なチャンス差にはなりにくいですが、ミドルスキル以上のシステムエンジニアにも資格は有用です。
特に最上位の「ITストラテジスト」などは保有しておくだけでも一目置かれますし、保有者にしか任されない仕事もあります。
また、ある程度の経験と実力になっている方々なので「チャンス」を得るというよりは、「自分の知識の棚卸」を行い、再確認する、抜け漏れを埋めるという意味でも有用です。
また、何より資格を保有していることで、その資格を目指す若手の人たちにアドバイスが出来たり、希望すれば勉強会の講師が出来たりなど、自分がやれることの幅も広がります。
3-3.システムエンジニアにとってオススメの資格
まずはキャリアの方向性や種類に限らず、広く全エンジニアが身に付けておいた方が良いレンジの知識として、ITパスポート・基本情報技術者試験あたりが挙げられます。
また、自分が従事しているシステムの特性や、職務の特徴によりそれぞれの専門的なベンダー資格(JavaならOCJP、データベースならオラクルマスター、サーバーならLinuC、ネットワークならCCNPなど)を経由しながら、最終的には、上述のITストラテジストをはじめ、プロジェクトマネージャー、システムアーキテクト、ITサービスマネージャ、ネットワークスペシャリスト、データベーススペシャリスト、エンベデッドシステムスペシャリスト、情報処理安全確保支援士などの上位難関国家資格に向かっていけば良いでしょう。
4.さいごに
本来は情報システムに関わる全てのエンジニアの呼称である「システムエンジア」につき、近年では限定的な使用例も増え、その定義が分かりにくくなってきているので解説してみました。
エンジニア不足で需給がひっ迫しているIT業界ですので、今は新卒にも中途にもシステムエンジニアになるチャンスがあります。ぜひ、ご興味のある方は以下の記事も読んでみてください。
コメント