私は2017年の社会人2年目の頃に真剣にSoftware Engineerに転職することを考え始めました。
北米でSoftware Engineerに転職するにはいくつかの選択肢が自分にはありました。文系卒の社会人がおそらく多くの人がこのような選択肢になるのではないでしょうか。
1.日本でスクールに通い、まずは国内でSoftware Engineerに転職する。
2.まずはアメリカ or カナダに行き、大学でCSを学び、2年ほどかけてSoftware Engineerになる。
2017年当時の自分は選択肢(1)を考えていました。
当時はテックキャンプや、Dive into codeなどのスクールがちらほら有名になってきた頃で、実際に仕事の関係でSQLを学ぶ必要があったので、Linux Academyというスクールに3ヶ月ほど毎週土曜日だけ通って、PostgreSQLを学んだ。
でも、以下に記述しているメリットデメリットを考えて、結局はまずはカナダに行くという選択をしました。
今の自分が過去の自分に言えるとしたらこういうと思います。
選択肢(1)のメリット
- コストは選択肢(2)より安い。高いスクールでも80万程
- 自分の努力次第ではSESではなく、自社開発企業にいける。
- 正しい努力をすれば、とりあえずどこかの企業には転職できるはず
選択肢(1)のデメリット
- 将来北米でエンジニアとして働くのであれば、ビザ申請の時に結局CSの学位が必要になる。
- 日本国内で転職 →CSの学位を取得→北米でエンジニアとして就職だと、選択肢(2)より2,3年ほど時間がかかる。
選択肢(2)のメリット (=選択肢1の逆)
- ちゃんと就職できれば、国内で転職しようとしていた時間の短縮になる。
- 就職時に年齢がみられないこと
- ビザ申請時の「関連した学位を取得している」問題はクリアできる。
- CSの知識をちゃんと学べるので、今後エンジニアとして働くならCSの知識はマスト
- インターン/Co-opをしっかりやればどこかの会社には入れる可能性は高い。
選択肢(2)のデメリット (=選択肢1の逆)
- 学費半端ない (学費だけでも500万以上)
- 努力以外の要素もある(コネ、ビザ、世界経済など)
色々悩みましたが、自分の場合は、最終的に北米でエンジニア就職することが目標だったため、CSの学位を取ることを優先度として考え、とりあえずカナダに行って学位をとることにしました。今振り返るとこれで良かったと思えます。
万が一なにがあってもCSで学位を取ったことと体系的な知識は誰にも奪われないし、国内でも海外でも評価されることだからこそとりあえず学位を取りに来れたんだと思います。