【一部出社あり/週2〜3/TypeScript】Enterprise/Collaboration・リアルタイム共同編集&CRDT分散同期エンジン開発

案件要件
- 職種
- エンジニア
- 業務内容
- システム開発・運用SES
- 報酬目安
- 4,600 ~ 5,600円/時
- 稼働時間目安
- 週5日 (時間目安 160時間)
- はたらく場所
- フルリモート
- スキル
【一部出社あり/週2〜3/TypeScript】Enterprise/Collaboration・リアルタイム共同編集&CRDT分散同期エンジン開発
お任せしたいこと
[役割]
TypeScript 5.x / Node.js (または Hono) / Yjs / WebSocket を用いた、エンタープライズ向けドキュメント・ホワイトボードコラボレーションツールにおけるリアルタイム共同編集機能および分散コンフリクト解消(CRDT)エンジンの設計・開発
[役割に対して求める成果]
Yjs の更新差分バイナリ圧縮と WebSocket コネクションプーリングの最適化により、1ルームあたり同時接続100人超の同時編集時におけるカーソル位置・テキスト同期遅延を 50ms 以内に抑制し、長大セッションでのメモリリークを完全解消
具体的な業務内容
TypeScript を用いた、CRDT(Conflict-free Replicated Data Types)ベースのドキュメント状態同期・履歴(Undo/Redo)管理ロジックの実装
WebSocket / WebRTC (DataChannel) を活用した、クライアント・サーバー間の双方向ステート同期マイクロサービスの構築
TipTap / BlockSuite / ProseMirror 等のリッチテキストエディタ向けカスタムエクステンションの設計・開発
Redis Pub/Sub を用いた、複数 WebSocket サーバーノード間におけるルームイベント・ブロードキャスト中継パイプラインの実装
Vitest / Playwright を用いた、ネットワーク瞬断・パケット順序逆転・複数ユーザーの同時競合書き込みシナリオの結合テスト自動化
必須スキル・経験
TypeScript を用いた Web アプリケーションまたはサーバーサイドの実務開発経験(3年以上)
WebSocket, Server-Sent Events 等を用いた双方向・リアルタイム通信機能の設計・実装経験
複雑なデータ構造の不変操作や状態管理アーキテクチャに対する深い理解
Git / GitHub を用いたチームでの Pull Request ベース開発およびコードレビュー経験
歓迎スキル・経験
共同編集ツール、ドキュメントエディタ、オンラインホワイトボード、SaaS コラボレーションツールの開発実績
CRDT(Yjs, Automerge)または OT(Operational Transformation)アルゴリズムの実装・運用経験
ProseMirror, Slate, TipTap, Monaco Editor 等のリッチエディタ拡張開発経験
Node.js / V8 のヒープメモリプロファイリングおよび GC チューニングの知見
開発環境
言語/環境: TypeScript 5.x, Node.js 22+, Hono / Express, Vite
コラボレーション/通信: Yjs, WebSocket, Redis Pub/Sub, WebRTC
エディタ基盤: TipTap, ProseMirror, BlockSuite
テスト/ツール: Vitest, Playwright, Storybook, Biome
インフラ/CI: AWS (ECS, ElastiCache, ALB), Docker, GitHub Actions
コミュニケーション: Slack, Notion, Figma, GitHub
働き方
リモート環境
[一部出社あり] 週2〜3日出社 / 週2〜3日リモートワーク
株式会社Kaizen Tech Agent
株式会社Kaizen Tech Agentは、「人と技術をつなぐ」ことを企業理念に掲げ、日々向上していく『技術』と『人』を最適な形でむつび付け提供することで、
お客様にとって真にプラスとなる価値でありたいと考えております。
私たちはそれぞれの個性を尊重し、ほっとする和みの社風でありながら、変化する時代に対して受け身にならず、未来への挑戦心を宿しています。
事業領域は、WEBアプリ開発、業務システム開発、スマホアプリ開発、インフラ構築など幅広く展開しており、
フリーランス様に対して最適な案件をご提案させて頂いております。どんな些細な事でも結構ですので是非いつでもお気軽にご相談ください。
