転職

システムエンジニアに未経験からなれるは嘘!SEへの道を教えます。

こんにちは。プロラボです。

この記事を書いている僕は、現役でシステムエンジニアをやっています。

現在31歳。毎日定時で帰って年収600万くらいです。びっくりするほど高収入なわけではないですが、それなりにストレスのない生活をしています。

システムエンジニアって良いですよ。

今回は、

  • システムエンジニアに転職したい。
  • IT未経験なんだけどシステムエンジニアになれる?

こんな疑問を解決します!

結論、未経験からシステムエンジニアは無理です。未経験OKなのはプログラマです。

そもそもシステムエンジニアはプログラマの上位職みたいなもので、ほとんどのシステムエンジニアはプログラマを経験しています。

つまりプログラマで経験すればシステムエンジニアになることが可能です。

というわけで今回は未経験からシステムエンジニアにレベルアップするまでを掘り下げてみようと思います。

それでは早速いっていみましょう!

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

まず《システムエンジニア》も《プログラマ》も「システム開発」をするお仕事です。

「システム開発」とはお客様が求める機能を持ったアプリケーションだったり、機械を作るお仕事で例を挙げると、

  • Suica(PASMO)
  • LINEアプリ
  • 駅の券売機

こんな感じです。

どれも1度は使ったことがありますよね。

そのくらい《システムエンジニア》と《プログラマ》が作ったシステムは世の中に溢れています。

システム開発の流れ

「システム開発」は依頼されたらすぐに完成!というわけにはいかず、複数の工程を踏んで徐々に完成へと近づけていきます。

主な工程は以下のとおりです。

  1. 要件定義
  2. 基本設計
  3. 詳細設計
  4. コーディング
  5. テスト
  6. リリース
  7. 運用

「システム開発」は①〜⑦に向かって仕事を進めていきます。

①〜③までを《上流工程》と呼び、基本的に《上流工程》が《システムエンジニア》のお仕事です。

④〜⑤は《下流工程》と呼び、基本的に《下流工程》が《プログラマ》のお仕事です。

図にするとこんな感じ。

ちなみに⑥のリリースと⑦の運用は、営業職、システムエンジニア、プログラマと多くの人が関わります。

上流工程の方が難しい

システム開発の流れがなんとなく分かったかなと思いますが、基本的には上流工程の方が難しいです。

主な理由は以下のとおり。

  1. お客様とのコミュニケーション能力が必須
  2. どの程度で完成できるか計算する必要がある
  3. 求められている機能を100%理解する必要がある
  4. 求められている機能が実現できるか否か判断する必要がある
  5. プログラマがコーディングできるように設計する必要がある

要するに不確かな情報をまとめ、一つ一つ決定する力が必要なんです。

《プログラマ》は《システムエンジニア》が決めてくれたことを、自分のコーディングスキルを用いてコードを書けばいいので、《システムエンジニア》と比べると簡単に感じることがほとんどです。

プログラマが弱いわけではない

ただ「プログラマの方がレベルが低い」というわけではなく、例えば以下みたいな人は自ら好んでプログラマとして残ったりしています。

  • コーディングがとにかく好き
  • お客様とのコミュニケーションがめんどくさい

どんなシステム会社にも上記のようなベテランプログラマはいて、そういう人は技術力がめちゃくちゃ高いです。

ベテランシステムエンジニアはお客様との打ち合わせの後、ベテランプログラマに相談している風景をよく見るほど必要不可欠な存在だったりします。

「システムエンジニアって意外とめんどくさそう」と思う人はプログラマとして技術を突き詰めるのも大いにありだと思います。

システムエンジニアは建築士、プログラマは大工さん

システム開発を注文住宅に例え、

  • システムエンジニアは建築士
  • プログラマは大工さん

と考えるとシステム開発に馴染みが薄い人にも分かりやすいかなと思います。

建築士さんはお客様のオーダーに合うように図面を書き、お客様が納得すれば大工さんに建築を依頼しますよね。

ここでいう図面を書くことが上流工程で、建築が下流工程として考えることができます。

もっと詳しくシステムエンジニアとプログラマの違いを知りたい人は以下の記事を参考にしてください。

プログラマとシステムエンジニアの違いを超わかりやすく解説!【現役SEが】こんにちは。プロラボです。 この記事を書いている僕は、現役でシステムエンジニアをやっています。 現在31歳。毎日定時で帰って...

システムエンジニアは経験が必須

システムエンジニアとプログラマの違いを、システム開発に沿って解説してきましたが、基本的にはシステムエンジニアが行う上流工程の方が難しいです。

プログラマの場合はシステムエンジニアが作った設計書をもとにプログラムを組むお仕事なので、ある意味答えがあるイメージです。

 

例えばプラモデルを作ることを例に考えてみましょう。

プラモデルは説明書通りにパーツを組み合わせていけばプラモデルは完成しますよね。

  • この説明書がシステムエンジニアが作った設計書で、
  • パーツを組み合わせる行為が、プログラマが行うコーディングに該当します。

どう考えても説明書を0から作るようが難しいと思います。

プログラマ未経験でもテストはできる

プログラムの知識が0でコーディングすらできない人でも「テスト」なら誰だってできてしまいます。

そもそも「プログラムの知識が0」の人を雇ってくれる企業があるか否かは置いておきます(笑

「テスト」とはプログラマのコーディングした結果完成したシステムが、システムエンジニアが設計したシステム通りになっているかテストをする工程です。

要するにシステムを使ってみて変なところがないかチェックすればOKなんです。

厳密にはテストする箇所や条件などをプログラマやシステムエンジニアがきちんと指定した「テスト仕様書」というもの通りにテストを実施します。

例えば駅の券売機をテストする場合は、

  • 100円投入したら、液晶に「100円」と映ること
  • 発券ボタンを押下したら、券が発券されること

こんな感じ。

新卒や未経験転職の場合は「テスト」工程から経験する場合が多いかなと思います。

「テスト」工程でシステムに触れることによってプログラミングを覚え、徐々に一人前のプログラマとして成長していきます。

あまりにも大規模なシステムの場合、アルバイトを雇ってテストしてもらうケースもあるほどで、知識がなくても「テスト」はできてしまうんです。

プログラマの経験がシステムエンジニアを作る

プログラマでの経験がシステムエンジニアを作ります。

例えば上流工程で求められるスキルに以下の内容がありますが、

  1. お客様とのコミュニケーション能力が必須
  2. どの程度で完成できるか計算する必要がある
  3. 求められている機能を100%理解する必要がある
  4. 求められている機能が実現できるか否か判断する必要がある
  5. プログラマがコーディングできるように設計する必要がある

お客様とのコミュニケーション能力は才能でなんとかなっても、その他の内容はプログラマという職業を理解していないと判断ができないと思います。

特に「②どの程度で完成できるの計算」は経験則がものを言うスキルなんですよね。

「ベテランプログラマに相談する」というのも手段ですが、1人でできないとどこかでボロが必ず出てくるでしょう。

プログラムできるシステムエンジニアが最強です

あなたが新卒で、業界最大手のソフトウェア会社に入社することができれば、未経験あらっすテムエンジニアも不可能ではないです。

しかし上記のように飛び級でシステムエンジニアになった人はほとんどプログラミングができないです。

僕が共に仕事した大手の人はみんな飛び級システムエンジニアだったので、誰一人としてプログラミングができる人はいませんでした。

飛び級システムエンジニアの場合、プログラミングの細かいところまで理解ができないので、どうしても会話でつまってしまう時があるんですよね。

そういう場合はお互いにストレスですし、何より仕事が進まず効率が非常に悪いです。

さらに将来的にフリーランスを目指すのならプログラムできるシステムエンジニアになることが必須だと思います。

ただし大手に入社できるだけあって、システムエンジニアとしての交通整理力はマジで優秀でした。勝てない・・・笑

プログラミングができるシステムエンジニアの未来は明るい

プログラマからステップアップしてシステムエンジニアになった人の未来はかなり明るいかなと思います。

主な理由は以下のとおりです。

  1. IT人材は常に不足している
  2. IT技術は常に進歩している
  3. フリーランスなら月収100万も可能

2018年に行われた経済産業省の「IT人材需給に関する調査」によりますと、調査が行われた2018年の段階で22万人ものIT人材が不足していることがわかります。

さらに2030年までにIT人材の不足数は45万人まで膨れ上がると予想されています。

要するにずっとIT人材は不足しているんですよね。

不足しているということはそれだけ需要があるということで、システムエンジニアとしてのレベルが高ければ職に困るということは無いと思います。

またプログラミングもできてシステムエンジニアとしてレベルも高ければ、フリーランスで戦える力が十分備わっており、月収100万円以上を達成している人も数多くいらっしゃいます。

IT業界に飛び込むなら利用できることは利用しよう

もし未経験でIT業界に飛び込みたいなら、利用できるサービスを最大限に利用すべきだと思います。

プログラミングに自信がないならプログラミングスクールがおすすめですし、転職活動に自信がなければ転職エージェントの利用がおすすめです。

自己投資は惜しまない

僕が新卒の頃の話ですが上司に

「成長のため自分への投資は惜しまないでください。」

と言われたことがあります。

当時の僕は「プライベート以外での投資は絶対嫌だ。」と成長にお金をかけることをしませんでした。

結果、同期たちに置いてけぼりにされ辛い思いをした経験があります。

ここでいう自己投資は「プログラミングスクールに通う」が一番コスパがいいと思います。

スクールに通うとなるとそれなりに高額ですが、月々の支払いも可能ですしちゃんとスキルが身につけば一瞬で元が取れます。

何より最近では無料相談や無料体験を行なっているプログラミングスクールも多く存在しているので、気になったらすぐにでも相談するべきだと思います。

なんつっても無料ですからね!

「合わないな」と思ったらやめればいいだけの事くらいに考えてればOKです。

転職活動するなら転職エージェントが絶対おすすめ

転職活動に自信がないなら転職エージェントの利用がとにかくおすすめです。

何を隠そう僕も転職エージェントを利用して転職に成功させた人物の一人です。

僕が実体験で「転職エージェント最高!」と思ったエピソードは以下のとおりです。

志望度の高い企業の書類選考がとおり、どんな質問でも答えられるようにかなり準備をして1次面接に臨みましたが、緊張のあまり頭が真っ白になってしまい、準備していた回答がうまく答えられませんでした。

誰がみても僕の1次面接は失敗でした。

しかし、面接終了後すぐに転職エージェントに連絡を取り質問された内容と答えた内容をフィードバック。さらに本当は「こう答えたかった」と本来の意思をエージェントに伝えました。

その後転職エージェントが採用担当者に連絡を取ってくれ、本来の意思を伝えてくれたところ1次面接が無事通過することができました。

おそらくですが、転職エージェントの助けがなければ1次面接の通過は無かったかなと思いますし、転職エージェントでない限りは上記のようなフォローは絶対に不可能です。

上記の実体験だけでも転職エージェントを絶対使うべきかなと思いますが、もっと転職エージェントについて気になる人は以下の記事を参考にしてください。

【実体験】本気なら絶対に転職エージェントを使うべき話 そもそも転職エージェントって何? 転職エージェントと転職サイトって何が違うの? 転職エージェントのメリットとデメ...

まとめ

と言うわけで「システムエンジニアに未経験からなれるは嘘!SEへの道を教えます。」について解説しました。

まとめると、

  • システムエンジニアは経験が必須
  • なのでプログラマから初めて、
  • システムエンジニアまで上り詰めよう!
  • そのために自己投資は惜しまず、
  • 転職するなら転職エージェントが絶対おすすめ!

でした。

ここまで読んでいただきありがとうございました!

と言うわけで今回は以上です。