こんにちは。もうすでに 2024 年に入ってしまいましたが、2023 年も毎度のことながら振り返りを残します。年次の振り返りはなんとか続けられていて、かれこれ 4 回目となりました。
フリーランスから正社員に戻った
2 年弱ほどフリーランスとして複数社に関わる働き方を続けていましたが、2023 年はその稼働先の 1 社に正社員として入社しました。現在は副業等もせず 1 社フルタイムで働いています。 昨年の振り返りでは以下のように記載していました。
自分はフリーランスとしての働き方を「キャリアの試行錯誤のために、自身の責任範囲内で自由に仮説検証できる場」として捉えていて、意図的に複数社並行して稼働していました。そのあたりはこの記事に書きました。
フリーランスエンジニアになって半年が経った| miya | note
上記の記事ではフリーランスという働き方の良さを以下のように捉えています。
- 時間的・金銭的余裕を作れる
- 複数のチームに参加することにより幅広く浅く技術を学びやすい
今でもその感覚は変わっておらず、ある程度この働き方を楽しみました。しかしそのトレードオフとして一つのプロダクトを長く保守することで得られる知見やシステム全体のアーキテクティング能力などは得づらいと考えており、少しずつこちら側にチャレンジしたいと感じ始めています。並行で稼働していた会社さんに少しずつ契約を解除させてもらい、いまは週 4 稼働で 1 社で働いています。
Ref: https://mh4gf.dev/articles/2022-summary
ここで記載した通り、一つのプロダクトを長く保守することで得られる知見やシステム全体のアーキテクティングの経験を積みたいと思い、3 年以上腰を据えて取り組める大きな課題を探していました。
そんな中出会ったのが後述する ROUTE06 で、まず業務委託で少ない日数から関わり、その後正社員として入社しました。2022 年 8 月から週 1、 9 月から週 2、 11 月から週 4、 そして入社の 2023 年 2 月から週 5 というわかりやすいほどのコミットメントシフトの形です。最初から「入社の可能性を前提にお互いのマッチングを測りながら業務委託をさせてほしい」と伝えていたのですが、その意図を汲んで定期的な面談で丁寧に期待値の調整をしていただけたのもありがたかったです。
一度フリーランスとして業務委託で働き、その稼働先にコミットメントシフトするという転職活動方法は自分にとってかなり良い体験でした。採用候補者と企業のマッチ度を見極めるには、やはり一定期間一緒に働いてみるのが最も測りやすいと考えています(もちろん全ての人がやるべきとは考えていません)。もし次回転職するとしてもまず辞めてからフリーランス期間を挟むと思います。
ROUTE06 への入社
前述した通り 2023 年 2 月から株式会社 ROUTE06に入社しました。
ROUTE06 はエンタープライズ企業のデジタルトランスフォーメーションを支援するプロダクトサービスおよびプロフェッショナルサービスを提供している会社です。いくつかのプロダクトを運用していますが、自身は現在クラウド EDI を中心とした商取引 DX に注力しプロダクト開発を進めています。
入社のタイミングで Twitter Space で不定期配信しているルートシックスラジオに出演させてもらいました。
そろそろ 1 年が経つためそのタイミングで入社エントリも書こうと思いつつ、入社の決め手を簡単にだけ紹介すると以下の通りです。
- エンタープライズ企業がデジタルトランスフォーメーションを進めるために大手 SIer が引き合いに出される中で、スタートアップにも関わらず着実に評価されているプロフェッショナルサービスの強さ
- 単純な自動化・デジタル化だけでは解決できない複雑な業務フローに立ち向かうチャレンジングなプロダクト
- GitHub を社内ドキュメント管理にも使うなど、エンジニアリング文化を全社に適用した尖った組織
2023 年の業務としては 1 つのチームのテックリードを担い、Web フロントエンド領域の技術リスクの軽減に取り組んだ一年でした。
「商社業務という複雑な業務ドメイン」 x 「個別カスタマイズ可能なマルチテナント SaaS を実現するためのアーキテクチャ」 x 「Web という領域のそもそもの複雑さ」 という複数の複雑さの掛け合わせに立ち向かい、日々楽しく過ごしています。
成果として出せるアウトプットはまだまだ少ないですが、フロントエンド領域の技術選定の記事を書いたのでそちらを紹介します。
チームで蓄積している ADR をベースに全体的な要点をまとめた目次のような記事で、ある程度反響があったのでよかったと思っています。2023 年 8 月版としており、今もどんどん状況は変わってきているのもあって、その後の変化も記事にできるとよさそうです。
また、上記記事をきっかけに Findy さんからお声がけいただき、モノレポのイベントで登壇させていただきました。
CfP 等ではなくお声がけをいただけた形での登壇は初めてでとても嬉しかったです。登壇は自分にとっては登壇日まで長期的に体力を削られる活動なのでキツさはありますが、メリットも大きいので今後も無理しない範囲で続けられると良いと思っています。
2023 年触った技術
毎年の差分を確認するためにその年触った技術を振り返っており、2023 年も列挙します。
- フロントエンド: TypeScript, React, Next.js(Pages Router / App Router), Chakra UI, Tailwind CSS, Kuma UI, testing-library, StoryBook, jest, vitest, Playwright, msw, graphql-codgen, urql, Vite, Biome, pnpm
- バックエンド: Ruby, Rails, graphql-ruby, Go
- インフラ: CloudFront, CloudFront Function, Amplify Hosting, AWS WAF, Amazon Cognito, Terraform
- そのほか: GraphQL, GitHub Actions
触った技術としては昨年とはあまり変わらず、強いて言えば Biome や pnpm などのツールチェインが増えています。
昨年はフロントエンド : バックエンド : インフラ = 7 : 3 : 0 程度でしたが、今年はフロントエンド : バックエンド : インフラ = 7 : 1 : 2 程度でした。バックエンドを書くことはほとんどなく、インフラ周りは SPA のホスティングのためのリソースを触る形となりました。
昨年あたりからガッツリフロントエンド専門になってきているのは 3 年前からは想像できませんでしたが、数多くの変革が起きる昨今のフロントエンド領域はとても面白いです。
TypeScript / React
昨年に引き続き TypeScript と React を主戦場にしています。React については Next.js が主流ではあるものの、業務ではプロダクトの性質と開発体験を踏まえ Vite による SPA を選択しました。ブラウザ上での動作だけを考慮すればよくなったり、Suspense によるコンポーネント設計がしやすいというメリットを享受できていますが、一方 Vite だとチャンク分割がうまくいかず大きなアセットにまとまってしまっている課題に苦労しています。来年はバンドラの挙動を理解しつつこの問題に蹴りをつけたいところです。
また Next.js も引き続き動向は常に追っており、今年は Server Actions を利用した Web サイトを作ったりしました: github-nippou の Web 版を App Router + Go + Vercel で作った
とはいえ to B アプリケーションを構築するとなると App Router の目指す方向や提供機能はちょっとずれているのかも?と思ってきていたりはするのですが、Web の最前線にいるフレームワークであることは間違いないので、来年も引き続き動向を追っていくことになると思います。
また pnpm workspace を利用したパッケージ分割にも関心があり、登壇の機会をいただいたのでその内容で発表しました。(誘ってくれたReact おじさんありがとう)
SPA に伴うインフラ
今年は久々に Terraform を書いた年でした。SPA をホスティングするための CloudFront (+ Function), S3 などのリソースを触ることが多かったです。新しく追加された import ブロックや moved ブロックの存在を知り、めちゃくちゃ便利やん!となりました。
エンタープライズ向けプロダクトでの SPA を開発していることもあり、ある程度堅めのセキュリティやキャッシュの設定を意識することとなったのは勉強になりました。この辺りは近いうちに記事に起こしたいところです。
CloudFront Functions も色々できて便利ですね。
hiroppy さんとの週次での会話
ROUTE06 社に技術顧問として参加してくださった @hiroppy さんと「hiroppy さん わいわい相談会」を開催しており、週次での会のファシリテーションを半年ほど担当していました。フロントエンドメンバーが集まって技術的な悩み相談をしたり、ADR の各意思決定を 1 から読み直しては最近どう?みたいな話をわいわいする会です。
この会は社内フロントエンドメンバーの福利厚生的な立ち位置で、hiroppy さんに困りごとをなんでも相談できることがメリットです。ただ、この会のメリットを最も享受したのはファシリテーションを担当させてもらった自分だったと思っています。
hiroppy さんの助言に対して自分の理解が追いついていないことをその場で確認したり、自分の言葉として説明できるようにする過程でかなり学習が進んだ気がします。この機会をいただけたことは本当にありがたかったです。
OSS コントリビューション
2023 年は 61 件の PR を投げていました。2022 年は 31 件なので、ほぼ倍増した形です。
mdn/translated-content, biomejs/biome, kuma-ui/kuma-ui, masutaka/github-nippou, vitejs/docs-ja, vitejs/vite, storybook/test-runner, rossjrw/pr-preview-action, reg-viz/storycap などにコミットすることができました。
ただ大半がドキュメントへのコントリビュートとなり、コードでの貢献はまだ難しいと感じています。ここは長いこと悩んでいるところですが、できる範囲で貢献を続けていきたいところです。
記事執筆
2023 年は 19 件の記事を書きました。2022 年は 14 件なので微増しています。
記事を書くことはかなりレバレッジの効く活動だと改めて感じています。自身のブランディングという側面ももちろんありますが、記事に起こす際に情報を整理する過程でより良い解決策が見つかることもあり、学習が大きく進むことを実感しています。
2024年は意識して記事の公開回数を増やしていきたいと思っています。
Sony α7CII を買った
生活の話題です。直属のマネージャーがかなりのカメラ趣味ということもあり、1on1 などで色々聞いているうちにフルサイズミラーレスが欲しくなってしまい買いました。フルサイズすごい。楽しい。
こういう旅行ログも残していきたいなーと思っています。死ぬ間際の走馬灯に流す思い出を増やしていきたいですね(?)
2024 年
2023 年を振り返ると想像以上に ROUTE06 での内容が大半を占めていました。フリーランスでの技術的な武者修行期間が終わり、2023 年からは 1 つの大きな課題に腰を据えて取り組むことを目的としていたので、その意味では納得感がある結果でした。
2024 年も事業やプロダクトを伸ばすためにできることをとにかくやっていきたいです。テクノロジーマネジメントを中心に据えていますが、必要に応じてプロダクトマネジメント・エンジニアリングマネジメントに手を広げることもあり得ると思っています。
2023 年関わった皆さん、改めてありがとうございました。2024 年もよろしくお願いします!