未経験からエンジニアを目指そうとしたとき、気になったことの一つが、仕事をしながらどのくらい勉強すればいいのかということでした。
自分の場合は、福祉の仕事を続けながらプログラミングを学び、ポートフォリオを作ってから転職活動を始めています。
特にポートフォリオを作っていた時期は、平日の朝と夜、休日のほとんどを学習や制作に使っていました。
この記事では、そのとき実際にどのくらい勉強していたのか、何を作っていたのか、どの時点で転職活動を始めたのかを振り返ります。
最初は無料のProgateから始めた
プログラミングを最初に触ったのは、2021年1月です。
YouTubeを見ている中でプログラミングに興味を持ち、無料で始められるProgateを使いました。
この時点では、すでにエンジニア転職を決めていたわけではありません。
まずは実際に触ってみるところから始めています。
ProgateのあとにはMENTAでメンターを探し、ロードマップに沿って学習を進めました。
FizzBuzzやAPIについて学んだり、書籍やUdemyを使ったりしながら、少しずつできることを増やしていきました。
ただ、この時期については、どの教材を何時間使ったのかまでは記録していません。
本格的にエンジニアへの転職を考えるようになったのは、ポートフォリオを作り始めてからでした。
働きながら、平日は朝と夜に勉強していた
ポートフォリオを作っていた時期も、福祉の仕事は続けていました。
平日は、おおよそ次のような生活でした。
平日の時間
| 時間 | 内容 |
|---|---|
| 5:00〜7:00 | 学習・ポートフォリオ制作 |
| 8:00〜19:00 | 仕事・通勤 |
| 20:30〜22:30 | 学習・ポートフォリオ制作 |
平日だけを見ると、朝に約2時間、夜に約2時間です。
平日は、出勤前と仕事後の両方に学習時間を取っていました。
一方で、これは「朝5時に起きた方がいい」という話ではありません。
生活や仕事の時間は人によって違います。
自分の場合は、この時間帯で学習を続けていました。
休日はほぼ丸一日使っていた
休日は、ほぼ丸一日を学習や制作に使っていました。
約3か月、平日は朝と夜、休日はほぼ丸一日を学習やポートフォリオ制作に使っています。
正確な総学習時間は記録していません。
当時を振り返ると、1日8時間で換算すれば約1か月分くらいの学習量だった感覚はありますが、これは正確に計測した数字ではありません。
そのため、総時間よりも、
「約3か月、仕事を続けながら平日は朝と夜、休日はほぼ丸一日取り組んでいた」
という捉え方の方が実態に近いと思います。
約3か月かけて家計簿アプリを作った
2022年1月から3月にかけて、ポートフォリオとして家計簿アプリを作りました。
使ったのはVue.jsとExpressです。
家計簿を選んだのは、生活に近い題材の方が、自分でも必要な機能をイメージしやすかったからでした。
認証機能も入れています。
アプリ全体は自分で考えましたが、すべてをゼロから書いたわけではありません。
特に認証周りは、他の人の実装をかなり参考にしながら作りました。
未経験の段階で、何も見ずにすべて実装できていたわけではありません。
DBの正規化や認証は難しかった
制作の中で特に難しかったのは、DBの正規化と認証です。
JWTなどは、コードだけを追っていてもなかなか理解できませんでした。
エラーが出たときは、メッセージを読んで調べれば解決できることもあります。
ただ、エラーを直せることと、
「なぜこの仕組みになっているのか」を理解することは別でした。
この違いは、学習している中で強く感じた部分です。
長時間でも、学習そのものは苦にならなかった
平日は朝と夜、休日はほぼ丸一日。
時間だけを見ると、学習に使っていた時間は長かったと思います。
ただ、自分の場合は、途中で「もう辞めたい」と思ったことはありませんでした。
自分で書いたものが画面上で動くのを見るのが、単純に楽しかったからです。
分からないことはたくさんありましたし、DBの正規化や認証のように理解するのが難しい部分もありました。
それでも、長い時間パソコンに向かっていること自体は、それほど苦になりませんでした。
その頃から、「もしかするとITは自分に向いているのかもしれない」と思うようになりました。
今振り返ると、勉強時間の長さ以上に、この感覚は自分にとって大きかったと思います。
転職活動を始める基準も自分で決めていた
ポートフォリオが完成したから、そのまますぐに応募を始めたわけではありません。
自分なりに、
「ここまでできたら転職活動を始める」
という目安を持っていました。
当時確認していたのは、次のような内容です。
- Dockerで環境を構築できる
- CRUDを実装できる
- DBの基本を理解している
- APIの基本を理解している
- GitHubでコードを管理できる
- git-flowを理解している
- AWSへデプロイできる
- CI/CDを構築できる
これらをある程度経験したところで、転職活動を始めました。
この一覧も、現在の未経験エンジニア転職で必須という意味ではありません。
当時の自分が「応募を始めてもいい」と判断するために置いていた基準です。
何となく学習を続けるのではなく、自分なりに転職活動へ進む区切りを決めていたという方が近いです。
今なら、ポートフォリオの作り方は少し変えると思う
当時作った家計簿アプリについては、今振り返っても、ポートフォリオとして悪いものだったとは思っていません。
一方で、今なら改善したい部分もあります。
特に、アーキテクチャパターンへの理解と、アプリそのものの有用性です。
作ったものは、月ごとの仕訳をまとめて登録できる程度の家計簿アプリでした。
実際に誰かが継続して使うサービスとして考えると、それほど利用価値の高いものではありません。
当時は、まず動くものを完成させることに大きな意味がありました。
今作るのであれば、
「この機能を実装できるか」だけではなく、「実際に使われるならどういう設計が必要か」
まで考えると思います。
これは当時そう思っていたわけではなく、実際にエンジニアとして働いた今だから感じることです。
働きながら学習していた当時を振り返って
自分の場合、ポートフォリオを作っていた約3か月は、平日の朝と夜、休日のほとんどを学習や制作に使っていました。
そこまで続けられたのは、作ったものが動くことを楽しめていたことも大きかったと思います。
だから、自分の経験だけから「未経験なら何時間勉強すればいい」と決めることはできません。
自分の場合は、こうしたペースで約3か月取り組み、ポートフォリオを完成させてから転職活動に進みました。


コメント