Gyazoチームで機能ベースの開発に参加。Webからネイティブまで、機能に必要な範囲を横断して実装しています。
GyazoチームでGyazoの開発に参加しています。機能ベースで開発するチームなので、フロントエンドからバックエンド、必要ならネイティブ側まで、その機能に必要な範囲は横断して担当します。プロダクトは複数のリポジトリで構成されていて、そのほとんどに関わっています。
Webアプリケーション(Ruby on Rails / TypeScript)
一番長く関わっている領域です。権限まわりやプランに応じた機能の出し分けなど、プロダクトの土台に近い部分を継続的に実装しています。
あわせて、未使用コードの整理やツールチェーンの移行など、歴史のあるコードベースをどう現代化するかという技術負債の仕事も進めています。移行の方針は調査した上で提案としてまとめ、チームで合意してから着手する形を取っています。
デスクトップ / モバイルクライアント(Swift)
撮影まわりの機能追加と、操作性やクラッシュの改善を担当しました。デスクトップアプリはWebと違ってリリースを巻き戻せないので、変更の入れ方は慎重になります。
メディア処理・その他(Go ほか)
動画や画像の変換まわりの機能、ブラウザ拡張や決済まわりの改修など、必要に応じて担当範囲を広げています。
使った技術
- TypeScript / React
- Ruby on Rails
- Go
- Swift (macOS / iOS)
学び・所感
- 「機能ベースで縦に切る」開発スタイルは、特定のレイヤーだけ得意な状態を抜けて、プロダクトとして責任を持つ感覚が育つ
- 大きなプロダクトに対しても、堅牢さと開発スピードを両立させる進め方を学んだ
- 社内のドッグフーディング文化や BizDev とのコミュニケーション設計など、技術以外の学びも多い