架空の職務経歴書例です。氏名・職歴・成果は書き方を説明するために作成したもので、実在する社員の経歴ではありません。
中村 翔
PostHogとDatadogでイベント取り込みとログ処理を担当したエンジニアです。Kafkaパイプライン、テナント分離、復旧テストを設計し、応答時間・処理量とデータ保持を併せて検証します。
職務経歴
PostHog
EMEA地域のリモート勤務 · 英国
ソフトウェアエンジニア
2022年3月 - 現在
- KafkaイベントをPostgreSQLへ一括保存するGoの取り込み(ingestion)ワーカーを構築。冪等キーと再実行テストでタイムアウト後の重複書き込みを検出し修正した。
- 再実行中にコンシューマーを停止し、分散システム(distributed systems)の信頼性(reliability)を検証。Redisの重複排除キーの期限とキューのバックプレッシャーを調整し、復旧時のメモリ枯渇を防いだ。
- 毎秒20,000イベントの固定再生負荷でベンチマークとプロファイリングを行い、Rust受付処理を改善した。展開サイズ制限と割り当て前検証により、Kafka永続化後の応答を保ちながらp95応答時間を180msから112msに短縮した。
- プロジェクトとdistinct IDごとのマルチテナントキュー制限を設計した。大量送信クライアントを別レーンに分離し、KafkaオフセットとPostgreSQLの識別対応でデータ整合性を確認。3倍の負荷急増でも他テナントの目標応答時間を維持した。
- コンシューマー遅延・再試行数・取り込み遅延の可観測性を整備した。オンコール中に停止パーティションの不正イベントを特定し、隔離バッチ再生と件数照合後に復旧を確認。再現テストをカナリア配信の判定に追加した。
- Kafkaの消費遅延・失敗キュー通知にテナントIDと再実行手順を付け、同一イベントの再送で重複レコードが生じないことを確認。
- テナント別フィクスチャを活用したKafka取込再実行試験の責任を担い、他テナントの順序保証を変えずPostgreSQL重複書込みを解消。
- Go取込経路のベンチマークを公開し、割当てボトルネックを分析。同一再現負荷でピークメモリーを21%削減。
Datadog
ロンドン · 英国
ソフトウェアエンジニア
2019年1月 - 2022年2月
- Goワーカーへ送る前にNode.jsの送信側でスキーマを検証した。契約テストで非互換ペイロードを再現し、Kafkaへの流入を防止するとともに、原因分析用の失敗リクエストを保存した。
- Datadogでログ処理のGoワーカーを実装し、Redis重複排除キーを顧客と再試行期間で制限した。重複要求を含む200万件の合成記録を再生し、ワーカー再起動後のPostgreSQL照合で受付済み記録の欠落がないことを確認した。
- 拡張後に旧定義を縮小する手順と事前検証したロールバックでPostgreSQLの36テーブルを移行した。スキーマとアプリの配信を分け、同じデータで新旧の書き込みを検証し、顧客の書き込みを止めずに変更した。
GoCardless
ロンドン · 英国
ソフトウェアエンジニア
2017年7月 - 2018年12月
- 決済ソフトウェアチームでWebhook署名・重複配信・順序逆転の契約テストを追加した。手作業の確認を再生可能なテストデータに置き換え、次の顧客連携の配信前に再試行の回帰不具合を検出した。
主要プロジェクト
イベント再生・復旧テスト環境
英国ロンドン
設計・実装
2024年2月 - 2024年6月
- 合成テナント負荷・制御可能なKafka停止・S3保管を備えたローカル再生ツールを作成した。復旧時間と再生前後の一意イベント数を比較し、CIで欠落と重複配信を再現できるようにした。
- テスト生成器・測定設定・失敗パターン表をプロジェクト報告にまとめた。厳密な順序保証と別レーン分離を比較し、配信前に変更すべきコンシューマーの前提を記録した。
- 独立入力を活用した自主回帰試験の責任を担い、境界不具合を解消して期待出力付き再現試験を公開。
学歴
University of Manchester
マンチェスター · 英国
コンピュータサイエンス学士
2014年9月 - 2017年6月
関連科目:アルゴリズム、OS、データベース、ネットワーク
スキル
言語・ストレージ
Rust · Node.js · Go · Kafka · PostgreSQL · Redis
システム設計
テナント分離 · データ整合性 · 可観測性
実装・レビュー
負荷テスト · 回帰テスト · 障害復旧


