SE(システムエンジニア)とは?概要、仕事内容を解説
プログラミングジャパンプログラミングジャパン

皆さんはSE(システムエンジニア)というお仕事をご存じでしょうか。

最近は小学校でもプログラミングの授業が始まりましたね。

専門の塾できたりと、世間一般でも認知度・興味が高まりつつある職種です。

この記事を読んでいただくと、「SEとは一体どんなお仕事なのか?」が分かります。



SE(システムエンジニア)とは?SEの概要

SEとは「システムを設計し、作り、運用(継続的にシステムが使われるようサポート)するお仕事」です。

※プログラミング、というのはシステムを「作る」時の作業です。

具体的な例を挙げましょう。

まず、お客様から家計簿アプリ(家計簿のシステム)を作ってよ、というお仕事を依頼されました。

SEがすること

  1. 打ち合わせ‥(入力項目など)
  2. 打ち合わせを元にした設計図を作成‥(画面デザインや内部データの格納など)
  3. 設計図に合わせ、システムを作る(プログラミング)
  4. 動作テスト
  5. アプリ完成・配信
  6. システムの監視・サポート

というようなことを個人で請負ったり、会社のチームで行うのが基本的なSEのお仕事です。

※ここでいうシステムとはコンピュータで制御するさまざまな仕組み全般のことを言います。
プログラマー志望者プログラマー志望者

Q .システムには、どんなものがあるんですか?

エンジニアエンジニア

A.例えばこんなものです。

  • スマホアプリ
  • ネットショップのWebサイト
  • 職場で使う様々なソフトウェア
  • 携帯電話やデジタルテレビなど身近な家電製品
  • 果ては工場の生産設備や医療機器といった企業内で使われる専門的なもの

一言でSEと言ってもさまざまな種類があります。

例えば、

  • 「Webサイト開発」のSE
  • 「組込み、IoT」のSE
  • 「業務用システム」のSEなどなど‥。
    何を作るかによって、必要なスキルも違いますし、進め方にも特徴があります。



    SE(システムエンジニア)の定義

    SEの定義とは、「システム開発における設計・開発・運用保守までを総合的に行う職種」

    厚労省によるとIT業界の現場ではシステムを作る作業(プログラミング)からテスト・運用保守までを行う事がほとんどです。

    エンジニアエンジニア

    全体の設計者が作成、動作テストの部分まで把握していなければ良い設計・計画はできませんね。

    それため、SEは「何でも屋」と呼ばれることがあります。

    言い換えると、それだけ広範囲な知識・技術が必要で、オールマイティーに仕事をこなすことが求められる職種ということでしょう。

    メインとなる設計業務だけ幅広い知識が必要になります。
    エンジニアエンジニア

    例えば

    • 医療用のシステムならば医療に関する知識
    • 建築に関するシステムならば建築の知識など

    開発するシステムに合わせた知識が必要です。

    現場を踏まえたうえで設計しなければならない場合もあります。

    また、ヒアリング力も重要な鍵です。

    打ち合わせでは、お客様が本当に実現して欲しい機能をしっかりとヒアリングしなければいけません。

    どんな人が使うのかも、きちんと把握する必要もあります。

    良いシステムが作れるかどうかのカギは、SEが握ると言ってもいいでしょう。

    ※厚生省ホームページより抜粋(https://www.mhlw.go.jp/general/seido/roudou/senmon/a2.html

    システムエンジニアに要求される能力

    ここまで読んで、なかなか大変な仕事だな…と感じられたでしょう。

    しかし、それでもSEになってやる!という夢を持つあなたの為に‥。

    目指せ!SEへの道!

    SEになるために磨くべきスキル4つをご紹介していきます。

    1.プログラミングなどの知識・技術

    やはり大前提として、設計業務をする上でシステム作成における知識は持っておくべきでしょう。

    プログラミング及び関連するITの知識・技術は不可欠です。

    自分でプログラミング(システム作成)をするならば不可欠のスキルです。

    プログラミング学習者プログラミング学習者

    プログラミングスキルが不十分だと‥?

    エンジニアエンジニア

    プログラミング担当の別の人に作ってもらう場合でも「なぜこんな作れないような無茶な設計にしたんだ…?」という恨みを買ってしまいますよ!

    2.ヒアリング能力

    依頼主であるお客様(クライアントという言葉をよく使います)からどんなシステムを作って欲しいのか、を聞き取らなければいけません。

    ヒアリングを疎かにしてはいけません。

    これ、実は簡単なことではないのです。

    こんな風刺画をご存知でしょうか?

    これは「顧客が本当に必要だったもの」という風刺画です。

    顧客が説明した要件(クライアントの作って欲しいシステムの説明)は‥

    1. 「木の枝に2本のロープで繋がれている」
    2. 「ロープの下には腰掛けるためのものが付いている」

    木の枝が3枚も付いていて、機能過剰なことが伺えます。

    • その後、プロジェクトリーダー、アナリスト、プログラマーと関わる人が増えます。
    • しかし、コミュニケーション・説明不足やそれぞれの立場への不理解から最初の要望とは到底かけ離れたものになっていきます。
    • 最終的にできあがった「実装された運用」はロープが木にぶら下がったもの‥。
    エンジニアエンジニア

    顧客の要望に応えられていると言えるでしょうか?

    顧客の要望はシンプルに「木にぶら下がって遊べる遊具が欲しい」ということを最初のヒアリングで読み取れなかったことがわかりますね。

    「顧客が本当に必要だったもの」はタイヤをロープで木に括り付ける、というそれだけのシンプルな設計で事足りたのです。

    ★このイラストが表すのは開発現場でよく問題となる点

    • クライアントの本当に望む機能、要望を読み取れなかったという現場の問題
    • クライアントも本当に必要な機能というものをわかっていなかったという顧客の問題

    絵で見ると面白いですが、現実でこれが起こると誰も幸せになれません。

    これは、いかにクライアントからの要望を正しく聞くことが難しいか、SEのヒアリング能力が大事か、ということでしょう。

    クライアントが制作側の立場、プログラミングの知識・技術に詳しいとは限りません。

    そのため、SEのヒアリング能力はなり重要になります。
    • システムで何がしたいのか、ということをSEは正確に捉えなければなりません。
    • 予算・技術内で顧客の要望に見合うものを提案していかなければなりません。

    この能力以外のほか3つも大事です。

    しかし、クライアントの要望にあったシステムを作る、というのが最終目的。

    本質からしてこのヒアリング能力こそがSEにとって一番大事とも言えるのではないでしょうか。

    出典:https://www.casleyconsulting.co.jp/blog/engineer/4334/ 

    3.コミュニケーション能力

    SEは、大勢の人と変わりあいを持つことが多いです。

    そのため、コミュニケーション能力も必要です。

    • 設計したものをきちんと作ってもらえるようプログラム担当の方に的確な指示を出さなければいけません。
    エンジニアエンジニア

    システムの開発にはチーム・複数人で行うことが多いので、コミュニケーション能力というものが問われる場面も多いです。

    • クライアントへの説明・提案も行う必要があります。
    エンジニアエンジニア

    先ほどの風刺画は、きちんとコミュニケーション(聞き取り)をとり、顧客の要望を汲み取っていれば防げたことです

    SEは顧客の要望を実現するためにも必要不可欠

    4.マネジメント能力

    SEにはスケジュール管理も付き物です。

    システム開発はチーム戦となることが多いです。

    マネジメント能力も必要です。

    マネジメント力とは?

    • 方針を決める
    • 管理する
    • 評価するなど管理する力。

    例えば‥

    システム開発には何日までに完成させなければいけない、という納期がありますね。

    納期に向かって、進捗状況などを確認し、微調整しながら見通しを立てていくのがマネジメントです。

    現場が「デスマーチ」にならないように、きちんと、方針を決め、管理するのがマネジメント能力と考えてください。

    プログラマー志望者プログラマー志望者

    デスマーチって?

    エンジニアエンジニア

    納期間近なのに完成の見通しが立っていない‥!

    必要な予算が無く管理や統制が行われていない‥!

    など、現場が疲弊・混乱する現象をのこと。

    こうなると皆涙目です。

    エンジニアエンジニア

    起こりうる原因として、SEが計画段階で甘い見積もりをしていたから、なんて事もあったりします。

    もちろん原因の10割がSEである、というわけではありません。

    システム開発はチーム戦となることが多いですから、マネジメント能力も必要となるでしょう。



    システムエンジニアを目指す方法

    目指せ!SEへの道!具体的な方法編です。

    上で挙げた4つのスキルのうち、体系的に学ぶ、というのはプログラミングスキルがメインとなります。

    専門学校や大学でスキルを習得する

    実力本位の世界なので学歴は関係ない、と言われるIT業界。

    しかし、あなたがSEになりたい高校生であるならば次の進路がおすすめです

    • 情報工学・電気工学・電子工学などが専攻できる大学
    • 専門学校

    ただし、大学の場合はシステムエンジニアに特化した学部は少ないです。

    もっと効率よく専門知識だけを学びたいという方は専門学校を選びましょう。

    専門学校だと、資格取得や就職先など、より強力なサポートを得られるでしょう。

    未経験で就職、転職し、研修でスキルを習得

    未経験でもOK、という求人も多くあります。

    もちろん、文系の学校を卒業していてもOKです。

    研修、もしくは仕事をしながらスキルを習得するという方法もあります。

    現状、一般的に20~35歳までが未経験でもIT業界に転職可能と言われています。

    もし転職を考えている場合は‥?

    • 卒業から3年以内である第二新卒の方は速攻動いた方が良いでしょう。
    • 卒業から3年以上経っている方はスクールなどでプログラミングスキルを身に着けてから転職した方が無難でリスクは低いです。
    エンジニアエンジニア

    スクールでプログラミングスキル学びましょう。

    そうした方が、転職の際のリスクが低くてすみますよ。

    スクールや独学でスキルを習得し就職・転職

    就職・転職には未経験だと年齢によってハンデがあります。

    しかし、未経験でも独学でパソコンを勉強し、iPhoneアプリを開発している80代の方もいます!

    https://iphone-mania.jp/news-159604/

    https://style.nikkei.com/article/DGXMZO37707280T11C18A1000000/

    技術さえ習得してしまえば、年齢や経歴も関係なく活躍している方もいる

    自分に合った方法で技術を身につけましょう。

    独学の場合のメリットデメリット

    メリット

    • 自分のペースで自由に学べる

    デメリット

    • 効率の良い勉強方法がわからず、時間をロスしてしまう

    何から手を付けてよいかわからない、という方は、資格の取得を目標とするのも良いでしょう。

    資格は保有することで、その分野への意欲や基礎知識がある、と企業側に見られて転職に有利になることがあります。

    しかし、実践的な面ではイマイチ‥。

    そのため、それ一つだけにこだわるのは得策ではありません。

    スクールの無料体験を活用するのも一つの手です。

    スクールでは企業と連携しているところもあります。

    就職のサポートを受けることも可能です。

    転職を考えている、かつ時間の無い方には一番オススメです。

    SEの求人、年収について、気になる方はコチラの記事へ
    SEになる上で、取っておきたい資格についてはコチラの記事へ

    SE(システムエンジニア)の仕事内容

    SEについてのイメージが湧いてきましたか?

    さらに具体的な仕事内容を専門的な用語を説明しながらご紹介しましょう。

    システム開発の流れはさまざまです。

    以下、最もポピュラーなウォーターフォールモデルという流れ(順番に一つ一つこなしていくやり方)に沿っての説明です。

    エンジニアエンジニア

    難しい言葉が多くてげんなりしますが、基本は設計・作成・テスト・運用の流れです。

    あまりお堅いイメージを持たずに、自分がSEになった妄想をしながら読んでみてくださいね。

    要求分析

    クライアント(依頼主のお客様)が何を作って欲しいのか、ということをヒアリングします。

    エンジニアエンジニア

    何作ろうか?という打ち合わせ&聞き込みですね。

    システムを使う現場の人や関係者からもよく意見を聞き、本当にクライアントが求めているものを分析します。

    要件定義

    分析した内容をもとに、どんなシステムにしようか、という概要を決めます。

    • どんな要素を盛り込みたいか?
    • 予算
    • 何人で作るか
    • いつまでに作るなどを決めます。

    基本設計(外部設計)

    システムを使う人が見える部分の設計を行います。

    システムを使う人が見える部分をユーザーインターフェースと言います。

    • 見える画面はどんな風にするのか?
    • 操作方法はどんな風にするのか?

    などを設計します。

    詳細設計(内部設計)

    システム作成(プログラミング)のための細かな設定を行います。

    基本(外部)設計は使う人側からの視点でしたが、今回は開発者側からの視点で設計します。

    プログラミング

    詳細設計をもとに、プログラムの作成を行います。

    プログラマーに依頼することもあれば、SE自ら担当することもあります。

    テスト

    作ったシステムが不具合なく動くかどうか確認します。

    運用・保守

    作ったものをクライアントに納品します。

    配信した後、問題なく使ってもらえるようバージョンアップも必要ですね。

    問題が起きたら対処をしていきます。

    エンジニアエンジニア

    作った後のサポートというわけですね。

    SE(システムエンジニア)仕事内容の評判

    未経験である場合、やはり実際に働くとどうなのか、という生の声が気になりますね。

    また、何より自分もやっていけるだろうか、という不安が付きまといます

    その2点をピックアップしてみました。

    システムエンジニアはきつい仕事なのか

    きついかどうか、といった答えにすぐに白か黒かを出すことはできません。

    同じ仕事でも、人によって楽に感じる事、キツイと思う事は人それぞれですね。

    ただ、SEを未経験から始めてキツイと感じる場合の原因は、2パターンに分かれます。

    会社の勤務形態がブラックである

    エンジニアエンジニア

    断言します。

    これは、SEのお仕事=ブラックということではありません!

    選んだ会社の勤務形態=ブラックだったということです。

    プログラミング学習者プログラミング学習者

    よくIT業界は新3Kと言われていますよね?

    新3Kとは?

    • きつい
    • 帰れない
    • 給料が安い
    エンジニアエンジニア

    確かに、納期が近いのに進捗が遅れていて残業する、という事も度々あったりします。

    しかし、他の仕事でも繁忙期はありますし、他の業界でもホワイト企業、ブラック企業は存在します。

    IT業界でも忙しい時はあるし、一定数待遇の悪い会社も存在するというだけです。

    ブラック企業云々はどの業界にも言えることです。

    決して、IT業界だけが待遇が悪いといった問題では無いのです。

    ★SEは働き方が選べます。

    • 独立フリーランスといった道もあります。
    • 会社によりますがテレワークによる在宅勤務がしやすい職種です。

    働き方の選択肢が多くありますね。

    もし就職してからきついと感じるのであれば、働き方を変えてみるというのも良いでしょう。

    プログラミング技術の習得が上手くいかず、ツラいと感じる

    これを回避するにためには、スクールでプログラミングを学びましょう

    いきなり未経験から就職・転職をするのはおすすめできません。
    エンジニアエンジニア

    未経験でプログラマーになった私が失敗から学んだオススメの方法です。

    IT業界入りたてだった頃に困ったこと

    用語の定義が人や会社、現場によって微妙に使い方が違っていて混乱したことです。

    エンジニアエンジニア

    カタカナ・アルファベットの略語がこの業界多いです。

    覚えて慣れさえすればどういうニュアンスで言っているのかわかるようになってきます。

    そのためにも、スクールなど対面でIT知識を学ぶ事で現場のような雰囲気を感じるというのがオススメです。

    文系出身でもできるか

    全く問題ありません!

    むしろ文系の能力がプログラミングには必要、といった意見を聞いたことがあるほどです。

    プログラムも、ぱっと見アルファベットや数字のわけのわからない羅列に見えます。

    しかし、その「わけのわからない羅列」はコンピュータに指示を出すためのコンピュータの言葉です。

    SEは文系・理系といったところとはあまり関係がありません。

    重要なのは、ヒアリング能力やコミュニケーション能力

    そのため、文系か理系化などは気にすることはありません。

    文系だろうが理系だろうが子供だろうがお年寄りだろうが男の人であろうが女の人であろうが、すべての人に挑戦するチャンスがあるのがSEです。

    まとめ

    SEという仕事について、少しでも身近に感じて頂けたでしょうか。

    SEになりたい、と思っているのであれば、道はそう遠くはありません。

    まずはプログラミングスキルを身に着けること。

    今ホットなのは一人一台といっても過言ではないほどの普及率を誇るスマートフォンのアプリ開発でしょうか。

    スマホアプリ開発に特化したプログラミングジャパンでは、無料体験を行っています。

    無料体験では現役システムエンジニアとお話できます。

    エンジニアエンジニア

    より具体的なイメージが湧くこと間違いなしですよ!

    大事なのははじめの一歩を踏み出す勇気です!

    プログラミングジャパンとは

    プログラミングジャパンは日本初の「スマホアプリ開発」専門のプログラミングスクールです。
    スマホアプリ開発企業と直接提携
    することによって他のスクールにはない
    『スマホアプリエンジニア』としてのキャリアを最短2ヶ月で築くことが出来ます。