実務に入る前の勉強フェーズで、効率よく成長するための勉強法について書きます。ポートフォリオの練り方と、モダンな技術スタックのインプットの仕方の2本立てです。
まんじです〜
今回は実務入る前に効率がいいプログラミング勉強法っぽい話でも書こうかと思います。
結論、定番どころを抑えてポートフォリオを練ることと、モダンな技術スタックをインプットしておくこと、この2つをやっておくとめちゃくちゃ効率がいいです。
1. 定番どころを抑えてポートフォリオを練る
1個目が、定番どころを抑えてポートフォリオを練るっていう話ですね。
ポートフォリオを練るっていうのはどういう話かって言うと、機能要件とフロントエンドの見えるUIの方、あと機能的な方、例えばビジネスロジックでこういうことをしたらこういうアクションが起こるとか、そういったところを練るってことっすね。
例えば歴史が勉強できるようなWebアプリを作ったとして、その歴史を勉強するにあたって、
- フラッシュカード機能がついている
- 前回覚えてなかったことを毎日メール通知で届ける
- LINE通知が届く
みたいなのが機能要件っていう感じですね。
で、自分がさっき言った定番どころっていう話が、モダンな技術スタックをまず使うっていうところ。
あとそのモダンな技術スタックに付随した知識っていうのが、実務だとある程度定番というかオーソドックスなものが結構あるんすよね。
例えばフロントエンドのReactとかであれば、
- 一番上のコンポーネントに確認用のモーダルを置いて、グローバルステートでどこからでも開けるようにする
- グローバルステートはZustandとかそういうライブラリーを使って状態管理する
- フェッチ系のライブラリーだったらReact QueryとかSWRとかを使う
- フロントエンドでキャッシュしたいならローカルストレージとかクッキーとかをカスタムフックで使う
みたいな感じで、実務で使われるものって割とそこそこ数えきれるぐらいの数なんで、そこら辺を抑えた上でポートフォリオを洗練するのがめちゃくちゃいいっすね。
今の例で言うとフロントエンドのReactの話になっちゃったんですけど、例えばAPIの方であれば、
- コードベースのアーキテクチャー、例えばクリーンアーキテクチャーを導入する
- サーバーサイドバリデーションとかで、こういったライブラリーを使う
- 複数のテーブルをまたがって更新とか作成をする場合はトランザクションを貼る
- 同期処理だけじゃなくて、バッチジョブに任せればいい処理はバッチジョブに任せる
そういった感じの定番のところが割とあるんで、そこら辺を抑えて開発、っていうかポートフォリオを洗練させると、めちゃくちゃ効率が本当にいいっすね。
そこら辺は宣伝なんですけど、自分が売ってる講座買ってもらえればフィードバックとかもらえたりしますね。
そういった機能要件、定番どころを抑えてやれると、やっぱシンプルに効率がいいすね。
2. モダンな技術スタックのインプット
2つ目が、モダンな技術スタックのインプットっていう話ですね。
モダンな技術スタックのインプットっていうのは何かって言うと、
- コンピューターサイエンスの本当に基本的なところをインプットしよう
- 本当にすごい基本的なアルゴリズムはこのパターンを知っておこう
- コードベースのアーキテクチャーはこれとこれを勉強しよう
- システムアーキテクチャーみたいなところで言うと、例えばBFFとかマイクロサービスとか、そういったものをとりあえず知っておこう
みたいな感じで、わりかしそういうインプット系を知っておきたい系が結構あったりするんで、そこら辺のモダンインプット系をインプットするとめっちゃいいすね。
あと他にもAWSとか実務でめっちゃ使われてるんですけど、
- S3とかLambdaとかEC2とかECSとか、そういったところを抑える
- 全文検索とかだったらElasticsearchとかOpenSearchとか、そこら辺が使われるんで勉強しておく
- コンテナサービスのオーケストレーションでKubernetesがよく使われる
そういった感じの定番のところが結構あったりするんで、そういう定番のところをインプットできるとめちゃくちゃ効率がいいすね。
まんじからの感想
アウトプットとインプット、両方とも大事で、特にアウトプットっていうかポートフォリオを洗練させるっていうのが、やっぱなんだかんだすごいいいなっていう風には思っています。
で、インプットする知識ってか、大体ここら辺を知っておきたいみたいな、もちろん実務の前だと深い理解を得るのは不可能なんですけど、そういった定番どころを知っておきたいっていうところを抑えられると、なお効率がいいっていう感じですね。
自分、新卒でエンジニア就活してる頃に、KubernetesのK8Sっていうのを聞いたことってか見たことはあったんですけど、あるミドルベンチャーの2次面接で「K8sって何ですか」みたいなきめえことを言ったら、それが直接の原因ではなかったと思うんすけど、あんまりいい評価じゃなかったっていうか、そんぐらい調べとけよっていう話でしかないんですよね。
なんで、面接する側からしても、こういった定番のところは知っといて欲しいよねっていうか、実務で普通に出てくるよねっていう技術スタックとかインプット系はあったりするのと、採用の判断材料になったりするところもあるんで、定番どころ抑えたアウトプットとインプット両方が合わさるとめちゃくちゃ効率がいいかなっていうのは思いますね。
で、ただそこら辺が自分の動画の中ではちょっと網羅しきれっていうのがあるんで、もったいぶってるみたいな感じになってちょっと申し訳ないんですけど、抑えるべきポイントみたいなのがなんだかんだ言ってもあるっちゃあるっていう感じですね。
もちろん1番ベースになるのは、ちゃんと作業量を確保してポートフォリオを洗練させる、分かんないところがあったら自分で調べる、っていうところなんすけど、ただすいません、具体的な話があんまできなかったんですけど、やっぱり定番どころを抑えるっていうのがめちゃくちゃいいと思います。
なんか個人的に情報隠してるみたいな感じになっちゃって、ちょっと何とも言えないんですけど、そこはまた別で考えようと思います。
LVLPATHの未経験からの講座買ってもらって手順通りやってもらって自分に壁打ちやら質問してもらえれば、こういった定番どころも一緒に抑えられると思います。
ってことで終わりです。




