26歳営業が未経験からプログラミング勉強してエンジニアになるまでの話
背景
なぜエンジニアになろうと思ったか…とかはこっちの記事を見てくれたらうれしいです。この記事では実際にエンジニアになるまでの全体の流れをメインに書いてます。
前職の仕事をしながら、「このままの仕事でいいんだろうか」とか「本当に自分がやりたかったことってなんなんだろうな」とか考えていたときに、「やっぱり自分はプログラミングをやりたいんじゃなかろうか…」という気持ちがわいてきたんですね。
MacBook Proを買う
2017年10月
いきなりどうでもいい話すんなよと思ったかもしれませんが、僕にとっては一大イベントでした。「自分は多分プログラミングが好きだ」という仮説は立ったんですが、それだけで会社辞めちゃうのはあまりにも見切り発車すぎる気がしたので、とりあえず仕事終わりや休日にプログラミングをやってみることにしました。
プログラミングを始めようと思ったんですが、パソコンを持ってませんでした。持ってたWindowsは福岡の実家に置いてきてたので、送ってもらうか新しく買うかどちらかを選ばなきゃいけませんでした。で、思い切って買っちゃえばプログラミングのモチベーション上がるんじゃないかと思って買いました。
大学に入ってすぐ(5~6年前)からMacBookが欲しかったんですが、Windowsを持ってたし別にMacじゃないとダメな合理的な理由がなかったので、ずっと我慢してきたんですよね。26万円ぐらいでした。翌月のカードの請求見て走って逃げようかと思いました。
Macbook欲しいMacbook欲しいMacbook欲しいMacbook欲しいMacbook欲しいMacbook欲しいMacbook欲しいMacbook欲しいMacbook欲しいMacbook欲しいMacbook欲しいMacbook欲しい#mac #macbook
— 金子幸三郎 (@Kosaburo_Kaneko) January 25, 2016
でも本当にこれがきっかけだったと言っても過言じゃないかもしれないです。
N予備校に入学
2017年10月〜2018年12月
小学生の頃にHTML&CSSをメモ帳に書いて個人ホームページを作ったり、WordpressでECサイトを運用してみたりした経験はあったのですが、プログラミング言語にはほぼ触れることはありませんでした。ほとんどコード書かなくてもECサイト作れちゃうご時世なのです。
「とりあえずMac買ったしプログラミングを勉強したいと思ってるけど、どうやってやろうかな〜」といろんな学習系サービスを探していたときにN予備校を見つけました。
N予備校について書いた記事に対するコメントで
N予備校から就職とか使いものならんやろwwwとなめてたけど、 これをすべてできるなら及第点どころか即戦力やな。
まじな話をすると、N予備校のプログラミング入門コースやるのがオススメ。 ..
というコメントをしているのを見て「マジかよこれさえやれば即エンジニアなれるじゃん」と思ってやってみることにしました。
N予備校は大学受験のための教育を高校生向けに提供していて、月額1,000円でアプリや動画で勉強ができるサービスです。そこに新しくプログラミングコースができました。内容は「複数人で共有できる予定管理アプリ」をNode.jsでつくります。内容は未経験には重ためでボリュームもだいぶあるんですが、とてもわかりやすく根元から説明してもらえるので、なんとか最後まで終わらせることができました。
基本的な学習スタイルは解説資料と動画を見ながら実際に自分のMacで作業していく形です。動画は生放送とそれの録画版があって、生放送だとリアルタイムで先生に質問しながら授業を進めていきます。なので他の生徒がつまずいたとこや疑問に思った点を解決しながら進めていくので、初心者でもちゃんと理解しながら学習できるようになってます。もちろん録画版にもそのコメントは残っているので、時間を気にせずいつでも勉強できます。
この時点では「WEBアプリケーションのぼんやりした概要はつかめたかな…?」ぐらいだったと思います。
会社に退職通知&転職活動
2018年1月〜2月
一応会社規定としては退職1ヶ月前に通告することが定められていたので1月中に上司に伝えたんですが、「仕事が忙しすぎるので3月末まで勤務してくれないか」とお願いされたので、まあいいかと思って承諾しました。
N予備校でNodeを一通りやってみたんですが、JavaScriptを基礎から理解できてない感じがあったのでこのころはドットインストールで簡単なJSアプリを量産してました。ロジックを組み立ててコードにして一つのアプリをゼロから作るというプロセスにはある程度慣れました。
そしてこのころはWantedlyで転職活動をやってました。未経験でもエンジニアとして雇ってもらえそうなとこを探して、5社ぐらいカジュアル面談を受け、2社面接まで進みました。1つ目は受託系の会社。もう1つはWEB制作会社。
結果は全部落ちました。やはり自分のスキルの無さが一番の理由だったかなと思ってます。20代後半になって「経験はないけどがんばるるので雇ってください」というスタンスは通用しないんだな…ということを実感しました。あとは見せれるものやアピールできるものがあまりにもなさすぎて、企業側からしたらエンジニアとしてのポテンシャルがあるのかどうかの判断すら難しい候補者だっただろうなと振り返ってみて思います。
プログラミングスクール探し
2018年2月〜3月
転職活動がうまくいかなかったことから、照準をプログラミングスクールに合わせました。やっぱりある程度はスキルを身につけてないと相手にされないし、うまく転職活動をサポートしてくれるパートナーが欲しいと感じていたからです。
転職をサポートしてくれるスクールだけに絞って探した結果、TECH::EXPERTにしました。理由は別で書いたので、ぜひ見てください。
Ruby
2018年1月〜3月
大昔にRubyは本当に基本的な文法だけかじったことがあったんですが、すでに脳内から消え去っていたのでもう一度学び直す必要がありました。
まずはじめにProgateのRubyコースをやってみたんですが、これがめちゃくちゃわかりやすくてどんどん学んでいくことができます。ですが、どうしても無料で学べる範囲だと一つの技術をマスターするには物足りないです。なので有料プランへ切り替えるか迷ったんですが、もうすぐ無職になる僕は1円でもセーブしたかったので他を探すことにしました。今考えればそこまで節約する必要はなかったと思います。
それでCodecademyをやってみるとある程度ボリュームがあって、新しく学ぶ部分が多くてわりといい感じでした。幸い英語は苦手じゃないので、いい英語の勉強にもなると思いCodecademyでRubyを学ぶことにしました。
でもわかりやすさでいうとProgateですね。自分の勉強の経過とかをTwitterにシェアすれば他のProgateユーザーから応援してもらえるし、オフラインのオフ会も開催されているのでモチベーション上がります。今からプログラミングやりたいならProgateをオススメします。
Railsチュートリアル
2018年2月〜4月
Codecademyを一通りこなしながらいろいろ探してたところ、Michael HartlさんのRuby on Rails チュートリアルを見つけました。内容は環境構築からTwitterのクローン的なものを作るというもの。
実は3年前ぐらいに半分程度やったことがあって、そのときはバキバキに挫折しました。初心者からするとかなりハードな内容です。もう一度チャレンジしてみようと思ったんですが、やっぱり見事に忘れてました。でも進めていくにつれてわりと楽しくなってきたのと、もう挫折はしたくないという気合いでなんとか進められました。
このチュートリアル自体はcloud9というクラウド開発環境を推奨してるんですが、N予備校でせっかく習ったのでVirtual BoxとVagrant使って仮想環境で進めてみました。あんまり初学者の段階で仮想環境触ることってないと思うので、いい練習になりました。
内容は初心者からするとかなり濃くて、全ての説明は書いてないので自分で調べる必要があるし、意味不明なエラーが出たりして何回もつまずきましたが、エラーに対する恐怖感とかわからないことに突っ込んで行くことには慣れました。
振り返ると、このタイミングでRailsチュートリアルやったのはすごくよかったです。MVCの概念を大枠で理解することができたので、スクールのカリキュラムを高速で消化できました。そのおかげでやったことないSQLなどにフォーカスして効率的に学習できたと思います。
あとRailsチュートリアルとN予備校でよかったなーと思うのはGitです。常にGitを使いながら勉強してたので、TECH::EXPERTの入学時点ではぶっちぎりでGit使えてたと思います。これはめっちゃ助かった。
ただ注意点としては、初心者がいきなりRailsチュートリアルから入ると絶命します。チャレンジする前にある程度は基礎を固めたほうがいいです。ProgateのRubyとRailsを最低2周ぐらいはしてないと厳しいかな…それでも厳しいぐらいかもしれません。
TECH::EXPERT
2018年4月〜6月
スクールでどんなことしてたかは毎週このブログでまとめてたので、そちらを見てください。雑にまとめるとRailsでいくつかアプリを作りました。Pairsのコピーとか、チャットアプリとか。
今日がチーム開発の最終発表日でした!
— 金子幸三郎 (@Kosaburo_Kaneko) July 6, 2018
Pairsをコピーできただけじゃなく、ちゃんと一つのアプリとして機能するものを作れてほんとにいい経験になりました!
オリジナルの追加機能としてユーザー検索画面でホバーすると画像が切り替わるようにしました👈
それでは夢のようなPairsをご覧ください🕺 pic.twitter.com/boAwhC8dhL
転職活動
2018年5月〜6月
スクールに通いながらほぼ同時期に転職活動を進めていました。面接やその準備等でけっこう時間は使うんですが、普通に転職活動するよりはスクールにもろもろ任せられるので勉強に集中できます。
面接した会社のトータル数は両手で数えられる程度でした。わりと早く転職が決まったほうだと思います。このころは面接と勉強でけっこう時間がなかったな〜という印象です。それでもチーム開発は進めていたのでメンバーに迷惑はかけれないし、わりと大変でした。
「面接で技術的な質問をされて、その質問が初歩的な質問なのに答えられないのが一番やばい」と思っていたので、基礎的な部分を本を読んでカバーしようと心がけてました。SQLとかHTTP通信とかオブジェクト指向とか、プログラミングの土台にある技術を習得しようとしてました。この辺はいつまでたっても重要なところなので、勉強しておいて損はないと思います。
で、内定をもらえたわけですが、僕が「カリキュラム以外のことを勉強していた」というところを特に高く評価してもらえたそうです。実際本当に何も考えずに卒業するとスクール卒業生はみんな金太郎飴状態になっちゃうと思うんですよね。学ぶカリキュラムは同じなので、なぜエンジニアになりたいのかとか、どういうエンジニアになりたいのかとか、見えづらい人材になりがちです。
例えば
- 前の業界が非効率的だった→作業効率化させたいのでPythonやってます
- 簿記の資格持ってて数字の出し入れが好き→SQLが楽しくて勉強してます
- 小さいころから絵を描くことが好き→CSSのアニメーションで表現したい
(ちょっと無理やり感ありますが…)
とか別に内容は100人いれば100通りのストーリーがあると思うのでなんでもいいと思いますが、それを自分の言葉で表現できることを心がけてました。
その他もろもろ
不安対処法
わりと早く転職が決まった方ですが、ふとしたときに本当に転職できるのかものすごい不安に襲われることがありました。転職できたとしてもめちゃくちゃブラックな会社だったりするんじゃ…とか、本当にエンジニアとして一人前なレベルまで技術的に成長していけるのかな…とか。そんな時はいろんな記事を見て勇気をもらってました。
特にゆかさんのnoteはエンジニアになろうと思ったきっかけの一つでもあります。何回も読み返しました。いやー本当にこの記事に出会えてよかった。退職届を出す引き金を引いたのは完全にこの記事です。
お金について
だいたい3ヶ月で生活費で70万ぐらい無くなりました。これには授業料の40万弱は含まれてません。授業料を分割払いにしててよかった…。
なので70万ぐらいあればスクールに入って卒業するまでは心配いらないと思います。別に極端に切り詰めた生活とかではなかったです。
時間
スクール入る前はなんか本当に時間的に切り詰めた生活するかなと思ってたんですが、個人的にはそんなに切羽詰まった感じではありませんでした。お酒飲みに行くこともありましたし、週に3回はジムに行ってました。
むしろ他のこともやりたいという気持ちが強かったので、なるべくプログラミングを効率的に学習しようというモチベーションになった部分もある気がします。
Twitterとブログ
この二つをスクールに入学したタイミングで始めました。これは個人的にはかなりよかったと思ってます。スクールの人から「ブログ見たよ〜」って言われたり、面接官から「ブログ見たんですけど、今後も続けますか?」とか質問されたり、意外と見てくれてるんだな…と思いました。
スクールに入る前に転職活動しているときに、いろんな面接官から「アウトプットしないとダメだよね」って何回も言われていたので、この二つは継続してやろうと決めてました。でも僕は正直どっちも得意じゃないので、Twitterは最低一日一ツイート、ブログは一週間に一記事を必ず上げることを目標にしてました。
Twitterを始めたことで本当にいろんな人と出会うことができました。Progateオフ会に参加させてもらったり、Yahoo!ロッジでのもくもく会に参加させてもらったりしました。みなさん本当にモチベーションが高くて、いつも刺激をもらってました。本当に感謝しかないです。Twitter始めてよかった…!
というわけで、もし興味を持っていただけたらフォローしてもらえるとうれしいですm(_ _)m