Tatsuya Nambu

Development

学習サービスだけでは見えなかった、実務で得られるエンジニアとしての解像度

はじめに

Progate、Udemy、プログラミング・コンピュータサイエンス学習サービス、技術書。ソフトウェア開発のエンジニアを目指して、使えるものは片っ端から試しました。YouTube の解説動画も見漁りました。基礎文法は身についたし、簡単なアプリも作れるようになった。でも、どこか「分かったつもり」の感覚が抜けなかった。

その感覚が変わったのは、実際のプロジェクトに参画してからです。

学習サービスでは見えなかったもの

学習サービスの教材はよくできています。ステップバイステップで進められるし、エラーが出ても丁寧にフォローしてくれる。ただ、実務のコードベースに初めて触れたとき、別世界だと感じました。

設計の「なぜ」

学習教材では「こう書きましょう」と教わりますが、なぜその構成にするのかまでは踏み込まない。実務のコードには、先人たちの設計判断が積み重なっています。ディレクトリ構成、責務の分け方、命名規則。一つひとつに理由がある。それを読み解けるようになったとき、初めて「設計」の意味が理解できました。

コードレビューという学びの場

学習サービスでは自分のコードを誰かにレビューしてもらう機会がほとんどありません。実務では毎回レビューがある。最初は指摘の意味すら分からなかった。「CIテストでUnit Testのエラーが発生している」「マイグレーションファイルは自動生成に任せるのが方針」。当時は何のことか分からなかったけれど、実務を続けるうちに、一つずつ腑に落ちていきました。

チーム開発のリアル

Git のブランチ戦略、PRの書き方、CI/CD。学習教材では「Git の使い方」は教わっても、チームでどう運用するかは学べません。質問の仕方や、仕様の確認方法といったコミュニケーション面も、実務でしか身につかないスキルでした。

正直、つらかった

実務に飛び込んで楽だったとは言いません。コードベースの規模感に圧倒されたし、知識不足を毎日痛感しました。チームメンバーとのコミュニケーションも最初は苦労した。

でも、そのつらさの中で「解像度」が上がっていく実感がありました。

解像度が上がると、学びが加速する

実務を経験した後に学習教材に戻ると、以前とはまったく違う見え方になります。

点でしかなかった知識が、線でつながる。「あの教材で習ったパターン、あのプロジェクトのあの部分で使われていたのか」と気づく瞬間がある。解像度が上がると、同じ教材からでもより深い学びを得られるようになります。

まとめ

学習サービスを否定しているわけではありません。基礎を身につけるには最適な手段です。ただ、そこで止まっていると「分かったつもり」から抜け出せない。

怖くても、実務の現場に飛び込んでみてほしい。完璧に準備してからなんて思わなくていい。つらいことも多いけれど、エンジニアとしての解像度は確実に上がります。そして解像度が上がった状態で学び直すと、成長のスピードが段違いに変わります。