IT関連に就職しようと思っているけど、ネットで調べても色々な職種が出てくるかわかりづらいと思ってませんか。この記事では、IT関連の職種であるシステムエンジニアについて解説します。
この記事を読むと仕事の内容やシステムエンジニアになるために必要な資格やスキルがわかります。
<目次>
●システムエンジニアってどんな職種?
・そもそもシステムとは?
・システムエンジニアはどんな職種?
●他職種との違いは?
・システムエンジニアの種類
・ITコンサルタントとの違い
・プログラマとの違い
●具体的な仕事内容は?
・仕事のフロー
・各フローにおける仕事の具体例
●システムエンジニアになるために必要なスキルは?
・プログラミングスキル
・顧客の業務に関する知識
・資格
●具体的な学習方法は?
・学習の大まかな流れ
・学習におすすめの書籍、サイト
●企業によって働き方は変わる?
・メーカー系
・ユーザー系
・独立系
●システムエンジニアとして就職できる企業を探すには?
●この記事のまとめ
●先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
・ONE CAREER for Engineerではどんなことができる?
システムエンジニアってどんな職種?
そもそもシステムとは?
本来、「システム」という単語は「構造」や「制度」、「仕組み」といった意味を持ちます。ビジネス用語としての「システム」は「○○をする仕組み」という意味合いで使われることが多いです。「給与システム」であれば「給与の支払いに関する業務を行う仕組み」です。 システムエンジニアが担当する「システム」とは、「サーバーなどで動作するアプリケーション群」を「システム」と呼ぶ場合がほとんどです。
システムエンジニアはどんな職種?
システムエンジニアは、システム開発において顧客の要求に沿った仕様を作ったり、設計をしたりするのが主な仕事です。
システムエンジニアの主な顧客は「企業」です。
自社が使うシステムに携わる場合は「社内SE」、他の企業のシステムに携わる場合は「SIエンジニア」と呼ばれることもあります。
企業でのシステム開発内容はさまざまで、例えば商品を開発、販売する企業の場合「新しい商品を提案するシステム(社内向け)」「商品をインターネット上で予約、購入できるシステム(社外向け)」のように、その企業が求めるシステム(仕組み)を作ることが必要です。技術的知識だけではなく、その企業の業務内容を理解して、より良い内容を提案することが要求されます。
他職種との違いは?
システムエンジニアの種類
「システムエンジニア」といっても、主とする業務内容によってはさまざまな職種に分類されます。
昨今はパソコンだけではなくスマートフォンに対応したり、ブラウザーとアプリ両方に対応したりと、システムが複雑化しており、全てを一人で担当することは少なく、分業が進んでいます。
システムの顔となる画面デザインや入力フォームを構築するエンジニアは「フロントエンドエンジニア」と呼ばれます。デザイナーが設計したデザインから構築することもあれば、自分でデザインから携わることもあります。
逆に、システム利用者が見ることのないバックエンドでの処理を担当するエンジニアは「バックエンドエンジニア」「サーバーサイドエンジニア」と呼ばれます。フロントエンドエンジニアと連携し、データ処理のシステムを構築します。
データを格納するためのデータベースの設計、開発、管理、運用を行うのが「データベースエンジニア」です。必要なデータを効率よく取り出せれば、その分、システムの処理が速くなります。こちらも実際にデータを出し入れするフロントエンドエンジニアやバックエンドエンジニアと連携して業務を行います。
分業が進む中、システムの設計、構築、テスト、運用と一連の作業全てに携わるエンジニアは「アプリケーションエンジニア」と呼ばれ、幅広い知識や経験が必要とされています。
ITコンサルタントとの違い
「ITコンサルタント」は、顧客の売り上げや業務効率のアップを目指し、どのようなシステムを作ることが必要かを一緒に考え、提案する職種です。システムエンジニアは、システムの概要が決まってからの参画になりますので、システムエンジニア以前の業務を行っているのがITコンサルタントです。
もっとも、システムエンジニアが別のシステムを開発しているときに顧客から「実は他にも困っていることがあって」と相談され、一緒に考えて提案するケースもあるため、システムエンジニアだから提案をしない、というわけではありません。
プログラマとの違い
システム開発において、必要な機能を作成するとき、用いられるのはプログラミング言語と呼ばれる、コンピューターを動かすための命令です。これを活用して作った機能をコンピュータープログラム、略してプログラムと呼んでいます。
「プログラマ」は主に「システムエンジニアが作成した設計書をもとに、システムに必要なプログラムを作成する」のが主な業務となる職種です。
システムエンジニアが、顧客とやり取りをして決めた仕様を設計書にするのが業務なのに対し、プログラマは設計書に従ってプログラムを作成することが業務です。こちらもプログラミング以外は行わないということはなく、システムエンジニアと一緒に設計書を作成することもあります。
具体的な仕事内容は?
仕事のフロー
システム開発にはさまざまな手法がありますが、一番フローがわかりやすいのはウォーターフォールモデルの開発手法です。主に「設計」「実装」「テスト」「運用」の段階に分かれており、流れる水のように後戻りはしません。
顧客の要求に合わせてシステムを「設計」し、必要な機能を「実装」し、機能が正しく動くか「テスト」し、実際に顧客がシステムを「運用」していくのをサポートするという流れです。さらに上流にはITコンサルタントが主に行う「要件定義」があります。
顧客の需要に合わせて柔軟に対応するのがシステムエンジニアの仕事であるため、実際の業務では企画から参画することもあれば、データ収集・分析を行うこともあります。
各フローにおける仕事の具体例
システムエンジニアの仕事は、顧客にあわせて変わります。今回は、その中でも適用例の多いウォーターフォール開発における仕事の例を紹介します。
設計
「要件定義」で決められた内容をもとにシステム化するための設計を行います。設計には「基本設計」と「詳細設計」があります。
・基本設計 「どのような項目があるか」「項目はどのような配置になっているか」「項目の文字数や属性は何か」「何を入力したら何が出力されるか」など、外から見える部分の設計です。 ・詳細設計 基本設計をもとに、内部での動作やデータベースとのやり取り、想定外のデータが入力された場合のエラー処理など、必要な処理を記述するものです。プログラマは、詳細設計をもとに実装を行います。
実装
プログラマが詳細設計をもとに実際のプログラムを作成します。状況によっては、システムエンジニアが参画することもあります。
テスト
プログラムが正しく動くかのテストを、テスト仕様書に基づいて行います。テストには主に4つの段階があります。
・単体テスト そのプログラムが正しく動くかどうかをテストします。テスト仕様書は主に詳細設計書をもとに作られます。 ・結合テスト 各機能を連結させて処理を行い、正常に動くかを確認します。 ・総合テスト 機能を全て連結させて、システム全体として動作を確認します。テスト仕様書は主に基本設計書をもとに、さまざまなパターンを網羅して作られます。 ・受け入れテスト 本番環境でシステムを動かし、問題がないか確認する最終テストです。顧客の環境で動かすため、顧客担当者が参画することもあります。テスト仕様書は主に要件定義書から作成され、要件定義の内容を満たしているか検証します。
運用
実際にシステムの運用が開始されることを「リリース」といいます。旧システムからの移行や、仕様変更によるトラブルの発生に対応します。
リリース後、顧客と定めた期間運用サポートを行いますが、状況によっては長期間の保守契約を結び、不具合の対応や軽微なアップデートを行うケースもあります。
システムエンジニアになるために必要なスキルは?
プログラミングスキル
詳細設計を行うにあたっては、プログラミングの知識が不可欠です。 必ずしも実装に使うプログラミング言語の知識が必要ではないケースが多いですが、何かしらのプログラミング経験がないと設計を行うことは難しいです。
顧客の業務に関する知識
システムエンジニアはシステム開発に関する幅広い知識が必要とされます。また、顧客の業界に関する知識(金融業界であれば、金融の知識)があると有利になることがあります。特に「○○の処理を行うのであれば××の考慮が必要」というような知識は、大変重宝されます。
資格
システムエンジニアは持っている知識をどのように活用できるかが重要なため、資格そのものの重要性は就職先によって異なります。ただ、情報処理推進機構(IPA)の資格は国家資格であるため、官公庁関係のシステムに携わる場合は基本情報技術者(FE)が必須となるケースがあります。大抵の企業で取得が推奨されている資格といえるでしょう。
「ベンダー系」と呼ばれる特定のサービスに関する資格は、バージョンアップにより変わっていくため、その時点で必要な知識を習得できているかを確認するための位置づけになります。
また、顧客の業界知識をアピールできる資格は重宝されます。金融業界の場合はファイナンシャルプランナー(FP)関係の資格取得を推奨される企業もあります。
具体的な学習方法は?
学習の大まかな流れ
システムエンジニアになるためには、どのような学習が必要でしょうか。 特にシステムエンジニアが多く所属する、SI(システムインテグレーター)企業の学習例を紹介します。
プログラミングの基本的な知識を得る
システムエンジニアになるためには、プログラマの業務知識が必要なため、プログラミング言語の学習を行います。
プログラミング言語はいくつもあり、実際に開発で使用する言語も一定とは限りませんが、プログラミングの基礎を学ぶのであれば、古くから使われている言語を継承し、新しい言語で多く使われるオブジェクト指向を持つJavaがおすすめです。
コンピューターサイエンスを学ぶ
プログラムがどのように動いているのか、パソコンがどのようにネットワーク通信を行っているのかなどの、コンピューターの基本を学びます。
システム障害が発生したとき、原因を探るために使うこともあり、工程の上流になればなるほど重要性が増してくる知識です。
システム開発の基礎的な事項を学習する
システム開発についての基本知識を学習します。
情報処理試験など資格試験の学習で体系的に学べるため、試験勉強の一環として学習することがおすすめです。
学習におすすめの書籍、サイト
システムエンジニアとして働くにあたり、事前に業界に特化した学習をすることは難しいです。
まずは基礎的な部分である「システム開発」について学習することが第一歩になります。初心者におすすめの書籍やサイトを紹介します。
スッキリわかるJava入門 第3版 (スッキリわかる入門シリーズ)
プログラミング初心者でもわかりやすく、丁寧な解説に定評のある書籍です。プログラミングの勉強から始めるのであれば、基礎的な知識を身に付けるのに有用な一冊です。
・スッキリわかるJava入門 第3版 (スッキリわかる入門シリーズ)
マンガで分かる Java入門講座
初学者の「なんとなく難しいかも」というハードルを下げる、漫画形式の入門講座です。全部で832ページというかなりのボリュームですが、全て無料で見られます。
プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書
プログラミングの知識だけでなく、ITエンジニアとしてJavaを使う上で大事な知識も身に付けることが可能な一冊です。
システムエンジニアの多くの現場ではJavaを使用しているため、この書籍を利用して開発業務に近い知識を獲得できます。
・プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書
情報処理教科書 出るとこだけ!基本情報技術者 テキスト&問題集 [科目A][科目B]2023年版
プログラミングの知識だけでなく、ITエンジニアとしてJavaを使う上で大事な知識も身に付けることが可能な一冊です。
システムエンジニアの多くの現場ではJavaを使用しているため、この書籍を利用して開発業務に近い知識を獲得できます。
・情報処理教科書 出るとこだけ!基本情報技術者 テキスト&問題集
企業によって働き方は変わる?
システムエンジニアは、就職する企業によって働き方がまったく異なります。
また、同じ企業であっても、顧客となる企業の職種や企業風土によっても変わってきます。多くのシステムエンジニアが働くSI企業ですが、SI企業も主に3種類に分類されており、種類によって主となる顧客が変わってきます。
メーカー系
ハードウエアや情報通信関係の親会社を持つSI企業です。親会社や関連企業のシステムを受注することが多いですが、親会社のハードウエアを含めた大規模システムの提案を得意としているため、外部企業の開発を行うこともあります。
ユーザー系
IT関係ではない業種の親会社を持つSI企業です。親会社の業種に対する知識が要求されますが、そのノウハウを生かして外部企業の開発案件に携わることもあります。
ユーザー系
IT関係ではない業種の親会社を持つSI企業です。親会社の業種に対する知識が要求されますが、そのノウハウを生かして外部企業の開発案件に携わることもあります。
独立系
親会社を持たないSI企業です。親会社がないため、業種や使用するハードウエアなどの制約がなく、関わる業種も多岐にわたります。
企業ごとに得意な業種を持っていることもあり、部署によっては業種の知識も並行して学ぶことになります。
システムエンジニアとして就職できる企業を探すには?
システムエンジニアとして就職する場合、どうやって企業を探せばいいでしょうか。 未経験の場合「未経験OK」で募集をしている企業を調べる必要があります。新卒であれば未経験が前提のため「システムエンジニア 新卒」と検索するのも良いでしょう。
「未経験」といっても「職種未経験」「業界未経験」など、完全未経験を前提としていない場合もありますが、文系出身OKという企業も多く存在します。
応募の際には入社後の研修内容や分からない単語を確認しておくことが重要ですので、条件も含めしっかりチェックしておきましょう。
この記事のまとめ
ここまで解説してきた、システムエンジニアについてのまとめを紹介します。
1. 顧客となる企業のシステムを開発するエンジニア職 2. 業務内容や働き方は、所属する企業や顧客によって異なる 3. 幅広い知識が必要だが、未経験でも採用されやすい
システムエンジニアの業務は多岐にわたるため、想像しにくい部分が多い職種といえます。
「技術に捕らわれずいろいろな仕事をしたい」という方は、システムエンジニアを目指してみてはいかがでしょうか。
先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
エンジニア就活をこれから始める、今まさに選考を受けている皆様へ、このような悩みはないでしょうか?
「総合職やビジネス職ばかりで、エンジニア職の体験談が見つからない」「内定を獲得した先輩が、どんな開発経験を積んでいたのか/どんな対策をしていたのか知りたい」
こういった悩みをお持ちの方に向けて、エンジニア職特化の就活サイト、「ONE CAREER for Engineer」をリリースいたしました!
▼ONE CAREER for Engineerエンジニアや技術職の就活・選考体験談を探す ※選考体験談の閲覧には、別途会員登録が必要です。
ONE CAREER for Engineerではどんなことができる?
1. エンジニア特化の選考体験談が見られる!
エンジニア人気企業を中心に、先輩のESや選考体験談を公開中です。
エンジニア就活ならではといえる、「コーディングテスト」の体験談も多数公開しています!
2. 登録いただいたプロフィール情報をもとにポートフォリオを自動生成!
「ご自身の技術経験を企業へどう伝えよう……」とお悩みの方は、こちらの機能をご活用ください!
3. エンジニア職の選考体験談投稿で謝礼(Amazon ギフト券)をもらえる!
ご自身の選考の体験談をご登録いただくことで、謝礼(Amazonギフト券)をプレゼントしております!
エンジニア就活をこれから始める方、選考対策にお困りの方は、ぜひこの機会にご登録をお待ちしております!
(Photo:LanKogal/Shutterstock.com)