見出し画像

カナダでプログラミング未経験からキャリアチェンジしてソフトウェアエンジニアになるまでの記録

カナダはトロントに来てもう少しで2年、未経験からソフトウェアエンジニアの職に就くことができたので、その過程を共有したいです。まずは会ったことも喋ったこともないけれどいつも勇気をくれたゆかさんに感謝の言葉を述べたいです。あなたがこの記事を書いていなかったら私はエンジニアになってなかった。本当に本当に記事を書いてくれて、共有してくれてありがとうございました。あなたが私にしてくれたことを私も誰かにできたらいいなと思ってこの記事を書いています。

背景

トロント着いて勉強始めるまでは、プログラミングの経験も数学も壊滅的。覚えている限り唯一のプログラミング経験としては、前職でExcel VBAのセミナーを2日間受けたこと。大学の専攻は英語で、日常会話は不自由しない。でも正直ここまで壊滅的にプログラミング経験が無かったのはブートキャンプ同期の中でも私だけだった。

なぜソフトウェアエンジニア?

- 前職はエンジニアリング会社での技術翻訳で、同期は理系エンジニアだらけ、彼らが手に職を持っていて、製品を作っているということに対してコンプレックスと憧れがあった。
- 日本でも海外でも通用する、自立できるスキルが欲しかった。技術翻訳は嫌いじゃなかったし立派なスキルだけど、翻訳している限りずっと「日本語が話せること」で勝負しないといけないので、それ以外で戦える武器が欲しかった。
- 身に着けるスキルを選ぶ過程で動物看護士、ファッションバイヤー、エンジニアの三つが候補だったけど、最初の二つはカナダで業界関連のボランティアをしたときに、個人的に働く環境があまり良いと思えなかったのでエンジニアを選んだ。

スタート前

2017年12月 
カナダに移住。移住の経緯はこちら

2018年3月 
このnoteを見つけて、驚く。驚きすぎてその場で最低5回は読んだ。この人も海外在住で、しかも独学で、エンジニアになるなんて、そんなことできるの!?と衝撃を受ける。この時は驚いたけど自分もやろうとは思わなかった。いや~頭のいい人っているんだな~、くらい。

2018年8月 
3月から始めた職にやりがいを見いだせない。でも永住権申請のためには1年間働かないといけないし、例え辞めてもスキルが無いから今後ずっと似たようなエントリーレベルの仕事を探し続けることになるなー、と考える。ゆかさんのnoteのことを思い出して、この人もできたなら、自分もやってみようかな。と少しずつゆかさんの記事に沿って勉強し始める。最初はCodeAcademyとLynda.comのFront-end Developer CourseでHTML, CSSの基礎を学ぶ。(教材はお金を払いたくなかったからゆかさんおススメを無視したけど後悔している。多少の出費は惜しまないほうがいい。)
本当は仕事を辞めて集中して独学したかったけど、上記の通り2019年3月まで仕事を辞められなかったので、それまで働きながら勉強して、その時点でスキルが十分じゃなければブートキャンプに行こうと決める。(計画するのがものすごく苦手なのでざっくり。)

働きながら自習期間

2019年1月 General Assemblyのコース、何でもいいから作ってみるのがいいと聞いたのでBootstrapを使ってレストランのウェブサイト作成(HTML, CSSのみ)そしてWatch and Codeの無料のコース、JavaScript 30をやったけど、Reactとやらも使えてないし多分仕事にするまではスキルがないな、と判断してブートキャンプに行くことを決意。トロントではHackerYou(現在はJuno)が一番評価が良さそうなので応募。スキルアセスメント(スクリーンショットを元にHTML, CSSでウェブサイトを作る)で落選して、パートタイムのコースを勧められる。そういう商法なのが見え見えで頭にきて、2番目に評価のよさそうなLighthouse Labsに応募、試験(シンプルな算数問題や間違い探し)を無事パスして、5月から入学することになる。

2019年3月 会社からLay off(集団解雇)にあう。永住権に必要だった1年の就労経験も無事終わっていたし、Lay offのおかげで職探し中失業保険ももらえるのでタイミングはパーフェクト、これは天が味方してくれていると確信。3~4月はふらふらしつつ学校のコースのプレワークを済ませる。

ブートキャンプ

2019年5月 10週間のインテンシブコース。泣いたり笑ったり死にそうになったり。また別の記事で詳しく記載したいけれど、フロントエンドだけでなくフルスタックを教えるというのが売りのスクール。スクールの間は基本9時から21時までずっとコーディングしていた。本気で学ぶっていうのはなァ!こういうことなんだよォォォ!っていう心構えを学べたのが一番良かった。
コースの中で、大きめのプロジェクトは合計6個作成した。EJSとNodeJSでシンプルなbitly、 MongoDBを使ったTwitterクローン 、Ruby on Railsで小さいamazonクローン、ReactとWebsocketでチャットアプリ、あとは学校が指定したmidterm projectsの中から一つ選んで3~4人のグループprojectと何を作っても誰と組んでも自由のfinal project

就活

2019年8月 学校卒業。2週間就活して、2週間日本に一時帰国。

2019年9月 就活一本。帰国後2週間は企業からの返信ゼロで精神ダメージがすごくて、ようやく呼ばれた面接で笑顔をどうしても作れなかったのを覚えている。そこから何とかポートフォリオ完成、ハッカソン参加、informational interview等、本当にできる限りのことはした。9月末になってやっと少しずつ企業から返事がかえってくるようになる。

2019年10月 内定が2つでた。一つはフルスタックのインターン3か月、もう一つはフロントエンドの契約社員6か月、どちらも社員登用を見据えての採用。どちらも正直ベストとは言い難いけどジュニアの初めての職としては十分だと思う。結局フロントエンドの方を選びました。理由としては会社自体が活気にあふれている、知り合いが3人働いてて3人とも仕事に関して満足そう、社内のポジションチェンジも頻繁にある。あとメンター2人に相談した時、キャリアの初めのうちは大きめの会社の方がトレーニングが整ってて良いというアドバイスも考慮した。正直フルスタックのポジションで働きたかったのですが、フルスタックへの変更はいつでもできる、というアドバイスも貰った。就職後は3か月間できる限り仕事に集中して頑張って、正社員登用の話がなさそうなら就活を続けようと思っています。でも、とりあえずテック業界に足を踏み入れられた!って感じ。

やってよかった/やっておけばよかったリスト

今就職してみて、2018年8月時点の自分におすすめしたいリスト。

ブログ:
プログラミングを1000時間勉強して、ソフトウェアエンジニアになるまでにやったこと
ベルリン在住のゆきさんがバックエンドエンジニアに転職した経緯のブログ。1000時間という数字は私の場合ブートキャンプ前で200時間前後、ブートキャンプ期間で400~500時間、卒業後100時間~150時間くらいで、まだフルタイムの職につけているわけではないので(笑)結構当たっていると思います。あと2~3か月働いたら1000時間に到達すると思うからフルタイムの仕事に就けないかな~。笑

How I switched careers to become a software engineer in 11 months (and how you can too)
こういうブログポスト特にfreeCodeCamp上にたくさんあるので、初めのうちは読み漁ってたし、本当にこういう人たちが実在することを確認できたのはよかった。ただ、6か月でのキャリアチェンジとか仕事をフルタイムでやりながらのキャリアチェンジは何個か見たけど正直現実味にかけていると思う。

カナダでIT留学中の私の2017年振り返り
日本から帰国後、返事こなさ過ぎてもうだめだと思ったとき、ていうか日本人でカナダで就職した人いるのかな~?ってブログ探してこれをみつけて、クラスメイトが就活している中それを無視してディテールにこだわったアプリをストアにあげたってエピソードを見て、これだ、やっぱり私に足りてないのは圧倒的な実力とプロジェクトだ、という結論に至ってからポートフォリオを速攻完成させて、ハッカソン参加して新しいプロジェクトを履歴書に追加。そこから返事の数が増えたからやっぱり自分でプロジェクトを作れるかは大きいと思う。

コース:
- FrontEnd Masters Bootcamp (無料)
Frontend mastersはアメリカの超難関ブートキャンプで、You don't know JSの著者も教えている。私はBrian Holtが面白くて知識が豊富なので大好きだけど、他の講師陣も良さそう。このBootcampは無料だし、導入編として良いと思う。これを初めのうちにやっておけばよかった。

- Udemy The Web Developer Bootcamp (割引で$15CAD)
これもWeb開発の全体像やどのスキルが何故必要なのかが見えるので初めのうちにやっておけばよかった。ブートキャンプ同期の子がこれに沿って一つプロジェクトをherokuにdeployしてて全部やればよかったーって思ってた。

- CodeWars (無料)
トロントではHackerRankの方がよく面接で使われているみたいなんだけど、私はCodeWarの方がJS使ってやる時に模範解答が探しやすいので好きですが、完全に好みだしどちらを使っても特に変わりないと思う。フルスタック・バックエンドは特に面接でこのタイプのアルゴリズム問題を聞かれるのでやっておいて損なし。ブートキャンプのプレワークと最初の1週間はずっとこれをやってた。

- JavaScript 30(無料)
これはやったけど良かった。JSの基礎力を磨けるし、JSのボキャブラリーが増えていく感じ。あとWesがカナディアンなのもあってトロントでは有名なのでやっておくと他の人との話題にもなる。

- What the Flexbox!?(無料)
FlexBoxわけわかんないと思ってた時にやってだいぶ理解が深まってよかった。

- FrontEnd Masters Intro to React v5 ($40/mo)
FrontEnd Mastersの本コース。月々$40USDなのでお高めだけど他のFrontEnd Mastersのコースも取れるので価値あり。

かかった費用

オンラインコースは合計$100くらいしか使ってないけど、今後も継続的に勉強していくからかかる費用は増え続ける一方だと思うし増やしていきたい。Lighthouse Labs(ブートキャンプ)は10週間で$10000 CAD(約80万円)。今はコースの内容が新しくなって12週間で$12000になった。職探し中は失業手当をもらえてたのでそれ以外の損失コストはほとんど無し。

かかった時間

勉強し始めた2018年8月から就職した2019年10月まで、トータルでみると1年2か月だけど、ブートキャンプ卒業してから就職までは2か月だった(しかもその内2週間は一時帰国してた)のでわりと早い方だったのかも。3~6か月かかることは珍しくないし、実際その覚悟はしてた。私のブートキャンプ前の平均勉強時間は、平日のみで1日1~2時間、たまにやらない日もあった。今考えると少なすぎて笑えるけど当時は周りに先輩もいなくて自習の仕方もわからなかったし、何がわかってないかもわかってないから、もうHTMLとCSSなんとなく理解したし、もしかして働けるんじゃないかな?ってくらいのレベルで、まあ知ってる範囲でできることはやってたとは思う。もしブートキャンプに行かないで自習してたらもっともっと時間かかったと思うし本当にゆかさんはすごい。ブートキャンプで勉強の仕方を教わったのでお金を払って行ってよかったし、自習の失敗があったから卒業後怠けないようにポートフォリオ作ったりサイドプロジェクトやったり新しい技術学んだりできた。これからもこれは続けていきたい。

良かった点

正直まだ仕事始まってないのでキャリアチェンジして良かった点は述べられないけど、初のテックの仕事に就くまで経験を通して既によかったと思うことがいくつかあるので書いておきます。

-自分の無知さを知れた。自分が無知でないと思っているときは大概その無知さに気づいていないだけなので、ブートキャンプで賢い人たちに囲まれて、それだけでも刺激的で楽しかった。

- 給料が上がった。前職は一応オフィスの仕事だったけれど前職より約10K上up。それでも実はブートキャンプ卒業生が初めての仕事でもらう平均額より少ない。でもカナダのJuniorの平均値には収まっている。この1~2年で平均額かそれより上まで持っていけたらいいなと思っています。

- たくさんの出会いがあった。特にカナダ生まれのカナディアンに会う機会って意外と無かったりするんですが、スクールやコミュニティは移民もカナディアンも混ざっていて友達もできたし、トロントがどんなところかをより深く知ることができた。

- テックコミュニティがとにかく優しい。ブートキャンプ卒、カレッジ卒、CS卒、いろんな人に就活中話を聞く機会があったけど、みんな信じられない位優しい。初めてのDev jobを探している、と言うと僕の会社募集してるか見てみるよ、とかこのイベント行ってみたらどう?とか、就活のやり方こうした方がいいよ、とかアドバイスしてくれた。結局4人も会社にreferralしてくれたし、アドバイスくれたり経験をシェアしてくれたりメンターになるよと言ってくれたり、トロントのテックコミュニティは本当温かいです。

私はトロントのテックコミュニティに還元したいと思うし、もしこのブログで昔の私と同じ境遇で何か勉強したいな~と思っている人を勇気づけられたらいいなと思う。地域によって就活の方法って全然違う気がするし、ものすごい実力者じゃない限りオンラインで応募してオファーをもらうのは難しいので、私の就活過程をどこかに詳しく書きたいと思う。もし質問があればぜひコメントしてください。

この記事が気に入ったらサポートをしてみませんか?