就職

2019年02月20日
  • #ポートフォリオ
  • #Ruby
  • #未経験
  • #転職

プログラミングスクールを使い倒せ! 未経験・文系から転職を成功させた秘訣

Aws4 request&x amz signedheaders=host&x amz signature=e6c769c5c23c1ecb67af78dddc6541e877914f68b42fdcd45abf4b5829ce7a6d

プログラミングスクールDIVE INTO CODEでRubyを学び、全くの未経験、バリバリの文系人生からみごとエンジニアになった卒業生の福田 繁之さん。「転職活動とプログラミングの勉強をバランスさせて上手くスクールを使い倒すコツ」などを余すところなく教えていただきました。

Javaから離れてRubyエンジニアになりたかった

Image from Gyazo

私は2017年4月〜9月までの約半年間DIVE INTO CODEでRubyを勉強しました。現在は渋谷にあるストアーズ・ドット・ジェーピーという自社サービスを展開している会社でRubyのサーバーサイドエンジニアとして働いています

私の特徴をお話すると、数学が苦手でずっとバリバリの文系人間として生きてきて、プログラミングは頭のいい人だけがやるものだと避けてきたんです。

新卒採用での就職活動のときは最終的にSIerに入ったんですが、70社以上受けて1つも内定がでなかったほどの就職難民でした。そこからどう工夫して内定をいただいたのか、DIVE INTO CODEに通ってから実現できたことやエンジニア未経験での転職活動のポイントなどをお話しできたらと思います。

文系の大学院を卒業して新卒で入った中小のSIer企業を1年で退職し、それからある会社でRubyエンジニアとして無給インターンを始めました。その話がけっこう強烈なんで(笑)、あとで説明します。

最初のSIerでは皆さんご存知の悪名高い、ある金融系企業のプロジェクトに人柱エンジニアとして参画していました(会場笑)。1年間在籍しましたが、大手SIerの下で5次受けの仕事に携わるリアル奴隷状態。扱うJavaのバージョンが古くてその現場でしか通用しない旧世代の技術を使い、残業すればするほど偉いという文化で、要件が毎月のように更新されて(ずっと完成しない)サグラダファミリア状態でしたね(笑)。

残業が100時間を超えたくらいのときに当時の上司が「残業ってのは200時間を超えてから言うんだよ」と。衝撃を受けたのを覚えてます。

それで命の危険を感じて転職しようと思いました。でもエンジニアは続けたくて自分で作ったアプリをリリースしたいという気持ちはありました。技術的なチャレンジができつつ、残業を減らせるところはないかと考えたらWeb業界しか無い。だからDIVE INTO CODEへはSIerから脱出して就職するためRubyを学びに行きました。

DIVE INTO CODEで学ぶだけで自ずとポートフォリオができていく

Image from Gyazo

入校時はプログラミングが全くわからない状態。SIer時代はJava でコードを書いてはいたんですが、なぜ動くのか分からないけどとりあえず動くという認識で。中身が分からない部分が多い状態のままで実装作業をしていて、何のスキルも身についていませんでした

バージョン管理ツールのGitすら分からない、自分で作ったアプリを置いておけるHerokuというサービスもAWS(アマゾンウェブサービス)というインフラ系のサービスも分からなかった。1人でイチから動くものを作ったことがなかったので、何もできない状態でした。

DIVE INTO CODEに通ってからは、イチからアプリを作って外部に公開できるほどになりました。ありがたいのが、課題をHerokuに上げるだけでそれがポートフォリオになり、転職活動に利用できる。課題を進めれば自然と自分の転職活動に結びつけられるカリキュラムになっているので、それがとてもありがたかったです。

あとはWeb に関わる基礎的な部分を学べたことがすごく大きかった。また、困ったときにメンターの方がフォローしてくれるので諦めずに学習を続けられました。代表の野呂さんにも転職活動の相談にのっていただいたり、フォローしてくれる体制が整っていて大きく助けられました

勉強と転職活動を両輪で回すことで自分のレベルアップを速められる

Image from Gyazo

転職活動でのポイントをお話します。たとえば今まで皆さんが営業や事務職で、未経験から Web 業界に入ってエンジニアなりたい場合に必要なのは、

・自分がこれまでの仕事で、どういう気持ちで何を行ってきたのか
・なぜWeb 業界志望で、なぜエンジニアじゃないといけないのか
これに答えられるようにすることです。SIer業界ではなくなぜWeb 業界なのかという動機の部分。

・転職エージェントに登録する
どういう人材を欲しがっていて業界が今どういう状況なのか、情報をキャッチアップしていくために必要です。

・ポートフォリオを作る
簡単でもいいので、外部に公開して実際に動くものを通じて人に見せることがすごく大事です。

募集する企業の担当の方が不安なのは「入ってからどれだけがんばってくれるかどうか」が面接だけだとなかなか見えない部分だと思うんです。だからカタチにしたものがあれば「プログラミングで何かを作れる最低限の証明」にはなるので、ポートフォリオは絶対に作ったほうがいいです。

また、面接でよく聞かれるのが「最近気になるサービスや技術は?」。僕の場合は面接でこんな話をしました。面白法人カヤックって会社が作った「映画『貞子3D2』の公式アプリで、夜中12時に貞子から電話がかかってくる」というものがあるんですけど、それがめちゃくちゃ面白いと思ってたのでその話をしたら面接担当者とスゴく盛り上がりました。こういった話ができれば、感度が高い人だと思われるもしれません。

あとはビジネスSNSのWantedlyを使い、(募集に対して)毎日「話を聞きに行きたいボタン」を押しまくるのはぜひやったほうがいいです。僕は毎日2、3社は絶対に話を聞きに行ってました。Wantedlyに自分のプロフィールを作れる機能があって、中身を埋めている度合いに応じて自分のスコアが上がる仕組みになっています。スコアが高いほうがスカウトされる確率が上がるので、どんなしょうもない内容でも全て埋めましょう。

次に、同じ期で受講していた方を見たり経験する中で自分が思った「つまずきやすい、うまくいきづらいポイント」を、ちょっと耳が痛いと思いますけどお伝えします。

・完璧にできるようになってから転職活動する方

非常に多いんですけど、勉強がすべて完了してから動き始めるのは遅いと思ってます。「未経験でも採用する会社の募集が終わる」スピードと「勉強して自分ができるようになる」スピードを比べた場合、募集がクローズするスピードのほうが早い。だから勉強は絶対に転職活動を行いながらした方がいい。勉強ばかりで転職活動をやらない、または転職活動が忙しいから勉強をしないとかではなくて、両方を両輪で進めた方が絶対にいいと思っています。

・完璧なポートフォリオを作ろうとして外部との接触を断っている方

常に教室にこもってずっとポートフォリオの制作だけをやってるのもよくないと思っています。勉強会でエンジニアの人と友達になり仲良くなって情報をもらう努力をしたほうがいいです。

僕もそうだったんですが、始めのうちは「そんなことも分かんないの」って言われる機会が多いと思います。だからちょっと恥をかきに行くつもりで最初はとにかく面談の機会を増やします。

・転職エージェントはあくまで情報収集のチャネルの1つとして割り切る

僕の場合、複数の選考が進んでいる会社がある中で先に1社から内定が出たんですね。しかしもう1つの会社を受けたいとエージェントに伝えたら「福田さん、その会社で内定を取るのは無理なのでこっちに決めてください。ほかの会社も断っておきました」と事後報告されて全部チャラにされたことがあったんです。

このように転職エージェントの場合は内定が出ることを優先されるケースもあるので、そこは1つ割り切って利用するのがおすすめです。

・面接ではアホな質問でもいいのでとにかくしてみる

「これって何なんですか」「このフレームワークて何なんですか」。面接の場では恥をかいてでもいっぱい質問をして情報を得て、たとえば「ダック・タイピングって何か分かってる?」って言われて答えられなくても、次の面接では必ず答えられるようにしましょう。

あとはいろんな技術に興味を持って「能動的に頑張ってるアピール」をしたほうがいいです。よく「この技術ってこうですよね」って聞きかじった情報で知ったかぶる方がいらっしゃるんです。でもその際に必ず「触ったことある?」って突っ込んで聞かれる。そこで触ってないですって答えるとほぼ試合終了なので。とりあえずhello, world(プログラミングの初歩)だけでもいいので触ったことがあるほうがいいと思います。

こうして40社ほど回りましたが、このあと大きな失敗を犯しました。「サービスが面白そう」という理由だけで、Rubyエンジニアの正社員採用を3つも断って無給のインターンとして某スタートアップにジョイン。

2カ月後に「まだ様子みたいからしばらくまだ無給で」と言われて「転職だ!(2回目)」と思いました(笑)。

その会社で扱っていた技術を今の会社がたまたま使っていて。面接では技術の話で盛り上がり、内定をいただきました。さらにもう1社追加で内定をいただき、自分が選べる状況で転職活動を終えることができたので本当にDIVE INTO CODEのおかげだと思っています。

■まとめ

・転職活動はとにかく行動
・ひたすら恥をかく
・未経験エンジニアの転職活動では、行動で示して熱意をカタチにして見せる
・走りながら考えて完璧に近づける

以上です。

ありがとうございました。ここからはTwitterで募集した質問にお答えいただきます。「ポートフォリオは簡単でもいいとおっしゃっていましたが、福田さんはどこまでを簡単としていましたか?」

ログインができて情報を保存できて、デザインでもカラーリングでもパッと見で1つでも工夫されていれば、アプリを開いた時になんかいいなって思える。もちろんそのときの自分の判断でいいんですけど、熱を込めた想いを担当者にぶつけてみれば大丈夫だと思います。だから最低限の課題をクリアした時点で、転職活動を始めていいと僕は思うんです。

Wantedlyが一番のサービスだとおっしゃいましたが、その理由はなんでしょうか?

単純に使いやすいし、反応が早い。Forkwellなどほかのサービスも併用して使っていたんですけど、スピード感に欠けるなと感じました。また、Forkwellにある求人はWantedlyにも出ているのでわざわざ2つは必要ない印象でした。特にスタートアップはWantedlyをメインで使っている企業が多い印象だったのも理由の1つです。

転職する際に自分が作りたいサービスが初めから決まっていたのか、それとも徐々に転職活動の中で決まっていったのか、教えてください。

Rubyで作れるならどこでもいいと思っていました。だから最終的には技術で選びましたね。その中で、自分の人間性を受け入れてくれて話を聞いてくれるところ。あとは入ってから初めて「サービス開発ってこういうところが面白いんだ」と分かることもあるので、変にフィルターをかけずに話を聞きに行ってから判断してもいいと思ってます。

たとえばよっぽど「自分は美容整形に全く興味ないからそういうのはやめておきます」ということがなければ、内定をもらってから考えればいい気もしてます。

課題の1をクリアしたら転職活動を始めていいというお話でした。その段階ではまだポートフォリオに載せられる素材も少なすぎて、うまくいかない気がするのですが?

僕は課題2をクリアしたくらいから転職活動を始めました。ただ心に留めておいて欲しいのは、たとえ課題3まで終えて転職活動を始めたとしても、いずれにせよ現場でやる技術とスクールで習ったことには乖離があることがある。たとえばRubyだと(カリキュラムでは)Gemっていうライブラリを使うんですけど、現場ではそれを使わないでコードを書く場合もあって。

つまり早めに動いたほうがいいと言った理由は、面接でおかしな部分を指摘してもらったほうが早めに軌道修正ができるから。間違ったまま課題を進めてしまうより現場のエンジニアから面接というレビューを受けて、早めに修正できる方がメリットがあるんですね。

しかも転職活動と課題を切り離して考えるのではなくて、課題1を作り終えた段階で転職活動をスタートしつつ並行して課題2にも取り掛かる。そうすればどんどんポートフォリオをブラッシュアップしていけるので、面接と勉強をセットで考えた方がいいと思います。

皆さん、本日はどうもありございました!

この記事の動画はこちら

YouTube DIVE INTO CODE公式チャンネルはこちら

DIVE INTO CODEのことをもっと知ってみませんか?