皆さんはSE(システムエンジニア)というお仕事をご存じでしょうか。
最近は小学校でもプログラミングの授業が始まりましたね。
専門の塾できたりと、世間一般でも認知度・興味が高まりつつある職種です。
この記事を読んでいただくと、「SEとは一体どんなお仕事なのか?」が分かります。
目次
SE(システムエンジニア)とは?SEの概要
SEとは「システムを設計し、作り、運用(継続的にシステムが使われるようサポート)するお仕事」です。
※プログラミング、というのはシステムを「作る」時の作業です。
具体的な例を挙げましょう。
まず、お客様から家計簿アプリ(家計簿のシステム)を作ってよ、というお仕事を依頼されました。
SEがすること
- 打ち合わせ‥(入力項目など)
- 打ち合わせを元にした設計図を作成‥(画面デザインや内部データの格納など)
- 設計図に合わせ、システムを作る(プログラミング)
- 動作テスト
- アプリ完成・配信
- システムの監視・サポート
というようなことを個人で請負ったり、会社のチームで行うのが基本的なSEのお仕事です。
Q .システムには、どんなものがあるんですか?
A.例えばこんなものです。
- スマホアプリ
- ネットショップのWebサイト
- 職場で使う様々なソフトウェア
- 携帯電話やデジタルテレビなど身近な家電製品
- 果ては工場の生産設備や医療機器といった企業内で使われる専門的なもの
一言でSEと言ってもさまざまな種類があります。
例えば、
- 「Webサイト開発」のSE
- 「組込み、IoT」のSE
- 「業務用システム」のSEなどなど‥。
SE(システムエンジニア)の定義
SEの定義とは、「システム開発における設計・開発・運用保守までを総合的に行う職種」です。
厚労省によるとIT業界の現場ではシステムを作る作業(プログラミング)からテスト・運用保守までを行う事がほとんどです。
全体の設計者が作成、動作テストの部分まで把握していなければ良い設計・計画はできませんね。
それため、SEは「何でも屋」と呼ばれることがあります。
言い換えると、それだけ広範囲な知識・技術が必要で、オールマイティーに仕事をこなすことが求められる職種ということでしょう。
例えば
- 医療用のシステムならば医療に関する知識
- 建築に関するシステムならば建築の知識など
開発するシステムに合わせた知識が必要です。
現場を踏まえたうえで設計しなければならない場合もあります。
打ち合わせでは、お客様が本当に実現して欲しい機能をしっかりとヒアリングしなければいけません。
どんな人が使うのかも、きちんと把握する必要もあります。
※厚生省ホームページより抜粋(https://www.mhlw.go.jp/general/seido/roudou/senmon/a2.html)
システムエンジニアに要求される能力
ここまで読んで、なかなか大変な仕事だな…と感じられたでしょう。
しかし、それでもSEになってやる!という夢を持つあなたの為に‥。
目指せ!SEへの道!
SEになるために磨くべきスキル4つをご紹介していきます。
1.プログラミングなどの知識・技術
やはり大前提として、設計業務をする上でシステム作成における知識は持っておくべきでしょう。
自分でプログラミング(システム作成)をするならば不可欠のスキルです。
プログラミングスキルが不十分だとどうなりますか?
プログラミング担当の別の人に作ってもらう場合でも「なぜこんな作れないような無茶な設計にしたんだ…?」という恨みを買ってしまいますよ!
2.ヒアリング能力
依頼主であるお客様(クライアントという言葉をよく使います)からどんなシステムを作って欲しいのか、を聞き取らなければいけません。
これ、実は簡単なことではないのです。
こんな風刺画をご存知でしょうか?
これは「顧客が本当に必要だったもの」という風刺画です。
顧客が説明した要件(クライアントの作って欲しいシステムの説明)は‥
- 「木の枝に2本のロープで繋がれている」
- 「ロープの下には腰掛けるためのものが付いている」
木の枝が3枚も付いていて、機能過剰なことが伺えます。
- その後、プロジェクトリーダー、アナリスト、プログラマーと関わる人が増えます。
- しかし、コミュニケーション・説明不足やそれぞれの立場への不理解から最初の要望とは到底かけ離れたものになっていきます。
- 最終的にできあがった「実装された運用」はロープが木にぶら下がったもの‥。
これで、顧客の要望に応えられていると言えるでしょうか?
「顧客が本当に必要だったもの」はタイヤをロープで木に括り付ける、というそれだけのシンプルな設計で事足りたのです。
このイラストが表すのは開発現場でよく問題となる点
- クライアントの本当に望む機能、要望を読み取れなかったという現場の問題
- クライアントも本当に必要な機能というものをわかっていなかったという顧客の問題
絵で見ると面白いですが、現実でこれが起こると誰も幸せになれません。
クライアントが制作側の立場、プログラミングの知識・技術に詳しいとは限りません。
- システムで何がしたいのか、ということをSEは正確に捉えなければなりません。
- 予算・技術内で顧客の要望に見合うものを提案していかなければなりません。
この能力以外のほか3つも大事です。
しかし、クライアントの要望にあったシステムを作る、というのが最終目的。
出典:https://www.casleyconsulting.co.jp/blog/engineer/4334/
3.コミュニケーション能力
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業界でも忙しい時はあるし、一定数待遇の悪い会社も存在するというだけです。
ブラック企業云々はどの業界にも言えることです。
SEは働き方が選べます。
- 独立やフリーランスといった道もあります。
- 会社によりますがテレワークによる在宅勤務がしやすい職種です。
働き方の選択肢が多くありますね。
もし就職してからきついと感じるのであれば、働き方を変えてみるというのも良いでしょう。
プログラミング技術の習得が上手くいかず、ツラいと感じる
これを回避するにためには、スクールでプログラミングを学びましょう。
未経験でプログラマーになった私が失敗から学んだオススメの方法です。
IT業界入りたてだった頃に困ったことは、用語の定義が人や会社、現場によって微妙に使い方が違っているということです。
混乱しました。
カタカナ・アルファベットの略語がこの業界多いです。
覚えて慣れさえすればどういうニュアンスで言っているのかわかるようになってきます。
そのためにも、スクールなど対面でIT知識を学ぶ事で現場のような雰囲気を感じるというのがオススメです。
文系出身でもできるか
全く問題ありません!
むしろ文系の能力がプログラミングには必要、といった意見を聞いたことがあるほどです。
プログラムも、ぱっと見アルファベットや数字のわけのわからない羅列に見えます。
しかし、その「わけのわからない羅列」はコンピュータに指示を出すためのコンピュータの言葉です。
SEは文系・理系といったところとはあまり関係がありません。
そのため、文系か理系化などは気にすることはありません。
文系だろうが理系だろうが子供だろうがお年寄りだろうが男の人であろうが女の人であろうが、すべての人に挑戦するチャンスがあるのがSEです。
まとめ
SEという仕事について、少しでも身近に感じて頂けたでしょうか。
SEになりたい、と思っているのであれば、道はそう遠くはありません。
今ホットなのは一人一台といっても過言ではないほどの普及率を誇るスマートフォンのアプリ開発でしょうか。
無料体験では現役システムエンジニアとお話できます。
より具体的なイメージが湧くこと間違いなしですよ!
大事なのははじめの一歩を踏み出す勇気です!
プログラミングジャパンとは
プログラミングジャパンは日本初の「スマホアプリ開発」専門のプログラミングスクールです。
スマホアプリ開発企業と直接提携することによって他のスクールにはない
『スマホアプリエンジニア』としてのキャリアを最短2ヶ月で築くことが出来ます。