SE(システムエンジニア)の仕事内容を正しく理解しよう!
- IT業界に興味がある方!
- 就職、転職活動をしている方!
- SE(システムエンジニア)を目指したい方!
- SE以外にもIT業界にどんな職業があるのか知りたい方!
IT業界では慢性的に人材が不足している状態であり、この先更にIT技術者の不足が顕著になると言われています。それに伴い、IT技術者の需要は非常に高く、求人も非常に多く出ている程、人気な業界の1つです。
IT業界に代表される職業にSE(システムエンジニア)がありますが、皆さん、SE(システムエンジニア)の仕事がどのような仕事なのか、理解できているでしょうか?
このページを見ると、SEの仕事内容について、日常生活の具体例を見ながら分かりやすく理解を深めることができます。SEに就職や転職を考えている方や、IT業界の仕事に興味を持っている方には特におすすめです!
すでにSEとして活躍している方も、お子さんや学生の方に説明する際に参考にしてみてください!
SEってこんな仕事
まずは、ざっくり説明
- 主にPCを使ってプログラミングや設計書などの資料作成が仕事です
- 筋力が求められるような力仕事では無い!
- 指先の器用さが求められる繊細な手作業では無い!
SE(システムエンジニア)の仕事は、その名の通りシステムを作るお仕事です。
ではシステムとは、どのようなものでしょうか?改めて理解しておきましょう。
システムとは、例えば、銀行のATMであったり、駅の自動改札など、機器本体(ハードウェアと言います)も含めた全体構造を指すこともあれば、スマホアプリやWebページなどの、サービス(ソフトウェアと言います)を指すこともあります。
どれもSEの仕事に関わるシステムですが、前者の場合は、ATMや改札機本体を作るのではなく、どのように動作するかの仕組みを作るイメージを持っていただければと思います。絵にすると以下のイメージです。
パソコンを使って作業している姿です。主にパソコン上で作業し、プログラミンや設計書などの資料作成が仕事内容です!
誤ったイメージはコンピューターの組み立てをする姿ですが、SEはハンダ付けや部品の組み立てなどの機械本体を作る作業はしません!
「プログラム」は一般的な意味と相違ありません。運動会などイベントのプログラムと同様に、システムにも何時からこの動作、次はこれ、その次はこれと、決まった動きを記録したものがシステムのプログラムです。
ここまでプログラミングの説明を詳しくしましたが、SEの仕事はプログラミングに限りませんので、この辺りはもう少し詳しく説明していきます!
SEの仕事は筋力が求められるような力仕事では無いこと。指先の器用さが求められる繊細な手作業では無いことを理解いただければ大丈夫です。
具体例_その1(実体があるシステム)
もう少し具体的な例を挙げます。
先ほど、ざっくり説明の中で挙げたATMや駅の改札もSEの仕事の範囲ですよという説明をしましたが、機械を作る訳で無いならどこがSEの仕事なのか?について、例を挙げて補足します。
※あくまでイメージです。実際はもっと複雑な構造になってます!
駅の自動改札の場合
交通系のICカードを利用していると、残高不足で通れなかった経験ありませんか?この動作をシステムの処理に置き換えてみましょう。
- 何かICカードがタッチされたぞ!
- これは交通系のICカードかな?違うなら通さない!
- 残高は不足していないかな?不足していたら通さない!
- 通って良し!残高から運賃引いておくね!
このように、1つ1つ順番に処理し、何か問題があればゲートを閉じるようにシステムで改札ゲートに指示している訳ですが、この指示を送るときの条件であったり、どのような順序で処理するかの仕組みであったりを作っているのがSEのお仕事になります。
銀行ATMの場合
ATMには入金や出金、振り込みなど様々な取引メニューがあります。ATMはお客様が選択した通りに正しく取引を実行させるためのシステムが備わっています。例として、出金時にシステムがどのように動くのか考えてみましょう。
- メニューから「お引き出し」が選択された!お金を出せば良いんだね!
- 金額は5万が入力されているね!
- 「一部両替」が選択されているね!
- では、1万円札4枚と、千円札10枚をお受け取りください!
このように、人が画面で入力した内容をシステム側に正確に伝えて、指示通りの取引を実行するシステムが備わっており、画面の入力方法(メニュー選択、数字入力、チェックボックスなど)や、入力された情報を機械に伝える仕組みを開発するところがSEの仕事範囲です。
具体例_その2(実体が無いシステム)
今度は、スマホアプリやWebページなどの、物理的な実体が無いものについて考えてみましょう。まず、アプリの場合は分かりやすく、アプリそのものを作ることが仕事になります。
次にWebページですが、作るものはWebページに限りません。ショッピングサイトを例に考えてみましょう。今やネットショッピングが当たり前の社会ですが、私たちが「ポチった」際に、どんなことが起きているのでしょうか。
まず、お客様がWebページからポチっと購入された時、購入された商品の在庫情報や配送先などのユーザー情報を適切に管理し処理する必要があります。
このような仕組みをクライアントサーバーシステムと言ったりしますが、お客様(クライアント)が操作するWebページと、Webページから入力された情報を元にお店側(サーバ)で処理するシステムも合わせて1つのシステムという考え方です。
ここで理解いただきたいのは、SEの仕事範囲として、お客様がショッピングの際に見ているWebページだけでなく、お店側(サーバ)のシステム開発も含まれるということです。
システム開発の過程とSEの役割
ここまでで、SEはシステムを作る仕事ということが分かったかと思います。ここからは、システムが作られるまでの過程と、その中でSEが担う範囲について説明します。
SEの仕事は開発段階(工程)によって仕事内容が変化する職業ですので、工程毎の仕事内容について理解していきましょう。
システム開発の過程(開発工程)
SEの仕事イメージとして、プログラミングの印象が強いかもしれませんが、むしろ他の作業の方が多かったりします。
お客様がどんなシステムが欲しいと考えているのかヒアリングすることから始まり、綿密な設計、十分な試験(検証)など、実際に作る作業(プログラミング)以外にも多くの工程が必要です。
完成までの過程やスピード感は、家を建てる時をイメージしてみてください。小さな家だと
まず、どんな家(システム)を作りたいのか、お客様との打ち合わせを通してヒアリングすることもSEの重要な仕事です。この工程を「要件定義」と言います。作った後に「欲しかったものと違う!」となっては困りますからね…
次に「設計」ですが、お客様が作りたいものに対して、どうやって実現するかを検討する工程です。作れますと言っておいて、「無理でした!」とならないように、知識のある専門家が設計します。この専門家に当たる役割がSEです。家の建設だと建築家のイメージです。
設計が完成したら、いよいよ「製造」工程です。設計図通りに作ることが大切です。作る作業ももちろんSEの業務範囲です。プログラミングは製造工程に行う作業で、これを専門としている人を「プログラマー」と呼びます。※SEとの違いは、後で詳しく説明します。
最後に「試験」ですが、作ったものに不具合が無いか、耐久性に問題が無いか等を確認する工程です。
システム実際に操作してみて、正常に動作するか、セキュリティに問題無いか、想定量のアクセス数に耐えることが可能か等を確認します。家を確認する際も、電気水道ガスが問題無く使えるか、ドア等の建付けに問題無いか、色々確認しますよね。
SEの役割
結論から言うと、SEは全ての工程に関与する職種になります。ただし、全ての工程作業を担う訳ではありませんので、その点について説明します。
建築業にも、建築士、大工、左官、配線工などなど、各分野の専門家がいるように、IT業界においても各分野に専門家います。システム開発は、各分野の専門家が集まり協力しながらプロジェクトを進めることになります。
※他のIT業界職種については次の項目で紹介してます!
その中でも、SEはIT業界の総合職のようなイメージです。各専門職に業務を担当することもあれば、プロジェクトマネージャーやプロジェクトリーダーと言ったマネジメント業務を担うことも多いです。
※プロジェクトマネジメントについては、別のページで詳しく紹介しようと思います
他のIT業界職種との違いは?
IT業界にはSEだけでなく、様々な職業があります。
他の職業との違いを理解しながらSEの理解を深めていきましょう!
ここまでで、SEの仕事がなんとなく分かっていただけたかと思います。ここからは他のIT関連職との違いについて説明します。
SEの業務は非常に幅広く、中にはこれから紹介する職業に近い形で仕事をしているSEの方もいるかもしれませんが、厳密に言うと違う職種になりますので、違いを理解しながらSEの理解を深めていただければと思います。
プログラマー
- プログラマーはプログラミングを専門とする技術職!
- SEはプログラマーと比べてコミュニケーション能力が必要となる!
SEとよく混同される職種No1ではないでしょうか。
SEになったつもりがプログラマーになってしまった。逆にプログラマーのはずなのに、やっていることはSEと変わらないじゃん。という方も多いのではないでしょうか。
SEの業務は非常に幅広いとお伝えしましたが、その中にはプログラミング業務も含まれる訳で、立場は違えど同じ業務をしている場合もあります。言うならば、SEはIT業界の総合職。プログラマーはプログラミングを専門とする技術職といった形です。
大きな違いとしては、SEの方が顧客と接することが多く、コミュニケーション能力が必要である点です。プログラミング(製造工程)をメインで担当する場合でも、ただ黙々とプログラミングを進める訳で無く、顧客との仕様調整やレビュー対応、進捗や品質報告など、対顧客業務も担うことになります。
WEBデザイナー
- WEBデザイナーはシステムの画面デザインを制作する職種!
- SEは画面操作からどのようなことをシステムにさせるかを検討し開発する!
WEBデザイナーは、WEBサイトやスマホアプリなどの画面デザインをするお仕事です。利用者にとって見やすく興味を持ってくれるデザインや、独自性のあるデザインを考え、制作するところまでが基本的な業務範囲です。
WEBサイトの制作には、「HTML」、「CSS」、「JavaScript」といったプログラミングスキルが必要になりますが、一般的には、システム開発で用いるプログラミング言語に比べて難易度は低く、習得しやすいものになります。
SEとの違いですが、WEBデザイナーがシステムの顔となる画面デザインに特化した職業なのに対し、SEは画面操作からどのような動作をさせるかを検討し、開発することになります。業務範囲のイメージは以下の通りです。SEは画面デザイン以外の全てが範囲となります。
WEBデザイナーは、名前の通りエンジニアでは無くデザイナー職であり、デザインのセンスや美術力が必要となるため、元々そのような専門スキルをお持ちの方でIT業界を目指す方にはWEBデザイナーが良いかもしれません。
UI・UXデザイナー
- UIデザイナーは、使いやすさを考えた画面設計を行う専門家!
- UXデザイナーは、ユーザーの満足度を考えてシステムの全体像を設計する専門家!
- どちらも、ユーザーが快適にサービスを利用できることを目指す職種!
UIデザイナー
UIとは、「User Interface」の略で、ユーザーとシステムをつなぐ接点を指します。
接点(インターフェース)は、ユーザーがシステムに対して行う「インプット」と、システムがユーザーに対して行う「アウトプット」を実現するものです。インプットとアウトプットは「人間の五感」を使って伝える、伝わるものと考えてください。
インターフェースにも様々な形がありますが、UIデザイナーは主に視覚の部分。ユーザーが目にするシステム画面が対象となります。
UIデザイナーはユーザーが快適にシステムを操作できるような画面設計を目指す仕事です。
ユーザーが操作に迷わないボタンの位置や大きさを考えたり、チェックボックスやプルダウンなど最適な入力方法を考えたり、迷子にならない画面遷移を考えたり。スマホやPCに慣れていない人でも使えるような設計を実現させることが大切です。
WEBデザイナーとUIデザイナーが混同してしまうかもしれません。もしかすると最終的に作るものは同じかもしれませんが、考え方の違いがありますのでご注意ください。
WEBデザイナーは見た目を重視し、UIデザイナーは使いやすさを重視して仕事をすることになります。
UXデザイナー
UXとは、「User Experience」の略で、ユーザーがシステムを通して得られる体験を指します。
UXデザイナーはユーザーのシステム満足度を向上させることを目指す仕事です。
システムを使ってみて、期待していたものであったかの満足度だけでなく、使いづらい・遅いなどのストレスは無かったかなど、ユーザーがシステムを利用する中で体験する全ての出来事が対象となります。
例えば、ATMの例だと、操作しやすい「画面」はもちろん、待ちが発生しないような「台数設計」であったり、のぞき見防止の仕切りや後方確認ミラーの設置などの「セキュリティ設計」もユーザー満足度に影響する大切な要素です。
そのため、UIデザイナーよりも広い範囲を担う役割ですが、ITサービスにおいては、UXの大半がシステムと直結している画面(UI)を通して得られるため、「UI・UXデザイナー」とまとめて表現されることも多いです。
ITコンサルタント
- ITコンサルタントは、顧客側の立場で経営をサポートする仕事!
- ITコンサルタントは戦略家、SEは実行役!(実行役側の戦略家でもある)
現代ではDXが推進される流れで、自社でIT導入を実現する体制がある企業も増えていますが、多くの企業はIT導入のサポートを受けることになります。そこで活躍するのがITコンサルタントです。(以下、ITコンサル)
ITコンサルは、ITのプロとして、顧客側の立場で経営をサポートする仕事です。
どの業務をIT化すれば効果があるのか、その費用対効果はどの程度か、どんな手段があるのか。など、経営者目線でIT導入の戦略を立てます。
クラウドサービスなど、他社が提供しているサービスに利用料を払って導入する手段も増加傾向にありますが、自社用にシステム開発する場合もまだまだ多くあります。システム開発が必要な場合は、開発ベンダー(SIerと言います)に委託することになりますが、開発ベンダーと経営陣の仲介役もITコンサルの役目です。
SEは開発側の実行役なのに対し、ITコンサルは顧客側の戦略家です。戦略を立てるためには、当然幅広いIT知識が必要となります。また、SEとの仲介役でもあるため、SE側(開発側)の立場を理解していることも大切です。
逆に、ITコンサルとコミュニケーションを取るSEも同様に、経営側の立場を理解することは、顧客要望に応えるために大切なことです。そのため、SEも開発側の戦略家と言えるでしょう。
まとめ
今回はSEの仕事内容について、日常生活から具体例を出して説明しました。このページを読み終えた段階では、SEの仕事内容の雰囲気だけでも伝わっていれば十分です。
今回お伝えしたかった内容をまとめておきます。
- SEはシステムを作る仕事でデスクワークが中心!
- SEの業務範囲はシステム開発の全工程!マネジメントも含まれる!
- IT業界にはSE以外にも様々な職種があり、役割や得意分野が違う!
- システム開発は、色んな立場の人が集まって1つのシステムを作っていく!
更に具体的な業務内容や、必要スキルなどの踏み込んだ内容については、それぞれ別のページで解説していくので、少しずつ理解を深めて頂ければ嬉しいです。