私がエンジニア転職で大切にしたこと
はじめましておーせと申します。この度都内IT企業にエンジニアとして就職できることが決まったので、振り返りのnoteを投稿しようと思います。独学開始から2年弱、振り返ると長くなるような気がしますが、ご容赦ください。
自己紹介
都内私立大学(文系)卒業後、7年間公務員してました。参考までに私のスペックを書いておきます。
年齢:33歳(2023年5月時点)
最終学歴:都内私立大卒(文系)
職業:公務員(2023年3月末に退職)
ほぼプログラミングとは無縁の生活を歩んできましたが、公務員として働く中で業務改善を個人的にやっており、その流れでプログラミングと出会いました。ここについては深くは触れませんが、あれやこれやあるうちに転職を目指して2021年7月から独学で勉強を開始、2022年2月に見事挫折しました。
独学を選択した理由(2021年7月~2022年2月)
年齢が当時31歳ということもあり未経験転職が難しくなる中で、スクールに通うか独学かを検討した結果、最初は独学を選びました。理由は、適性を見極めるためと自走力を磨くためといった感じです。
まず、自分のプログラミングへの適性を見誤ってスクールに通うと挫折する可能性が高い、と思いました。また、私の年齢で勝負するには、企業に対して教育コストをかけず、自分で学ぶ姿勢を証明すること、だとも思いました。
当時大手プログラミングスクールの個別相談にも行ってみましたが、60万以上の入学金で就職先は主にSESと言われました。否定するわけではありませんが、仕事をやめて3ヶ月フルコミットという選択もリスクが高いように感じ、やはり仕事と並行して独学という選択をしました。
学習開始、そして挫折(2022年2月)
前半4ヶ月はPythonとDjangoを、後半11月からRubyとRailsをメインに学習しました。後半3ヶ月間の学習内容としては下の通りです。
Progate(HTML・CSS・JavaScript・Ruby・Rails)
企業サイトの模写(3つほど)
ドットインストール(javascriptミニゲーム10個作成)
Railsチュートリアル3周ほど
Udemy講座(AWS・Git・Reactなどを勉強)
結構一生懸命勉強してました。月100時間くらいは勉強してたと思います。周りに聞く人がいなかったので、とにかく調べながらエラーと戦いながらインプットとアウトプットを繰り返しました。
2022年の年明けにPFを作ってみました。Railsチュートリアルの延長のようなアプリで、おすすめの本を投稿・レビューし合うSNSライクなサービスを途中まで作りました。
ただ、そこで挫折してしまいました。形はできたんですが、納得いかずやめてしまいました。挫折した原因は「終わりがみえない」というなんともいえない感情でした。
当時ひとりでがむしゃらに勉強していたので、目標に向けたロードマップが曖昧でした。どこまで学べばよしとするのか、このアプリで果たして転職できるのか、転職活動もわからないことだらけで何を参考にすればいいか何もわからない、玉石混交なネットの情報に惑わされ、いつの間にかPCを触らなくなっていました。
挫折という後ろめたさを感じつつ、プログラミングを考えないよう蓋をして生活することにしました。
都内居酒屋にて再起(2022年3月末)
ただ2ヶ月くらいした3月末頃、奥さんといった居酒屋の後ろの席でなんらかの技術について話をする2人のエンジニアがいました。直感的にエンジニアだとわかりました。多分ちがうかもだけど。。。そこで、曲がりなりにも7ヶ月頑張ってきた想いが溢れてきたのを覚えています。
いいなぁと思う羨望の気持ちと自分は挫折してしまったという悔しさ、結構マイナスな気持ちでしたが、「もう一度頑張りたい」と思うには十分大きな感情でした。前回の反省を洗い出し、戦略を練り直してみることにしました。
学習の戦略
独学期の挫折の反省を踏まえ、改めて学習するにはロードマップ的なものや、モチベーションが管理できる仕組みづくりが必要だと考えました。
検討した選択肢はスクールかMENTAの活用でした。スクールでも以前から注目していたスクールがありました。それがRUNTEQでした。
RUNTEQかMENTAかで考えた結果、RUNTEQを選びました。選んだ理由は実務を想定したカリキュラムが組まれていることと、アイデア性に富んだPFが多いという印象が強かったからです。
前者は学習1000時間という設定と活躍されている卒業生の方々の存在が大きかったです。校長のひさじゅさんは実務にはいる最低限の目安として1000時間を設定しています。また、9ヶ月のロングランであることは、他のスクールと違う大きな点だと思いました。なんというか着実に基礎を固めることに集中できそう、と思いました。カリキュラムの良し悪しは入学当時の私ではわからなかったのですが、卒業生の制作したPFや内定先から判断して、1000時間のカリキュラム完走を一つの目標(ロードマップ)に据えるのは妥当だと思いました。
後者のアイデア性のあるPFですが、転職が目的であればそんなに力を入れなくても…という意見もありますが、個人的には違う発想をしてました。今後エンジニアとして仕事をするのであれば、ただ転職のためにアプリを作るのではなく、アイデアが面白くテンション上がるアプリを作る、といった経験もとても重要な要素だと思ったからです。
卒業生のインタビュー記事やRUNTEQ関連の記事を見れるかぎり見て検討した結果、RUNTEQへの入学を決めました。個別相談会も行きましたが、入学前提で色々相談してたと思います。
RUNTEQ学習(2022年6月~)
学習にあたって目標は次のように設定しました。
技術のキャッチアップは幅広く。
以前から持っている技術ベースで作れるアプリのアイデアを考える傾向が自分自身ありました。その理屈から多くの技術に触れることでアイデアも広がるのでは、と思い、RailsでもLinebotや外部APIを活用してアウトプットしてみたり、Reactにも触れてみたり、色々アウトプットの実験をしてみました。結果として考えが広がり、勉強時間を重ねるにつれて、アウトプットの幅も広がっていったのでよかったと思います。
とにかく学習を楽しむ!
独学期にとにかくプログラミング学習は継続が肝だと思いました。SNSやtimesへのアウトプットも力みすぎず楽しみながら行ったり、多く方と雑談をしつつ、Discordで一緒に勉強したりなどしてモチベーション管理をしてました。正直もう少し技術的なアウトプットはしても良かったとは思いますが、今日まで楽しく学習できているのでよきかなと思います。
カリキュラム学習中(2022年6月〜3月)
そんなこんなでカリキュラムを6/23から開始しました。RUNTEQのカリキュラムは入門編、基礎編、応用編と大きく3段階に分かれています。
それぞれ入門編ではベースとなる基礎知識のインプット、基礎編では実際に目標となるアプリを作成するアウトプット、応用編では既存のアプリに追加機能を実装するコードリーティングを踏まえたアウトプット、みたいな感じでした。それぞれカリキュラムと並行してやったことを記載します。
・入門編
- Railsチュートリアル
- 簡易アプリ作成(開発のみ、デプロイはしていません)
- ハッカソン参加表明(チーム編成、アイデア検討)
・基礎編
- Everyday Rails(RSpecの教材)
- ハッカソンアプリ実装
- DockerとReactをちょっと
・応用編
- Docker、AWS、Reactの学習(Udemy講座)
入門編から小さなプログラミングを動かしてみることを意識して簡単なCRUDアプリやらRailsチュートリアルやらやってました。また、入学して1ヶ月ほどの頃にRUNTEQ内でハッカソン参加の募集がありました。チーム開発の経験ないし、多分ほとんど先輩だし、と思ったんですが、ハッカソン自体行政が主催するシビックテックだったという点で公務員としても魅力的であり、思い切って挑戦してみることにしました。
これがいい経験でチーム開発の触りを学ぶことができました。ER図や画面遷移図も作成させてもらい、多くのことを学べました。結果も上位10チームに選ばれてFinalStageまで進むことができました。
応用編の途中、11月初め頃にPF案が固まりました。入門編の時から案出しはしていて、やっと応用編でアイデアが降りてきました。最終的にはスクールの先輩のアイデアから着想を得て、色々掛け算してアイデアを広げていった感じでした。
アイデアが固まったら技術選定です。使用する技術ではいくつか迷いがありました。フロントはReactかVueどちらを使うか、Docker、AWSは使用すべきか否か、などなど。これらについては企業の動向を調べました。wantedlyでなんとなく気になる企業で使われている技術を見て最終的な技術を決定しました。
応用編・卒業試験も11月中旬で終わり、PF実装を開始しました。ただ、技術的なハードルを高くしすぎて、沼にはまっては出られないといった状況が多発しましたが、3月5日になんとか本リリースしました。。
「画HACK」というアプリを作りました。あらかじめ決められたお題に沿って絵を描き、投稿するアプリです。投稿された絵はアプリ内で額縁に飾られ、Twitterにクイズ形式でシェアできます。これまた設計が甘く、投稿が100を超えたあたりから著しくパフォーマンスが低下してしまっています泣 もしよかったらみてみてください。。
私自身幼少期に絵を描くことが好きでも受験勉強や社会人生活の中に置いてきてしまった過去があり、童心に帰って絵を描く楽しい時間をアプリで提供できればと思い、作成しました。ハッカソンで作成したアプリ(サイ適くん)と画HACKを武器に、いざ就活を開始します。
就活期(3月中旬〜5月中旬)
前職の公務員も2022年3月末に退職しました。ここまでくれば頑張るだけだと!ただ、自己分析・書類作成などは特別工夫できたことはなく、ここでも勉強と就活は7:3くらいでゆったりやってしまっていました…
面接が苦手だったので、自習室のテレフォンブースでぶつぶついって練習したり、zoomで自撮りして印象をチェックしたりしました。最終的には以下の結果となりました。
【結果】
応募:9社
書類通過:8社
内定:4社(そのほか2社落選、2社選考辞退)
4社の内訳は、自社開発1社、受託3社です。
振り返って
独学開始から2年弱、回り道しまくってやっとこさスタートラインに立てそうです。紆余曲折ありましたが、振り返れば貴重な時間だったと思います。もっと手っ取り早く転職できたかもしれませんが、自分自身思考し、戦略を立てる姿勢を一貫して大事にしてこれた経験はちょっとだけ誇らしくもありました。これからもこういった姿勢を大事にコツコツ頑張りたいです。
そして、スクールという選択、特にRUNTEQを選んだことはとても良かったです。自分が当初想定していたより魅力的な要素がとても多かったです。コミュニティが活発であったり、特に受講生のレベルが高かったように感じました。比較して劣等感に悩まされることも多々ありましたが、これから一層向き合う問題だと思うので、これもいい経験かなと。
実務に入っても開発を楽しむ精神を忘れず、健康にも気をつかってジムとか通って行きたいところです。
振り返りは以上とします。ここまで読んでいただき、本当にありがとうございました!!