未経験だがエンジニアとして活躍したいと思っている方にお勧めするキャリアパス入門

# はじめに
本投稿は [TECOTEC Advent Calendar 2019](https://qiita.com/advent-calendar/2019/tecotec)の15日目の記事となります。

開発経験だけは無駄に長いオッサンエンジニアが、ソフトウェアエンジニアを目指している方々がまずどこを目指すべきかなのかを紹介させて頂きます。

# 想定読者

- なんらかのソフトウェア開発に関わる仕事を目指している方
- ソフトウェア開発の実務経験が無く、技術力にそれほど自信が無い方
- どちらかといえばドトールでDELLのPCを使っている方が落ち着く方

# エンジニアの職種

### 職種

ソフトウェア開発に関わる職種は非常に多岐に渡ります。
花形はプログラムコードを実装するプログラマーだと思っています(異論は認めます)が、パッと思いつくだけでも両手では足りないくらいの職種が存在しています。

- プロジェクトマネージャー
- アーキテクト
- データサイエンティスト
- システムエンジニア
- データベースエンジニア
- プログラマー
- セキュリティエンジニア
- クラウドエンジニア
- インフラエンジニア
- ネットワークエンジニア
- QAエンジニア
- テスター
- サポートエンジニア
- フルスタックエンジニア（≒ ハイパーメディアクリエーター）

### 系

また一部の職種は「系」で細分化されていて、更にその掛け算や包含もあったりしていますので、その分類は星の数です。(ex. オープン系の業務系フロントエンドエンジニア)

- web系
- 業務系
- 金融系
- 通信系
- ゲーム系
- 組み込み系
- オープン系
- 汎用系
- アプリケーション系
- フロントエンド系
- サーバ系
- xx OS系

### 実際のところ

エンジニアは各々得意としている役割が明確にあるものの、ほとんどの場合、隣接する職種を兼務していると思います。
これは開発対象のソフトウェアの内容やチームの規模やメンバーのスキル感、エンジニア自身の資質(割り込み体質や巻き込まれ癖)など、その時々の要因によって役割の範囲は大きく異なってきます。


# まず、どの職種を目指すべきか

オッサンはプログラマーをお勧めしています。
ただし、何らかのプログラム言語に精通していて、かつ、ある程度の規模のソフトウェアを完成(完成ですよ)させたことがある方は、この限りではありません。

### なぜプログラマーなのか

レベルの違いはありますが、どの職種においてもプログラミングの素養やスキルが必要になるためです。

- 論理的に物事を捉え、整理する力
- 工数を肌で感じられ、急所(工数が激増する箇所)を嗅ぎ分ける
- 完成に漕ぎつける困難さを体感している


# ソフトウェア開発企業

個人の役割から一転して、ソフトウェア開発する企業の特色について解説させて頂きます。
ソフトウェア開発会社も様々な分類に分けられますので、下記に一例をあげます。

### SI系

業務系、金融系、通信系、組込系など比較的お堅いソフトウェアを開発している企業です。
お堅いだけあり、品質管理の水準は高いのですが、スケジュールの都合で蔑ろにされることも多いです。
比較的規模の大きいソフトウェア企業はここに属していることが多いですが、中小規模の企業もたくさんあります。

### web系

webサイトやECサイト等のソフトウェアを開発している企業です。
一部SI系とも被る部分もありますが、よりデザイン面を重視したソフトウェアの開発を行っているといえます。
ほとんどが中小規模の企業です。

### ゲーム系

文字通り、スマホ、ゲーム機等のゲームソフトを開発している企業です。
一部大企業も存在しますが、その多くは中小規模の企業です。

### 人材派遣系

SESと呼ばれていたりしますが、実際にはエンジニアの派遣です。
派遣というと悪い印象を持つかもしれませんが、良し悪しは派遣先の企業文化による部分が大きいといえます。
派遣先の企業は要員が足りないため募集をかけているという事情があるので、正社員として採用されるより、派遣として採用される方が、登用基準が低い傾向があります。

### 個人事業主

今はやりのフリーランスです。
個人の実力・実績により単価や仕事内容等が選び放題です。
逆に言えば実力・実績が無い、または実力が伴っていなかったエンジニアはイバラの道です。
個人事業主で活躍するのは、ある程度の実績を伴った技術力を身に着けた後に挑戦するのが吉でしょう。


# 最初に所属するべき企業

最初にこそ大企業に所属するべきだと思っています。

経験値が低いうちは、役割を限定して１つのことに没頭させてもらえる環境が必要です。最初からあれもこれもできる４番でピッチャーのような活躍ができる方は非常に稀です。

これを踏まえて考えると、参画エンジニアが多く、それぞれの役割分担がはっきり分かれているSI系の大規模案件で経験値を積むことをお勧めします。
ここで、狭い範囲の役割ながら何か完成させることができれば、実力の具体的な裏付けとなり、何より自信に繋がります。


# 未経験で大規模案件に参画する方法

新卒の方は、ぜひ新卒枠を生かして大企業の正社員を目指してみてください。
応募者のほとんどは未経験のはずなので、ご自身のポテンシャルだけでガチンコ勝負ができます。

いわゆる社会人経験があるがソフトウェア開発未経験の方は、中途入社で正社員として参画するのはかなり厳しいと思います。ほとんどのライバルは実務経験者ですので採用時に苦戦することは必至です。
そこで、人材派遣会社を活用してみてください。
大規模案件は全てを自社社員で回すことはできません。必ず協力会社から多数のエンジニアが参画しています。未経験者でもチームで提案できる規模の派遣会社であれば、容易に大規模案件に参画できる可能性が高いです。


# プログラマーからの転職

プログラマーとしての経験を積む中で、前述した通り関連する職種の方々のお話を聞いてきたり、あるいはご自身が経験していると思います。
そこで、この役割が面白そうだなと思えたらしめたものです。そこを目指しましょう。

他の役割に興味は沸かず、プログラミングが楽しくて仕方なかったら？
素晴らしいことです！プログラマーが天職ですので、プログラマーの頂点を目指しましょう。

なかなか希望する職種に付けないと感じたなら、所属する企業を変えるのが早道です。
一定の経験とその経験を裏付ける根拠ができているのが大前提となりますが、別企業に実務経験者として転職することもお勧めしています。


# QA

ソフトウェア開発業界に対するよくあるQAで締めさせて頂きます。

### Q. エンジニアってブラックなの？

ブラックの定義によって変わるかなとは思っています。
拘束時間の事を指すのであれば、交代勤務の職業のように毎日18時にきかっかり帰れるとは思わない方がよいです。
一般的な職業と比較すると拘束時間は長い傾向はありますが、10年前と比較すると残業時間は激減していると思います。

### Q. エンジニアの給料は？

平均的な職業の給与水準と比較すれば明らかに高いです。
特定の技術を極めている方や、フリーランスで活躍されている方は年俸で1,000万円を超えている方もいらっしゃいます。

### Q. エンジニアって起業できるの？

できます。しかも敷居はそれほど高くありません。
個人で起業しやすい環境も整ってきていますし、PCが１台あれば良いので初期投資もリスクもほとんど無いといえます。

実際オッサン自身も10年間ほど起業していた経験がありますので、誰でも社長になれます。

### Q. エンジニアのスキルって簡単に身につくの？

決して簡単ではありませんが、それほど難しくもありません。
オッサンの感覚値ですが、適正さえあれば３年もあれば一流のエンジニアになれます。


# 最後に

ソフトウェア開発は苦しみも多いですが、それ以上に楽しみも多い職業です。
気楽に門戸を足を踏み入れ、エンジニアとして活躍して頂ける方が増えれば幸いです。