ID:84978さん

キャリアビジョン


壊れたときの影響が大きいシステムを、業務リスクまで理解したうえで設計できるエンジニアになりたいです。

これまでの仕事で、技術的に正しい判断と、業務上正しい判断が一致しない場面を何度か経験したからです。 取引システムでは、性能を上げるために価格をキャッシュすることも、処理を並列化することもできました。しかしどちらも、間違った価格で約定させるリスクを生みます。OCRの案件では、顧客の評価データを学習に入れれば精度の数字はすぐ良くなりましたが、それでは 評価の意味がなくなります。どちらも、業務やリスクの構造を理解していなければ、技術的には正しく見える方を選んでしまう場面でした。 こうした判断は、技術力だけでも、業務知識だけでも下せません。両方を持っている人が少ないからこそ価値があると感じていて、そこを自分の強みにしていきたいと考えています。

プロジェクト経験

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

マネージメント能力

複雑な帳票・非定型ドキュメントを対象とした文書電子化・データ構造化基盤の開発プロジェクトで、5名チームのPMを担当しました。マネジメント対象は、APIチームとモデル開発チームからなる開発体制、要件定義から運用改善までの進捗と品質、そして品質報告をめぐる顧客との合意形成です。
責務は、OCRの精度という数字を上げることそのものではなく、顧客が業務で使える品質と、それを客観的に判断できる状態を作ることでした。具体的には三点です。第一に、複雑な帳票でも抽出データの品質が担保され、人的確認工数の削減という業務価値につながっていること。第二に、誤認識のパターンを分析でき、どの工程で誤差が生まれているかを切り分けられる状態になっていること。第三に、何をもって成功とするのか、どのデータで検収するのかについて、顧客と開発側が同じ前提に立っていることです。あわせて、APIチームとモデル開発チームが、それぞれの立場ではなく同じ問題を解ける状態を保つことも私の責務でした。
前提として、PMとしての自分の役割は、モデルを直接改善することではなく、各チームが同じ問題を解ける状態を作ることだと考えていました。そのため、要件のヒアリングと仕様策定、データ整合性を考慮したバックエンド設計、進捗と品質の管理を担当しながら、判断の基準そのものをチームと顧客の間で揃えることを重視していました。 最も大きな問題は、顧客から「実際の精度が、こちらの報告している数値ほど出ていない」と指摘されたことです。顧客から見ると、これは単なる精度不足ではなく、私たちが不正確な報告をしているようにも映るため、関係はかなり緊張しました。 ここで私が意識したのは、自分たちの数値を守ったり、モデルの限界を理由に説明したりしないことでした。まず確認すべきは、なぜ双方の評価結果がずれているのかです。調べた結果、顧客は私たちが評価に使っていたデータセットとは別に、独自に用意したデータで精度を測っていることが分かりました。つまり双方は同じ精度について議論しているつもりで、実際には異なる評価データ、異なる基準で測っていたのです。この状態では数値の正しさを議論しても意味がないため、まず評価の前提を揃える必要があると判断しました。 そこで顧客に評価用データの共有を依頼しました。そのデータには、私たちの手元のデータでは十分に表現されていないノイズや実運用上のパターンが含まれている可能性が高いと考えたためです。ここで工夫したのは、そのデータを学習には使わないと明確に約束したことです。顧客の評価データを学習に入れれば、精度の数字は短期的に良く見えますが、それは本当の汎化性能ではなくなり、顧客にとって信頼できる指標でもなくなります。「このデータはノイズ分析と原因特定のためだけに使い、学習には入れません」と説明し、最後まで独立した検証用データとして維持しました。 原因の切り分けにあたっては、精度低下を一つの数字として扱わず、誤認識パターンの分析基盤を構築し、どの工程で誤差が生まれているかを分類しました。その結果、ギャップの主因はモデルそのものではなく、前処理、特にノイズ除去の層にあると特定できました。そこで推測でモデルを再学習するのではなく、影響範囲が明確な前処理を改善するという判断をしました。あわせて、大量データ処理を前提としたパフォーマンス改善も行っています。 結果として、顧客側の評価データに対しても改善が確認でき、かつそのデータは独立したテストセットとして維持できました。人的確認工数の削減を判断軸に置いたことで、精度という数字だけでなく業務価値の面でも効果を説明できるようになり、品質報告に対する信頼を回復できました。 この経験から学んだのは、機械学習を用いるプロジェクトでは、モデル改善そのものと同じくらい、評価基準と検収データの合意が重要だということです。何をもって成功とするのか、どのデータで検収するのかは、開発の後ではなく最初に合意しておくべきだと強く感じました。

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
未入力です
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
未入力です

今後、身につけなければいけないと思っている技術は何ですか?

大きく二つあります。 一つ目は、イベントソーシングとインメモリ状態機械による低レイテンシ設計です。現在のロスカット基盤は、チェックのたびにユーザーのポジションや注文を取得してマージンレートを計算し直すため、リアルタイム性とスケーラビリティに限界があります。次のフェーズとして、ユーザーの状態をインメモリに保持し、レートが届くたびに、そのシンボルを保有しているユーザーだけを差分計算する設計を検討しています。 この方向を考える中で参考にしているのが、LMAX Disruptorの考え方です。単一のライターが順序の決まったイベントを処理し、状態はインメモリに保持し、永続化はイベントログで行うという構成は、まさに私が扱っている領域と一致します。現在のシステムでも、口座状態はシングルライター方式で整合性を担保していますし、価格レートも受信順序自体が意味を持つデータとして扱っています。ですので、順序を保つという発想自体は業務の中で身についているのですが、それをイベントログを正本とした復元可能な設計として、スナップショットやリプレイまで含めて体系的に扱えるようにしたいと考えています。 二つ目は、その前提となる可用性と分散環境での信頼性です。現在の設計では、サービス停止中に相場が急変すると、本来のタイミングで強制決済ができません。冗長化した際に二重に執行されないためのフェンシングや、処理中のタスクが失われないリース方式など、金融処理で求められる保証を正しく設計できるようになりたいと考えています。イベントソーシングは、この復旧の観点でも有効だと考えています。現在も、ZSETは派生状態、ポジションが正本という整理をして再構築できるようにしていますが、イベントログがあれば、任意の時点の状態を再現でき、事後の監査にも使えるためです。

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

自分で課題を見つけて提案し、その結果まで責任を持てる環境です。現職では、ロスカットが設計値どおりの水準で執行されていないケースと、高いCPU使用率に気づき、原因は全ユーザーを一律にチェックする設計にあると考えて、リスクベースの方式への再設計を提案しました。その後、設計から実装まで担当しています。技術的な正しさだけでなく、事業上の優先度と照らして提案が議論される環境で、最も力を発揮できると考えています。

生成AIの活用状況

業務でコード生成、コーディングエージェント系の生成AIを利用
コードレビュー、テストコード生成、デバッグに生成AIを活用

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
一人で黙々
どちらかといえば一人で黙々
どちらともいえない
どちらかといえばみんなでワイワイ
みんなでワイワイ
好きな規模
小さい会社
どちらかといえば小さい会社
どちらともいえない
どちらかといえば大きい会社
大きい会社
自信を持って人より秀でていると言える点
学習能力 / 分析力 / 問題解決力
スキルのタイプ
ゼネラリスト
どちらかといえばゼネラリスト
どちらともいえない
どちらかといえばスペシャリスト
スペシャリスト
得意なフェーズ
0 → 1
どちらかといえば0 → 1
どちらともいえない
どちらかといえば10 → 100
10 → 100
会社を選ぶ一番の基準
風通しの良さや意思決定ライン
やりたくない分野
金融 / BtoC / BtoB
その他の特徴
使用言語にはこだわらない / 新しい技術はとりあえず試す / 起業/創業期のベンチャーにいた
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で30代中盤
好きなテキストエディタ
Goland, Zed
希望勤務地
東京都
希望年収
未入力
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?