未経験の私が学習半年でぶつかった「バックエンド何選ぶ問題」。歪なアプリを作った末の結論。
前提
プログラミング・IT業界共に全くの未経験の私がWeb系エンジニアを志した。
フロント学習のためにReact/Supabase/Vercelを使ってアプリを作った。
しかしそれはフロントにロジックを詰め込みすぎた、バックエンドの無い、あまりに『歪で世に出してはいけない』物だった。
ここで発生した問題『バックエンドは何を学習する?』
1月から2月前半の職業訓練でやっとバックエンドに触れた私は、学びたい物の選択肢を三つに絞った。
1.Java(一番使われている)
2.Laravel(WEBモダン)
3.Next.js(TypeScriptで書ける)
案件の多さなどからJavaから順にバックエンドとしての優先順位が高そうで、順にLaravel、Nextと下がっていくように思う、TypeScriptでバックエンドをかけるのは楽しそう。
技術スタックの選び方について
①要件に合わせるべき
フロントエンドのイベントでLTされていたいっせーさんも言ってるし、それっぽいエンジニア系YouTuberも言ってる
②まずやってから考えるべき
最強エンジニアの友人が言ってる
みんな言ってる事を私が正しく理解できていなかったことで手が止まっていた。
③結論
・おそらくバックエンドが先にあってフロントがある
・バックエンドとフロントをどっちも同粒度で考える
この2点が前提にありそうな気がする。
自分のが歪だった理由はフロントが先、だから結果がチグハグだったのではないか。
Java、Laravel、Next、どんなバックエンドを選んだとしても、フロントをReactでかくことはできるのだから。
ここまでわかった上で、「自分のプロジェクトは」Nextが最適解だと思った。
だってReactフレームワークでありVercel開発だから、強烈にサポートされて親和性が高い。
じゃあJAVAとLaravelは?...別のプロジェクト作れば良いやん!
いくつもやったら覚えられないかも?...やってから考えたらええやん!
私のバックエンド何しよう問題は二つの視点で考えるべき物だった
Q1:自分の歪な正しくないプロジェクトにバックエンド実装は何が最適解か
A1:今のプロジェクトはNextで実装する!
理由:ReactフレームワークでありVercel開発のため、圧倒的に親和性が高いから。
Q2 バックエンドを学ぶ優先順位は何が良さそう?
A2 バックエンドを学ぶならJavaが一番、歴史があるから情報が沢山ある Webモダンを学ぶならLaravelもやったら良い!
理由:歴史があり情報も多いJavaで基礎を固め、モダンなWeb開発としてLaravelも触れたら良いじゃん。
この答えが正しいか確かめるべく、4月からエンジニアというジャングルに足を踏み入れます。
最後に
先輩エンジニアの方へ
私をどこかで見かけたら、ぜひいろんな事を教えて下さい。
どうか間違いだらけの私を正して頂けるとありがたいです。
未経験からエンジニアを目指す方へ
悩むことが多いかもしれませんが、まずは手を動かして「当事者」になってください。
個人開発・仕事に就く・スクール・職業訓練・どんな手段でも当事者になれば勉強は楽しくなり、身につきやすいと思います。
イベントに参加するのも良いと思います、福岡で私が参加したイベントは全部楽しかったですよ。
最後まで読んでいただき、ありがとうございました!
まだまだ知識不足で、的外れなことを言っている部分もあるかもしれません。ですが、4月から現場に出る身として、今の「迷い」や「気づき」を忘れないためにこの記事を書きました。
もしこの記事が、私と同じように「次、何を学べばいいんだろう?」と立ち止まっている方のヒントに少しでもなれば幸いです。