【月次報告】エンジニアになって31ヶ月が経ちました
こんにちは、しゅんです。エンジニアになって31ヶ月が過ぎましたので今月も振り返りをしていきます。
※エンジニアになって30ヶ月目の記事も投稿しています。お時間ございましたらご覧ください。
エンジニアになって31ヶ月が経ちました
プロジェクト内・プロジェクト外・会社外の3部構成で振り返りをしていきます。
プロジェクト内
FlutterからNext.js App Routerへのフルリプレイス案件(1.0)
サービス概要としてはChatGPTを活用したDXサービスになります。そのためどうしてもChatGPTみたいな機能の拡張サービスになるので、本家と睨めっこしながら色々と新しい知見を仕入れることができました。
個人的にはStreams APIを使った実装が印象的でした。Fetch APIの返り値をbodyで受け取るとReadableStreamになっているのもそうですが、マイナーなようで実は組み込みAPI対応済みだったというのは意外です。ともあれ本家ChatGPTのようなパパパパッと表示する実装の裏側を知れたのはよかったです。
他には、Firebase AuthとNextAuthを使っての状態管理だったり(これに関しては汎用性ありそう。Server Actions使えば実装をサーバーにもって来れそう)CICDはGitHub Actionsを使用しているのですが、そちらのキャッチアップだったり(今回はインフラの方がお膳立てしてくれたのですが流石に読めないのはまずい)barrel fileを極力排除して不要なバンドルをそもそもさせない実装方針を取ったりしていました。(これに関しては開発者体験とのトレードオフだと思った。use clientでTree Shaking効いていないぽい?ので対応)
また、App Routerを使うにあたってUIフレームワークを使用するのではなく、CSS Modulesで実装を進める方針にしたのですが、実際にコンポーネントを作ってみると「だいぶUIフレームワークに依存していたんだな」と実感しました。一方で一度作って仕舞えば仕様変更やデザイン変更などの微調整に対応しやすいのでトレードオフだよな、とも感じました。
CSS Modulesを選定した理由に関しては下記をご覧ください。
辛かったことといえば、ほとんどドメイン情報が共有されない状態だったのでFlutterとPythonを見ながら実装コードを追い、かつ旧アプリも実装が続いているので新アプリの実装が終わったと思ったら旧アプリの更新がされていて改修しないと、なんてことも多々あるイタチごっこの実装だったことです。
以前JQueryからReactへのフルリプレイス案件を経験したことがあるのですが、その時は旧アプリの仕様をかなり把握されている方がサーバーにいて、旧アプリ自体も運用保守フェーズでリプレイス中に大きな変更もなかったのでスムーズに進んだのですが、今回ばっかりはどうしようかなーというところです。
なので少しでもサーバー側のコードの理解を向上させ、最終的には新アプリの開発スピードを上げるために中途半端に学習していたDDDの勉強を再開しました。旧アプリ対応メンバーともコミュニケーションを密にしてイタチごっこにならないようにしたいです。
プロジェクト外
key-front
key-frontを初めて6ヶ月が過ぎましたので今月も振り返りをしていきます。
※概要を知りたい方がいましたら紹介記事も投稿しています。お時間ございましたらご覧ください。
今月は筆者が多忙だったこともあり、発表することはできなかったのですが、スクラムマスターの資格を持っている方からのスクラムマスターに関する発表だったり、Server Actions(Next.js App Router)の発表だったりと話題が尽きず、知らなかった知見をインプットすることができました。
ただ年の瀬になって(?)炎上案件がちらほら散見され、参加者が少なくなってしまったのが残念でした。発表者のモチベーションを保つために参加者が多い時に開催すべきか、それとも全体の負担を考えてkey-frontを切り良しまで休むべきか今でも悩んでいます。一回でも継続を中断したら「key-frontやらなくていっか」となりそうで怖かったので今月は通常開催しましたが来年以降は検討中です。
別途、半年振り返りの記事を作りましたのでお時間がありましたらご覧ください。
会社外
業務委託
一旦今の案件はクローズとさせていただき、来年度どうするか改めて相談する運びとなりました。
技術記事
久しぶりにZennに記事を投稿しました。最近はずっとkey-front用のスクラップ作成にコミットしていたので記事投稿をおろそかにしていました。
まだアカウントは作っていないのですが巷で話題になっている「しずかなインターネット」のエディタ機能でTiptapを採用していたのが気になって調査した記事になります。詳細は以下のリンクからご覧ください。
最後に
1年間お世話になった副業先の忘年会に参加させていただきました。既に辞めてから半年くらい経っていますが、こうやって誘っていただけるのは本当にありがたいです。皆さんからそれぞれの近況などをお伺いすることができ、モチベーションが上がりました。
12月の中旬くらいに本業を退職する旨を伝えました。1末には退職できると思いますので絶賛転職活動中です。本来であれば転職先を見つけてからがセオリーかと思いますが、色々あって先に辞める選択をしました。
目標としては2月1日から新しい会社にジョインできるように動いて、遅くとも4月1日までには転職が終わればと思っています。
本業は未経験から雇っていただき2年8ヶ月間もお世話になりました。結果論ではありますが、筆者以降のフロントエンド未経験は採用していないので本当に当時は運が良かったんだなと実感しています。改めて退職月に振り返りをすると思いますが、一旦ここで報告とさせていただきます。
今後も継続して月次報告をしていこうと思っています。(主に月の最終週に更新する予定です。)駆け足になりましたが最後までご覧いただきありがとうございました。