フリーランスのエンジニア道

フリーランスエンジニアの不安を解消するブログ

システムエンジニアとは?仕事内容・年収・キャリアパスを現役エンジニアが紹介

システムエンジニアとは?

情報システムの設計・開発・テストを主に行う人のことをシステムエンジニアと呼びます。みなさんはシステムエンジニア(SE)は、パソコンの前にずっと座ってコーディングをして、毎日徹夜しているオタクを想像していると思いますが、設計だけを行ってコーディングしない上流だけのシステムエンジニアも居ます。システムの構築は大きく6つの作業に分かれていて、会社や人のスキルによってどの工程を担当するかが変わってきます。

 

システム構築の作業6分類 

  • 要件定義(上流工程)どんなシステムにしようか顧客とすりあわせる
  • 基本設計(上流工程)要望とシステムをすりあわせて何作るか決める
  • 詳細設計(上流工程)作れるように細かいところまで設計する
  • 開発        つくる!
  • テスト       バグをつぶす!
  • 運用保守      落ちないように見守る 

 

このすべての工程を一人で回せるようになれば、システムエンジニアとして一人前といえます。そこに到達するまではだいたい3年〜5年くらいは様々なプロジェクトに入りながら学んでいくことになります。

 

システムエンジニア(Webエンジニア)のキャリアパス

キャリアパスはだいたいプログラマから始まってCTO/CXOまであります。上流工程だけのITゼネコン所属のシステムエンジニアの場合は、プログラマの期間がJava研修だけでいきなりシステムエンジニアとして要件定義や基本設計を作って下請けエンジニアとシステム構築をしていく場合があります。Webエンジニアやアプリエンジニアは基本的に自分で手を動かして、最新のテクノロジーを吸収しながらごりごりコードで問題解決していくスタイルになります。

f:id:kitahashi-ryoichi:20161212161717p:plain

システムエンジニアとプログラマーの違い

プログラマーはシステムエンジニアの前段階のジョブで、主に開発(コーディング)とテストを担当します。「システム構築とは」を学ぶにはとにかく自分で作ってみることというのが業界の慣例なので、文系でも研修のときは歯を食いしばりながらコーディングを学びます。ごくまれにプログラムを作るのだけが好きな人はスーパープログラマーになっちゃうケースもあります。

 

システムエンジニアとWebエンジニアの違い

システムエンジニア/Webエンジニア/アプリエンジニアはキャリア1年目〜10年目くらいまで結構幅広くて、いわゆるソルジャー達です。SIerにいるエンジニアを主にシステムエンジニアと呼び、メルカリとか消費者向けのサービスを作ってるエンジニアをWebエンジニアとかアプリエンジニアと呼びます。根本的に違うのは、顧客が企業か一般消費者かという点で、企業向けのシステムはだいたい5年くらいWebに比べると遅れていると言われていて、開発スピードも全然違います。

 

システムエンジニアが出世すると

出世するとビジネス寄りかテクノロジー寄りかのどちらかを選択しなければいけません。マネジャーを選べばビジネスサイドとチームマネジメントを考えないといけなくなり、SIerの場合は毎日ミーティング地獄というおまけが付いて来ます(笑)プロジェクトが炎上すればもっとおまけはついてくるでしょう。一方でテック寄りにキャリアプランを描くと比較的ゆるく働いている人が多くなります。とはいえスペシャリストやエヴァンジェリストと呼ばれる人間になろうとすると圧倒的No1の特化型スキルを身につけるか、かわいい女の子で広報としてもイケるどちらかにならないといけませんし、スキルの陳腐化が早いのでスペシャリストはスペシャルリスキーでもあります。

 

かわいいエヴァンジェリストの例、かわいいちょまどかわいい

 

フリーエンジニアは自由にはたらける

フリーエンジニアはビジネス系とテック系を自分で好きに選べる自由系だと考えて下さい。ビジネスサイドがやりたければそういう案件を取ればいいし、テック系がやりたければそういう案件を取ればいいのです。今はエンジニア売り手市場なのでかなり自由に仕事を選ぶことができます。エージェントはレバテックかギークスジョブがおすすめです。メッセージもらえれば相談にも乗りますよ。

 

フリーランス/Webデザイナー募集【ギークスジョブ】

レバテックフリーランス

 

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

システムエンジニアの仕事は主に6つの工程に分かれますが、細かく見ていきましょう。

  • 要件定義(上流工程)どんなシステムにしようか顧客とすりあわせる
  • 基本設計(上流工程)要望とシステムをすりあわせて何作るか決める
  • 詳細設計(上流工程)作れるように細かいところまで設計する
  • 開発        つくる!
  • テスト       バグをつぶす!
  • 運用保守      落ちないように見守る

 

要件定義の仕事内容

お客さんがやりたいことをヒアリングして、システムがどういう風に解決したら良いかを決める工程になります。「顧客が本当に必要だった物」という風刺絵が大変わかりやすいのですが、自分が本当に欲しいものは意外と分からないものなので、ヒアリングしながら具体的にものを見せたりして確かめながら作るべきものを固めていく工程です。コーディングのコの字も出てこないし、コミュニケーションが重要なので女性SEが大活躍している工程でもあります。

「顧客が本当に必要だった物」

f:id:kitahashi-ryoichi:20161212165257g:plain

http://arison.jp/wordpress/wp-content/project_comedy_l.gif

 

基本設計の仕事内容

作りたいものが要件定義で決まったので、実際にシステムにどう落とし込んでいくかを設計していく工程になります。具体的にはデータベースの設計をしたり、画面をこんな風に作りますという設計書を作っていきます。ここで機能一覧というものを作って、スケジュールを引いてこんな感じに進めていきましょう!と目線合わせをしたり夢が広がりがちな仕事内容になります。いわゆるITコンサルと言われてる人がやってる所で、アクセンチュア・PwC・ヒューチャーアーキテクトなどなど・・・。

 

詳細設計の仕事内容

基本設計ではハリボテで夢見がちでしたが、詳細設計ではどういう技術で実装するかを具体的に検討していき、インフラ設計などを含めてプログラミングができる状態までもっていく工程です。上流工程は楽と思われがちですが、難易度の高いプロジェクト(例:みずほ基幹システム)だと詳細設計が爆発して終わらないこともあります。

News & Trend - みずほ銀行、システム統合延期の舞台裏:ITpro

 

開発の仕事内容

みなさんが思い浮かべているのは主に開発の仕事ですね。設計書を見ながらガリガリコーディングしていきます。コーディング中には自分でテストすることも含まれており、実際に画面を触ってテストしたり、テストコードを書いて自動的にテストしながらコードの品質を維持するのが開発の仕事です。開発工程の優秀な人とそうでない人の生産性の差は変な話10倍以上あるので、スーパープログラマーみたいなジョブの人が何人かいます。とはいえ、コーディング自体は難しい作業ではなくなりつつあるので、スタートアップやベンチャーだとインターンやバイトの子がやっていたりもします。まだまだ若い業界なので他業種からプログラミングスクール経由でバリバリ働いている人も多いですね。

プログラミングのオンラインスクールCodeCamp

 

テストの仕事内容

作った分と同じだけテストには時間がかかると言われていて、エンジニアが作ったシステムを外に出せるように徹底的に画面を触ってテストする仕事があります。この工程はQA(=品質保証エンジニア)が組織として独立していたり、小規模なチームだとWebディレクターがテスト工程をやっていたり、エンジニアが自分一人でやっていたりと様々です。ITゼネコンにもなるとテストを外注して海外のオフショアでやってたいたり、E2Eテスト自動化といって画面のテストを完全にロボットにやらせていたりもします。

 

テストの種類

  • 単体テスト   1つの機能がちゃんと動くかテストする
  • 内部結合テスト システム全体がちゃんと動くかテストする
  • 外部結合テスト 外部のシステムも含めてちゃんと動くかテストする
  • リグレッションテスト 追加した機能以外もちゃんと動くかテストする
  • UI/UXテスト   操作性や見た目がいい感じかテストする

 

テストの仕事にもスキルがあり、テストの網羅性や検知できる確率などを計算しながら効率的にテストしていくスキルや、そもそも不具合が入り込まないように基本設計フェーズでテスト側がレビューを入れて事前に予防するといった立ち回りもあります。

 

運用保守の仕事内容

システムがリリースされてもすべての機能をシステム化するとコストが合わないので、運用の人が分析用のデータを出したり、エラーが起きたらそれの対応をしたり、不具合が見つかったら影響度や優先度を切り分けて不具合修正をリリースしたりします。異常を検知できるように監視ツールを入れたり、年末年始の高負荷に備えてサーバーを増やしたりといった「サービスを止めない」をモットーに仕事をします。

 

システムエンジニアの給与・年収

DODA 2016年業種別の平均年収ランキングによると

全67業種中

10位  システムインテグレータ(SE) 496万円

11位 ソフトウェア/ハードウェア/パッケージベンダー(SE) 495万円

 

と、かなり上位に食い込んでいます。

30代エンジニア2180人に聞いた平均年収の実態と満足度では、30代のソフト系エンジニアの平均年収は525万で最高年収が1350万となっています。開発工程の生産性が10倍近く異なることや、スマホゲームのようなヒット作が出れば爆発的に利益がでる業界でもあるので格差が広がっている傾向に思えます。

有名企業システムエンジニアの平均年収例

  • ヤフー 714万円
  • サイバーエージェント 772万円
  • DeNA 770万円

有名企業にもなると普通のエンジニアでも700万くらいもらえて、マネジャーやスペシャリストに上がっていくと1000万超えていくイメージですね。

 

[年収イメージ]

プログラマ:400万円以下

システムエンジニア:400〜700万円

マネジャー:700万〜1500万円

CTO/CXO:700万〜

 

意外とWeb系のCTOたちは年収を押さえて、株式のキャピタルゲイン狙いだったりするので大手SIerのマネジャークラスと同じくらいの年収だったりします。ITコンサルとしてかなり優秀だと月収200万〜500万のスーパーコンサルも居ます。

 

すごい高収入が狙えますが、上場企業の数十億のシステムを止めることなくリプレースするとか難易度が極めて高いモノが多いです。

ハイパフォコンサル | フリーランスのコンサルタント募集・案件紹介

 

システムエンジニアに必要な資格

実は資格がいりません。 

基本情報や応用情報といった資格試験やデータベース・セキュリティエキスパートなどがありますが、システムエンジニアになるためには必要ありません。自分が働く現場に必要なスキルをタイミングを見計らいながら取っていくか、Webエンジニアであれば基本的に資格取ってる人が珍しいくらいです。というのも、技術革新が毎年のように起こるので知識の陳腐化が早く、資格を取ったところで何の役に立つの?といった現象になることが多いからです。逆に重要視されるのは、学び続ける素質やリスク感度といった働き方・考え方、そしてコミュニケーション能力だったりします。

 

手っ取り早くエンジニアになるなら

【未経験歓迎】アプリ開発、ゲーム開発、web開発、短期集中型の無料プログラミング&就活スクール

 

システムエンジニアは文系も多い

僕も文系ですがこれまで7年位やってきて、全部の業態をみた経験からいうと半々です。なぜなら、システムエンジニアの業務内容の上流工程はヒアリングや仕様設計なので、大した計算もしなければ理系の専門的な知識は必要ありません。 むしろ、売っているソリューションが企業向けであれば、経営や会計の専門知識が活かせたりすることがあります。Webエンジニアでも細かいことを気にせず、顧客の立場に立ってちょっとしたことに気づいたりできるのは文系エンジニアならではかもしれません。

 

男女比でいうと圧倒的に男性が多いので、エンジニアのデスクはむさ苦しい感じもあります。サービスが女性向けサービスだったりすると女性エンジニアや女性が多くなる傾向があるので未来の奥様を見つけるには提供しているサービスから選んでみるのも良いかもしれません。

 

システムエンジニアは激務ではない

よく映画でハッカーが徹夜でコーディングしているシーンが流れますが、半分あってますし、半分は間違っています。たしかにデスマーチなプロジェクトだと400時間稼働!土日出勤!徹夜!で死屍累々な状況になることもありますし、人生一度くらいは体験しておくといいかもしれないですね(笑)ほとんどの場合は、めちゃくちゃ仕事したい意欲に溢れているエンジニアは徹夜したり無理して働きますが、体調管理しっかりした方が生産性が上がると気づいてそういう働き方を辞めます。普通に働いている人はそもそも無理しないのでそこそこ働きます。なので、激務したい人は激務だし、そうでない人は他の業種よりも融通が効く分楽だと思います。

実録!地獄のデスマーチ - エンジニアラボ - IT・WEBエンジニアの転職・求人情報ならエンジニアファクトリー | IT・WEBエンジニアの転職・求人情報ならエンジニアファクトリー

 

システムエンジニアの魅力

システムエンジニアは「手に職」が手に入るので全体的に高収入で安定します。また、コーディングスキルや要件定義、基本設計などの技術は会社が変わっても使えるスキルなので転職もしやすく中途採用の人も現場には多くいます。なので人間関係で悩んでいても転職という選択肢が取りやすいメリットがあったり、若くして年収を上げたければ転職してしまうという手もあります。

 

システムエンジニア不足なので売り手市場

IT技術者はざっくり日本に100万人います。2016年現在17万人ほどIT技術者が不足しているとの報告が経産省からあり、2030年には70万人も不足が拡大するとの予想がたっています。予想なので当たるも八卦当たらぬも八卦ですが、需要の方が大きくてその傾向が強いと予想されるのは多くの業界の中でもITだけではないでしょうか。

f:id:kitahashi-ryoichi:20161212190644p:plain

http://www.meti.go.jp/committee/sankoushin/shojo/johokeizai/it_jinzai_wg/pdf/001_04_02.pdf

 

IT人材不足が深刻化、2030年には78.9万人不足に 経済産業省調べ - ITmedia ビジネスオンライン

 

女性のエンジニアも増えている

20代男性エンジニア:64,790人(78%)

20代女性エンジニア:17,940人(22%)

5人に1人くらいは女性が働いているイメージで、実際僕の周りにも多くの女性エンジニアが活躍しています。ソフトウェア開発は人手不足で人材がすべてなので、妊娠してからの産休・育休も取りやすいですし、リモートワークが進んでいるので在宅で仕事ができることも多いというメリットがあります。

f:id:kitahashi-ryoichi:20161212191417p:plain

http://www.meti.go.jp/committee/sankoushin/shojo/johokeizai/it_jinzai_wg/pdf/001_04_02.pdf 

 

システムエンジニアはやりがいがある

メルカリのようなtoCのビジネスをやっているサービスのエンジニアになると、一般消費者から感謝の手紙をもらったりすることもありますし、みんなに求められているものを作っている!と思ってやりがいを感じます。企業向けのビジネスでも悲願のプロジェクトが成功して泣いて喜んでくれるお客様もいます。自分のコード(問題解決)がコスト削減の具体的金額としてわかりやすかったり、色んな困難をプロジェクトメンバーみんなで1つずつ乗り越えていくことでカットオーバーした時は感動さえします。

 

システムエンジニアになるには

システムエンジニアについてこれまで紹介してきました。

メリットを整理すると

  • エンジニアは手に職なので高収入・安定
  • 要件定義ではコミュニケーション能力が重要なので文系も活躍
  • 意外と働きやすくてやりがいがある 

 

新卒以外でシステムエンジニアになるには、スクール経由で就職あっせんしてもらうか、己の力を見せつける必要があるのでまずはスクールの無料面談から始めてみてはいかがでしょうか。

 

【未経験歓迎】アプリ開発、ゲーム開発、web開発、短期集中型の無料プログラミング&就活スクール