未経験からエンジニアを目指そうとしたとき、気になったことの一つが、仕事をしながらどのくらい勉強すればいいのかということでした。
自分の場合は、福祉の仕事を続けながらプログラミングを学び、ポートフォリオを作ってから転職活動を始めています。
特にポートフォリオを作っていた時期は、平日の朝と夜、休日のほとんどを学習や制作に使っていました。
この記事では、そのとき実際にどのくらい勉強していたのか、何を作っていたのか、どの時点で転職活動を始めたのかを振り返ります。
ここで紹介するのは、あくまで自分の場合です。
「毎日このくらいやれば転職できる」という基準ではありません。
最初は無料のProgateから始めた
プログラミングに初めて触ったのは、2021年1月です。
YouTubeを見ている中でプログラミングに興味を持ち、無料で始められるProgateを使いました。
チュートリアルのように進められる内容が多く、ゲーム感覚で進めるのが楽しかったです。1日2〜3時間ほど触り、1週間くらいでJavaScriptやHTML、DBについて一通り進めた記憶があります。
実際に手を動かしてみて、「これだったら進んでいけそう」と感じました。
Progateが終わったあと、ほぼすぐにMENTAでメンターを探しました。メンターからロードマップをもらい、その中にある課題を進めながら、FizzBuzzやAPI、書籍、Udemyなどにも取り組んでいます。
振り返ると、ポートフォリオを作り始めるまでの約1年は、1日2時間くらいのペースで勉強していたと思います。
大きく学習が途切れた時期はほとんどなく、技術書を読むなど、何かしらの形で学習は続けていました。
そして2022年1月にポートフォリオ制作へ入る頃、学習時間をそれまでの倍くらいに増やしました。
本格的にエンジニアへの転職を考えるようになったのも、このポートフォリオ制作を始めた頃からでした。
働きながら、平日は朝と夜に勉強していた
ポートフォリオを作っていた時期も、福祉の仕事は続けていました。
平日は、おおよそ次のような生活でした。
平日の時間
| 時間 | 内容 |
|---|---|
| 5:00〜7:00 | 学習・ポートフォリオ制作 |
| 8:00〜19:00 | 仕事・通勤 |
| 20:30〜22:30 | 学習・ポートフォリオ制作 |
平日は、朝に約2時間、仕事が終わったあとに約2時間というペースでした。
ポートフォリオを作り始めるまでは1日2時間くらいのペースで勉強していたので、この頃から学習時間をそれまでの倍くらいに増やしています。
朝5時に起きること自体を勧めたいわけではなく、自分の場合はこの時間帯で勉強していました。
休日はほぼ丸一日使っていた
休日は、9:00〜18:00くらいまで、昼休憩を挟みながら学習やポートフォリオ制作に使っていました。
平日と休日でやることを明確に分けていたわけではありません。休日は、シンプルに取り組める時間が増える感覚でした。
自分は面白いゲームがあると時間を忘れて没頭するタイプですが、当時のプログラミングもそれに近い感覚がありました。休日をほぼ丸一日使うこと自体も、特に気になりませんでした。
画面上で自分の書いたものが動くのを見るのもシンプルに楽しかったです。分からないことや難しいところはありましたが、途中で辞めたいと思ったことはありませんでした。
長い時間取り組むことも苦にならず、その頃には、「ITに向いているのかもしれない」と感じていました。
約3か月かけて家計簿アプリを作った
2022年1月から3月にかけて、ポートフォリオとして家計簿アプリを作りました。
使ったのはVue.jsとExpressです。家計簿を選んだのは、生活に近い題材のほうが、自分でも必要な機能をイメージしやすかったからでした。
認証機能も入れています。システム自体は自分で考えましたが、すべてをゼロから書いたわけではありません。特に認証周りは、他の人の実装をかなり参考にしながら作りました。
制作中に一番時間を使った感覚があるのは、デザインでした。
自分の中で「どういう見た目にするのがいいのか」という正解がなかなか見えず、考えているうちにかなり時間を使った記憶があります。
DBの正規化や認証は難しかった
技術面で特に難しかったのは、DBの正規化と認証です。
DBの正規化は、正規化という考え方そのものが難しく感じました。
ただ、文章を読んでいるだけより、実際に手を動かしたほうが理解は進みました。当時は「習うより慣れろ」に近い感覚でした。
認証も同じように、コードだけを追えば理解できるものではありませんでした。
JWTと一口に言っても、なぜ従来のセッション管理ではなくこの方法を使うのか、トークンの有効期限をどう考えるのかなど、理解することがいくつもありました。
エラーが出たときは、メッセージを読んで調べれば解決できることもあります。ただ、エラーを直せることと、「なぜこの仕組みになっているのか」を理解することは別でした。
転職活動を始める基準も自分で決めていた
当時は、転職活動へ進む目安として、「ここまでできたら転職活動を始める」という基準を自分なりに置いていました。
確認していたのは、次のような内容です。
- Dockerで環境を構築できる
- CRUDを実装できる
- DBの基本を理解している
- APIの基本を理解している
- GitHubでコードを管理できる
- git-flowを理解している
- AWSへデプロイできる
- CI/CDを構築できる
これらに到達したところで、転職活動を始めると判断しました。
この一覧は、現在の未経験エンジニア転職で必須という意味ではありません。当時の自分が、転職活動へ進む区切りとして置いていた基準です。
ポートフォリオ完成後、実際に転職活動へ進みました。選考の詳細はこの記事では扱いません。
今なら、ポートフォリオの作り方は少し変えると思う
当時作った家計簿アプリについては、今振り返っても、ポートフォリオとして悪いものだったとは思っていません。
一方で、今なら改善したい部分もあります。特に、アーキテクチャパターンへの理解と、アプリそのものの有用性です。
作ったものは、月ごとの仕訳をまとめて登録できる程度の家計簿アプリでした。実際に使われることを考えるなら、もう少し利用価値や設計まで考えた作りのほうが、自分としても胸を張れたと思います。
これは当時そう考えていたわけではなく、実際にエンジニアとして働いた今だから感じることです。
自分の場合、最初から平日の朝と夜、休日のほとんどを勉強に使っていたわけではありません。Progateから始め、ポートフォリオを作り始めるまでは1日2時間くらいのペースで続け、制作に入るタイミングで学習時間を増やしました。
そのペースでポートフォリオを作り、自分なりに置いていた基準に到達したところで転職活動へ進みました。


コメント