2021年振り返り
2021年もそろそろ終わりなので今年の振り返りを書きました。
今年1年やったこと
今年は、Next.js、React、TypeScript、ChakraUI などフロントエンドをメインに担当した一年でした。バックエンドやインフラはほぼ触らずでした。
振り返ってみると学びが多かった一年だったので、今年良かったことや来年に向けて改善したいことを書いてみます。
1年間1つのプロダクトに関わり続けることができた
1年以上同じプロジェクトで開発した経験がこれまでなかったので(割と作ったら終わりなパターンが多かった)、1度作ってリリースして、その後、機能追加や改善するサイクルを回しながら、開発できたことはいい経験でした。
開発し始めて1年ぐらいで、まだまだ長期間運用しているわけではありませんが、立ち上げ時の 0 → 1のフェーズで作ったものが、1 → 10、10 → 100 と次のフェーズに進む中で、0 → 1 フェーズで作ったものの改善点が見えつつあったり、改善を考える機会があるのはとても勉強になると感じています。
ディレクトリ構成や命名ルールなど、一年ほど前に書いたコードの見え方が変わっていたりしていて、自分で設計したシステムを長い間メンテする経験はやっぱり大事なんだなと思いました。
いい感じのチーム構成で開発できた
今年一緒に働いたプロジェクトメンバーの構成、チームの雰囲気が良く、このメンバーで開発できたことがとてもよい体験でした。
いい感じだと思った理由はいろいろありますが、大きく以下の2つかなと思っています。
メンバー間のコミュニケーションがスムーズだった
何のために何を作るのかがしっかりしてた
メンバー構成は、開発者(フロント2人、バックエンド2人)、デザイナー、PMという構成で、毎日30分のデイリーMTGがあり、そこで進捗や相談するスケジュールで進めていました。
各ロールのメンバーが全員顔を合わせて参加するMTGが毎日あったことで、プロジェクト全体を通して気軽に相談しやすい雰囲気になっており、スムーズにプロジェクトを進めることができたことがとても良い体験でした。
仕様やデザインの不明点、バックエンドとの連携など、開発におけるコミュニケーションが発生する場面で、意思疎通をスムーズにできない場合、ストレスを感じやすいと思うのですが、そのあたりのストレスがほとんどありませんでした。(心理的安全性が高い)
何のために何を作るのかがしっかりしていたという点では、MVPでリリースして、その後、改善や追加の機能開発を行う流れだったので、無駄なもの、納得感がないものを作るということが全くありませんでした。
初期リリースの際に、優先度で機能を絞ったり、開発のコスパで機能を検討したりなど、一つのプロダクトの中で、仕様とデザインと実装がいい感じにまとまり、1つのチームとして一丸となっている雰囲気がとてもよかったです。
このあたりコミュニケーションのとりかたや進め方を少し間違えると、デザインがFIXしてないから実装できない、仕様・要件がFIXしてないから進められない、といった対立が生まれかねないようなところでもある気がするのですが、「今回はこの要件優先度低いから落としましょう」とか「実装コストが高いので、UIこういう感じはどうですか?」「そもそも何で必要なんでしたっけ?」みたいな話をフランクに相談できるチームだったので、結果として作るものに納得感があり、何のために作るのか?ほんとにいるの?みたいなネガティブな気持ちがなく、みんなで良いプロダクトを作ろうという雰囲気があって良かったです。
新しい技術スタックに挑戦できた
今年1年は Next.jsとその周辺ツールをずっとさわっていたのですが、はじめて使ったものも多く、その中でいろいろとキャッチアップできたのは、良い経験でした。
Next.js
React
TypeScript
Redux Toolkit
SWR
ChakraUI
Storybook
VercelやReactは未来を感じるような話題が多く、Next.jsやReactはすごくいけてるプロダクトだと思います。このあたりの話題を追いかけるのは楽しいし勉強になるので引き続きやっていきたいです。
TypeScriptは、フロントエンドをやる上で必須言語ですが、ジェネリクス、型パズルあたりでたくさん苦しんだので、来年はもっと頑張りたいです。
グローバルな状態管理のツールとして、Redux Toolkitを初めて使ってみました。Redux自体ちゃんと使ったことはなかったのですが、Reduxのつらみを改善するために生まれた背景だったり、使った感じも面白かったので引き続き触っていこうと思います。
SWRはHTTPキャッシュを自動で管理してくれるライブラリですが、実際に使ってみて、ほんとにちゃんとキャッシュされていて便利すぎて感動しました。ReduxでHTTPキャッシュを管理する実装をしてたりしたので、ライブラリ側で自動で管理できるのはすごく便利なので今後も使っていきたいです。
マークアップやCSSを書くのが若干苦手なので、ChakraUIはとても素晴らしいライブラリでした。デザイナーさんが作成してくれたスタイルガイドにそって、themeの設定をChakraにしてあげるだけで、デザイン通りのChakraのコンポーネントが使えるようになるのは、便利すぎて感動しました。
自分が好きな領域を認識できた
今年一年を通して、どんな仕事をしている時が楽しいかというのを改めて認識することができました。キーワードをあげるとすると以下のような感じです。
未来的
チーム
フロントエンド
未来的 は、単純に新しいもの好きでミーハーというだけなのですが、今まで不便だったことがとても簡単にできるようになるとか、普通にやったら2日ぐらいかかることが、自動生成で一瞬でできるようになるとか、未来が変わるような話題が好きです。
特にフロントエンドは特に未来感あるツールが出てきやすい印象があって(例えば Figma to React みたいなコード自動生成みたいなこと)引き続きチェックしていきたいです。
チーム は、今年一年やってきたチームがすごく良いチームだったので、こういうチームでずっと開発を続けていけたらと思っています。1つのプロダクトや目標に向かって、みんなで一致団結するみたいな体験が好きなので、引き続き良いチームでいいものを作っていけたら嬉しいと思っています。
フロントエンドは、今年一年でReact、Next.js周りの技術スタックで仕事していてすごく楽しかったので、引き続きやっていきたい。
でじぴよ大好き
直接的に仕事とは関係ないですが、毎週土曜日、会社のメンバーで気になる技術のキャッチアップだったり、作ってみたいサービスを考えてみたりなど、あーだこーだいろいろ話す会(でじぴよ)をゆるくやっています。
この時間がすごく好きなので、引き続けやっていけたらと思っています。
でじぴよで最近触った技術スタック
graphql
apollo
prisma
supabase
Figma
来年やりたこと
今年は総括するとインプットの年だったかなと思っていて、来年はアウトプットできる年にしたいと思います。
あと、技術だったり、サービスだったり、UIだったりのテーマであーだこーだ雑談するのが好きなので、もっと友達を増やしたいです。
アウトプット増やす(記事、OSS、サービスなど何かしら増やす)
友達を増やしたい(外部の人と交流を増やす)