【月次報告】エンジニアになって30ヶ月が経ちました
こんにちは、しゅんです。エンジニアになって30ヶ月が過ぎましたので今月も振り返りをしていきます。
※エンジニアになって29ヶ月目の記事も投稿しています。お時間ございましたらご覧ください。
エンジニアになって30ヶ月が経ちました
プロジェクト内・プロジェクト外・会社外の3部構成で振り返りをしていきます。
プロジェクト内
教育サービス(1.0)
PMから工数を1.0頂戴し後輩エンジニアに引き継ぎをしていました。2年携わっていたのですが自分だけにドメインが貯まることを懸念していて実装ログやトラブルシューティングを地道に残していたこともありスムーズに終わりました。
あとは実践を踏まえて経験を積んでいただくだけなので都度わからない箇所があったら工数に関係なく来月以降もサポートしていこうと思っています。
今月はタスクが引き継ぎのみだったので、手隙の時間でNext.js App Routerのキャッチアップをがっつりやっていました。先月Next.js14がリリースされたのもありますが、そろそろApp Routerを実際のプロダクトで使っても問題ないと思ったからです。App Router関連の技術記事が増えてきたのも要因になります。
できるだけ案件として進めるならどう構成していくか、技術選定やディレクトリ構成や蛇足ではありますがRSC以外でもバンドルサイズを減らせないか意識して個人開発に取り組んでいました。
そのため後述するkey-frontもRSCとApp Routerがメインの話になっています。よく「SSR・SSG(Next.js)はtoCプロダクトでtoBプロダクトだからCSRのみ(React)だよ」みたいな記事も見るのですがプロダクトの特徴に関係なくRSCはバンドルサイズの節約(パフォーマンスの向上)につながるのでキャッチアップは必要になる技術だと思いました。
ReactのRSCになるので、対応しているApp Router(Next.js)以外のFWも出てきたら試して見たいですね。
プロジェクト外
key-front
key-frontを初めて5ヶ月が過ぎましたので今月も振り返りをしていきます。
※概要を知りたい方がいましたら紹介記事も投稿しています。お時間ございましたらご覧ください。
個人的な理由でNext.js App Router強化月間になりました。
個人開発もNext.js App RouterにかなりコミットしていたのでどういったフローでRSCが動いているのか今までのSSRのフローも追って調査して見たり、App RouterでCSS-in-JSが使えない理由やPage RouterからApp Routerに移行する想定でどうやったら差分が少なく実装できるか(開発者の認知負債がなくなるか)をI/Oすることができました。
ある記事で「App Routerは別のFWとして見た方が良いかも」とあったように初見の機能や用語が多かったからかkey-frontでもあまり質問が出ず、もう少し画像や動画を使った説明で具体的に取り上げればよかったと反省しています。
まだまだキャッチアップしないといけないことも多々あるので、来月も引き続きApp Routerは取り上げて共有し、反省箇所を活かしていこうと思っています。今月の議事録は以下になります。
ちなみに個人開発ではフロントをNext.js App RouterでサーバーをNext.js API Routes・Prisma・SQLiteで進めているのですが思ったサクサク開発を進められるので今後もフルスタックにやるなら選ぶかも知れません。(もし大きくやるならNext.js API RoutesをNest.jsに入れ替えるかも)
会社外
Lightning Talk
重複してしまいますが今月は時間に余裕があったので外部のLTを多めに視聴・参加しインプット量を増やしました。具体的にはオンラインLTを4本、オフラインLTを1本参加しました。オフライン・オフラインから1本ずつ印象に残ったLTについて紹介します。
オンラインLTは下記に参加しました。
視聴して目から鱗だったのはtsconfig/basesというライブラリを知れたことです。コミュニティが管理しているtsconfigのルールセットみたいなもので設定を丸投げできる(しかもメンテナンスされていて厳し目に設定してくれる)のは楽ですし、tsconfigを管理するリソース分プロダクト開発に集中できるのはすごく助かります。
ESListにもこういったルールセットはあるのでやっぱりtsconfigにもあるのかと思いました。今後はこちらをベースに案件ごとにカスタマイズして使っていこうと思っています。あとはブルーベリー本読まないと…
オフラインLTは下記に参加しました。
実は12月の案件がFlutter→Next.js App Routerへのフルリプレイス案件にソロで入ることが決定しました。key-frontでI/Oはしていますが、ちょっとでもApp Routerの知見の足しになるように、かつ普段関わらないであろう他のエンジニアと話して見たいと思って参加しました。
主催者側で用意してくださっていたハンズオンの内容が、まだキャッチアップできていない箇所のコード・解説だったので勉強になったのと、事前に考えていたApp Routerの実装方針で悩んでいることを相談できたのがよかったです。
具体的な内容はTwitterクローンをApp Routerで作るのがメインで無限スクロールの実装(Server Actionsでも実装できるらしい)とIntercepting routesとParallel Routesを用いたモーダル実装を経験することができました。
Server Actionsに関しては最近stableになったこともあり様子見ですがIntercepting routesとParallel Routesに関しては今後の実装に取り入れていきたいと思いました。
今回のオフラインLTのハンズオンの骨子はVercelのサンプルになるかと思います。こちらも後でじっくりみようと思っています。
オフラインのLT自体初めての経験だったのですが楽しく交流し知見を深めることができました。特に同じグループの方が元GeekSalon所属だったことに驚きました。世間は狭いですね。(GeekSalonについては下記をご覧ください。)
最後に
新しくフロントdivに入社された方が認定スクラムマスターを持っており、今までなんとなくやっていたスクラム開発を一新できるように色々開発手法について伺ってみようと思います。早速key-frontに参加してくださる模様です。助かります。
今はスクラム開発(他の開発手法も含む)やオンボーディングとかにも興味が湧いてきており組織力の底上げができる活動に注力しています。key-frontもその活動の一環ですね。最近では採用の方にも参加するようになってきています。
開発以外のソフトスキルやチーム開発の向上などまだまだエンジニアとして身につけなければいけないものが沢山あるので興味の持てるモチベーションの高いところからせめていき自分の引き出しを増やしていきたいです。
今後も継続して月次報告をしていこうと思っています。(主に月の最終週に更新する予定です。)駆け足になりましたが最後までご覧いただきありがとうございました。