学習の順番について
まずは、roadmap.shを見てみてください。これが一番欲しいものなのかなと思います。
https://roadmap.sh/frontend
https://roadmap.sh/full-stack
さて、僕は未経験からエンジニアになるためのロードマップを書こうとしているのですが、以下の順番で書こうとしています。
HTML
CSS
JavaScript
TypeScript
運用
保守
リファクタリング
Git
GitHub
Node.js
Express
React
SQL
DB
Linux
Docker
ネットワーク
クラウド
AWS
セキュリティ
上流工程
テスト
AIと共に開発するということ
ポートフォリオ
自前で考えたものですが、最初に挙げたroadmap.shのフルスタックのものと内容とかなり似通ってますね。言語はともかくとしても、エンジニアの基礎を抑えようとすると大体上のような順番になるのかなと思います。自分の流れで考えると、tenplant1203さんの場合、「リファクタリング(綺麗なコード)」「Git/GitHub」「SQL/DB」あたりを勉強し、次にインフラ、という流れになりそうですね。
学習計画について
目標について、4点アドバイスがあります。
1つ目が、大学卒業までの目標ということですが、小さくて構わないので1つのアプリ(ポートフォリオアプリのことです)を作ることをゴールにすることをおすすめします。
アプリを作るためには、要件の整理、設計、インフラ、バックエンド、フロントエンド、エンジニアとしての全ての技術が必要になります。それらを一通りこなすことでエンジニアとしての基礎が完成すると思います。「自分はここまでできます」と言いやすいですしね。自力で一通りのポートフォリオアプリを作ることは、エンジニアとして実力をつけるにあたり、適切な中間目標だと思います。
そして可能であれば、1つ目のアプリではなくても構わないので、月5,000円でいいので収益を立てることを目標としてみてください。すべてのアプリは自身の費用対効果を最大化することを目標とします。アプリのほとんど全てはユーザーから何らかの形でお金をもらうことが目標です。ここをシビアに考えられるエンジニアはなかなかいなく、是非挑戦してみてほしいです。
2つ目が、基本情報と応用情報を取ることをおすすめします。
これは社会人になると多分結構な回数「取ってないの?」と聞かれると思うのですが、社会人になると特に机に向かうような学習時間を確保するのはしんどいです。今のうちに取っておくと後で楽だと思います。ベストプラクティスをまとめているような出題もそこそこあるので周辺知識も充実しますしね。
3つ目が、授業をがんばりGPAを上げることをおすすめします。
年単位で計画を立てるのは難しいことです。自分で学習を計画して実行しようという気持ちは非常に素晴らしいですが、情報系ということなので、授業もまたとても良い学習になると思います。目の前の授業を100%以上理解し、90点以上の評価を取れるようにすると、結果的にかなり強いエンジニアになっているはずです。そしてこれは大学生のうちでしか学べないやり方でのため、今熱意を向ける先としてはかなりおすすめです。
4つ目が、AIを活用したプログラミングに深くキャッチアップすることをおすすめします。
tenplant1203さんが社会人になる3年後は、AIを活用したプログラミングの波は今よりかなり大きなものになっていると思います。AIとのプログラミングの学習曲線が、学習コストが低く済むものなのか高くかかるものになるのかはまだわかりません。しかし、2025年の今現在プログラミングを学ぶなら、この波の最前線を感じることは非常に面白い経験になると思います。早めにキャッチアップすることによるチャンスがあるかもしれませんしね。
これはついでに、アドバイスと言うより自分の好みですが、Paizaのスキルチェック問題集もLeetCodeの代わりとしておすすめです。レートがあるのと日本語なので自分のレベルにあった問題を選びやすいように感じます。あとは自分の好みその2として、学生のうちに本を読んでおくと力になると思います。たくさん本を読めるのは学生時代の強みですからね。
こんな感じでしょうか。エンジニア業界は腕前主義的な側面が強く、19歳という若さで明確な目標を持たれていことが羨ましいです。学習を続ければ将来的に大きなアドバンテージになると思います。是非意欲を持って学習を継続されてくださいね。