ID:60615さん

キャリアビジョン


事業を理解し企画段階から価値を出せるようになりたい

企業やプロジェクトの成功には、技術的な側面だけでなく、事業戦略や市場需要を理解し、適切な技術ソリューションを提供する能力が求められます。事業理解を持つことで、チームの中でより広範な領域で貢献できると考えているためです。

プロジェクト経験

2026年/1ヶ月以内

精算管理SaaS|入金一覧APIのOOMをアーキテクチャ変更で根本解決

## プロダクト概要 精算管理SaaSのバックエンドを2022年から担当。 請求・入金・集金代行のドメイン全般を、モデル設計から実装・運用まで一貫して担当している。 主な技術スタックは Ruby on Rails / MySQL / Docker / GitHub Actions。 ## 概要 入金一覧APIで発生していたOOM(メモリ枯渇)を、クエリチューニングではなくデータ参照アーキテクチャの 変更によって根本解決した。 - 期間:2026年2月 - チーム構成:エンジニア6名 - 自分の役割:原因調査・方針決定・設計・実装・本番dumpでの効果検証まで単独で担当 - 使用技術:Ruby on Rails, MySQL ## 課題 入金データ約224万件に紐づく相殺データ約622万件を、一覧APIで一括preloadする実装になっていた。 1件の入金に最大7万件超の相殺が存在するデータが混入したページでは、Rubyプロセスが数百MB以上の メモリを消費し、OOMが発生していた。 ## 打ち手 インデックス追加やクエリ最適化では「1入金あたりの相殺件数」に取得行数が比例する構造そのものが 変わらないため、根本解決にならないと判断。 相殺データのpreloadを廃止し、入金データと1:1の集計テーブルを参照する構造へ変更した。 これにより、ページあたりの取得行数が相殺件数に依存しなくなる。 ## 成果(本番dumpによる実測) | 指標 | 通常ページ(50件) | 最悪ケース(相殺最多の入金を含むページ) | |---|---|---| | 取得行数 | 404行 → 50行 | 623,691行 → 9行 | | 概算メモリ | 0.040MB → 0.001MB | 61.9MB → 0.001MB未満 | | クエリ時間 | 47ms → 26ms | 4.4s → 0.034s | - 相殺件数によらず常に最大50行のロードで済む構造となり、データ量の増加に対してもOOMが再発しない設計になった - 最悪ケースのレスポンスを約130分の1に短縮(4.4s → 0.034s)

2026年/1ヶ月以内

精算管理SaaS|PRレビュワー自動アサインの設計・導入による開発プロセス改善

## プロダクト概要 精算管理SaaSのバックエンドを2022年から担当。 請求・入金・集金代行のドメイン全般を、モデル設計から実装・運用まで一貫して担当している。 主な技術スタックは Ruby on Rails / MySQL / Docker / GitHub Actions。 ## 概要 PRレビューのアサイン運用をGitHub Actionsで自動化し、レビュー着手までのリードタイムを短縮した。 自ら課題を発見し、設計・実装・チーム導入まで主導したプロセス改善。 - 期間:2026年3月 - チーム構成:エンジニア6名 - 自分の役割:課題提起・仕組みの設計・実装・チームへの導入と効果計測 ## 課題 PRのレビュワーアサインが手動で行われており、特定メンバーへのレビュー集中やアサイン漏れによる PR滞留が発生していた。1件ごとは小さな摩擦だが、積み重なるとチーム全体のスループットに影響すると 判断し、改善に着手した。 ## 打ち手 - GitHub Actionsでレビュワー自動アサインの仕組みを設計・実装 - PRのラベル(backend / frontend)で候補者プールを分離 - 現在のレビュー依頼数が最も少ないメンバーを自動選択するロジックを実装 - 同数の場合はランダム選択とし、負荷の偏りをさらに抑制 ## 成果 - PRオープンからレビュー開始までの時間が 平均22.4時間 → 9.4時間(約58%短縮 / Findyで計測) - アサイン漏れによるPR滞留がゼロに - レビュー負荷がチーム6名に均等分散され、特定メンバーへの集中が解消

2025年/1年以内

精算管理SaaS|コードレビュー・オンボーディングによるチーム開発品質の向上

## プロダクト概要 精算管理SaaSのバックエンドを2022年から担当。 請求・入金・集金代行のドメイン全般を、モデル設計から実装・運用まで一貫して担当している。 主な技術スタックは Ruby on Rails / MySQL / Docker / GitHub Actions。 ## 概要 チーム内のコードレビューと新規メンバーのオンボーディングを担当し、 「個別の指摘」で終わらせず「再発しない仕組み」に落とす形でチームの開発品質を底上げした。 - 期間:2025年11月〜2026年5月 - チーム構成:エンジニア6名 - 自分の役割:レビュワー、新規参画メンバーの受け入れ設計・育成 ## 課題1:マルチテナント環境における権限制御の抜け漏れ レビュー中に、データ取得時の絞り込み条件が設計上不足しているコードを検知した。 マルチテナントSaaSにおいて権限境界に関わる箇所であり、レビューでの指摘だけでは同種の実装が 再び生まれると判断した。 ### 打ち手 - リリース前に検知し、設計方針を含めて修正を実施 - 再発防止として、GitHub Copilotのカスタム指示(instruction / skill)にテナント境界の絞り込みを 必須とするルールを追記し、チーム全体へ共有 ### 成果 - 本番リリース前に検知・修正し、リスクを未然に防止 - AIコーディングツール側にルールを組み込むことで、レビュワーの注意力に依存しない予防機構を整備。 以後、同種の実装がPR段階で発生しにくい状態にした ## 課題2:新規参画メンバーの立ち上がり 新規メンバー受け入れ時、環境構築の手順が暗黙知化しており、立ち上がりが属人的だった。 ### 打ち手 - 環境構築をIssue化し、着手順序と完了条件を明文化 - 1on1導線を設計し、詰まりを早期に拾える受け入れ体制を整備 - 決済関連APIの実装レビューでは、パフォーマンス設計(N+1回避)・権限制御(Pundit)・例外処理・ テスト観点について、指摘ではなく「設計意図の言語化」として伝達 ### 成果 - 上記のレビュー観点がチーム標準の技術判断基準として定着 - 1週間ほどで新規メンバーが単独でPRを出せるまでになりました

2025年/3ヶ月以内

精算管理SaaS|検針前請求(変動費)機能の新規開発

精算管理SaaSのバックエンドを2022年から担当。 請求・入金・集金代行のドメイン全般を、モデル設計から実装・運用まで一貫して担当している。 主な技術スタックは Ruby on Rails / MySQL / Docker / GitHub Actions。 ## 概要 水道・ガス等の検針値に基づく変動費(検針前請求)を自動発行・管理する機能を、ゼロから設計・実装した。 発行サイクル管理、バッチ発行、手動発行API、検針値管理、集金代行連携、編集APIまで一貫して担当し、 段階的に分割してリリースした。 - 期間:2025年3月〜 - チーム構成:エンジニア6名 - 自分の役割:ドメインモデル設計からAPI実装まで、全レイヤーの設計・実装を主導 - 使用技術:Ruby on Rails, MySQL, Solid Queue, RSpec ## 課題 検針値が確定するまで請求金額が決まらないため、既存の月次請求テンプレートのフローに乗らなかった。 加えて、 - 名目年月ごとに1回だけ発行する冪等性の保証 - 検針期日・入金期日をプラン設定から動的に解決するロジック - Crontab形式のスケジュール管理 など、既存モデルには存在しない固有の複雑さがあり、既存フローの拡張では対応できないと判断した。 ## 打ち手 - 専用名前空間配下に、発行サイクル / ジョブ管理 / 請求下書き / 検針確認 / 集金代行など6種類以上のドメインモデルを体系的に設計 - 非同期基盤に Solid Queue を採用し、Crontab形式のスケジュールを導入 - 名目年月カラムのUNIQUE制約で重複発行を防止し、冪等性をDBレベルで保証 - 検針期日・入金期日の算出責務を専用クラスに分離(Resolverパターン) - RSpecで各モデル・ジョブ・APIの単体/リクエストテストを網羅 ## 成果 - 検針前請求から確定請求への引き継ぎ(金額・集金代行・タグ・入金期日等)をモデル設計で担保し、データ不整合のリスクを構造的に排除 - 段階的にレビュー可能な粒度へ分割し、大型機能をリリース遅延なく完遂

2022年/2年以上

精算管理SaaS|請求・入金ドメインの開発と運用

## プロダクト概要 不動産管理会社向けの精算管理SaaSのバックエンドを2022年から担当。 請求・入金・集金代行のドメイン全般を、モデル設計から実装・運用まで一貫して担当している。 入金データ約224万件・相殺データ約622万件を扱う規模。 主な技術スタックは Ruby on Rails / MySQL / Docker / GitHub Actions。 ## 概要 2022年の参画以降、他のプロジェクトとして切り出していない日常的な開発・運用業務を継続的に担当。 本番環境で発生する障害・重大な不具合の調査から恒久対応・再発防止までを、ログ・SQL・認可処理・ データ生成ロジックを横断して担ってきた。 - 期間:2022年〜継続中 - チーム構成:エンジニア6名 - 自分の役割:障害調査・原因特定・恒久対応、既存ドメインの改修 - 使用技術:Ruby on Rails, MySQL, Docker, GitHub Actions ## 課題 請求・入金・集金代行という性質上、既存ロジックへの機能追加や改修は影響範囲の見極めが難しく、 一つの不具合が請求金額や送金項目、報告書データの整合性に波及するリスクが常にあった。 障害発生時は、まず影響を止める初動対応と、根本原因を潰す恒久対応を切り分け、 スピード感を持って対応する必要があった。 ## 打ち手・代表事例 一次情報(GitHub PR・ログ)で内容と対応まで確認できた障害・重大不具合対応の中から、代表例を記載する。 **送金項目一覧CSVの504タイムアウト解消** 明細ごとに関連オブジェクトを都度読み込む大規模なN+1クエリが原因と特定。必要な関連データを 事前ロードする形に修正し、本番相当データで性能検証を実施した。 → DBクエリ回数 57,606回 → 31回(約99.9%削減)、DB処理時間 94秒 → 19秒に短縮。 **会計日変更処理の本番障害対応** 本番環境で500エラーが発生した障害を調査し、OOM後のスケールアップで旧イメージのタスク定義を 指定したことにより、削除済みテーブルを参照するトリガーが再適用されていたことを特定。 該当トリガーを削除して復旧させた上で、スケールアップ時の確認手順を整理し、ポストモーテムを作成した。 → 検知から復旧まで約20分。 **CSV取込・データ整合性まわりの恒久対応(複数件)** - 取引先支払CSV一括取込時、想定される業務エラーが例外捕捉の対象外となりシステムエラー (HTTP 500)として扱われていた問題を修正し、利用者が原因を理解できる形(HTTP 400・ 説明的なエラーメッセージ)で返却するよう変更 - 送金依頼更新時、一部契約のみを編集すると対象外契約の手数料まで重複作成される不具合を調査し、 削除対象と再生成対象のスコープのずれを特定してガード処理を追加 - 支店を横断した一括発行で報告書の送金項目が欠落する不具合を調査し、認可判定の参照先に 誤りがあることを特定して修正(認可の仕組み自体は維持したまま、正しいデータを取得できるよう対応) ## 成果 - 原因・修正内容まで一次情報で確認できた障害・重大不具合対応は少なくとも5件 - 代表例として、送金項目一覧CSVのN+1クエリ解消でDBクエリを約99.9%削減 - 本番障害の会計日変更処理では、約20分で復旧するとともに運用手順の見直しとポストモーテム作成まで実施 - 直近1週間(2026/6/29〜7/5)では、作成PR11件のうち品質改善目的のPRが4件、再発防止策の実施が4件、 PRのリードタイムは平均4.5日

マネージメント能力

精算管理SaaSの開発チーム(エンジニア6名)における、コードレビュー体制とPRレビューのアサインフロー、および新規参画メンバーのオンボーディングプロセス。役職としてのマネージャーではなく、チームメンバーの立場から課題を発見し、仕組みとして設計・導入する形で関与した。
特定メンバーへのレビュー依頼の集中とアサイン漏れによるPR滞留をなくし、レビュー品質を落とさずにチーム全体のスループットを維持・向上させること。また、レビュー内容を個々の指摘で終わらせず、チームの技術判断基準として定着させること。加えて、新規参画メンバーが属人化した暗黙知に頼らず、自力で開発に着手できる状態まで早期に立ち上げること。誰かに割り当てられた役割ではなく、チームの生産性上のボトルネックとして自ら課題を見つけ、責任を持って解決まで担うという立場で取り組んだ。
## 背景 正式なマネジメント役職には就いていないが、チーム6名の開発の中で、レビューとオンボーディングの 運用に非効率が積み重なっていることに気づき、自発的に課題として扱った。 ## 1. PRレビューアサインの仕組み化(2026年3月) ### 問題 PRのレビュワーアサインが手動で行われており、特定メンバーへのレビュー依頼の集中と、アサイン漏れに よるPR滞留が発生していた。1件ごとの遅延は小さいが、積み重なるとチーム全体のスループットに影響 すると判断し、自ら改善に着手した。 ### 考え方・工夫 「誰が見るか」を人の裁量に任せている限り偏りは解消しないと考え、仕組みで解決する方針にした。 GitHub Actionsでレビュワー自動アサインの機構を設計し、PRのラベル(backend / frontend)で 候補者プールを分離した上で、現在のレビュー依頼数が最も少ないメンバーを自動選択するロジックを 実装した。同数の場合はランダム選択とし、負荷の偏りをさらに抑制する設計にした。 導入にあたっては、いきなり全チームに強制するのではなく、既存の運用を壊さない形で段階的に切り替え、 違和感があれば都度チームにヒアリングして調整した。 ### 結果 PRオープンからレビュー開始までの時間が平均22.4時間から9.4時間まで短縮した(約58%削減、 Findyで計測)。アサイン漏れによるPR滞留もゼロになり、レビュー負荷がチーム6名に均等に分散された。 ## 2. コードレビューを「個別指摘」から「チームの仕組み」に変換(2025年11月〜2026年5月) ### 問題 レビュワーとして日常的にPRレビューを担当する中で、同種の問題(設計上の考慮漏れなど)が 形を変えて繰り返し発生することに気づいた。都度指摘して直すだけでは、レビュワーの注意力に 依存した運用になり、根本的な再発防止にならないと考えた。 ### 考え方・工夫 マルチテナント環境における権限制御の設計不足をレビューで検知した際、その場の修正だけで 終わらせず、「なぜこの設計が必要か」を言語化し、GitHub Copilotのカスタム指示(instruction) にルールとして組み込んだ。これにより、以後の実装段階でAIコーディングツール側から同種の 考慮漏れに気づける状態を作り、レビュワーの個人的な注意力に依存しない予防機構にした。 他のレビューでも、パフォーマンス設計(N+1回避)や例外処理、テスト観点について、指摘に 留めず「設計意図」として伝えることを意識し、個別の指摘がチームの技術判断基準として 定着するよう心がけた。 ### 結果 本番リリース前に権限制御の不備を検知・修正し、リスクを未然に防止した。また、レビュー観点を 仕組み化したことで、同種の実装がPR段階で発生しにくい状態を作ることができた。 ## 3. 新規参画メンバーのオンボーディング設計(2025年11月〜) ### 問題 新規メンバーを受け入れる際、環境構築の手順が暗黙知化しており、立ち上がりが個人の経験や 質問のしやすさに左右され、属人的になっていた。 ### 考え方・工夫 「聞けばわかる」状態を「見ればわかる」状態に変えることを目指し、環境構築の各手順をIssue化 して着手順序と完了条件を明文化した。また、詰まりを早期に拾えるよう1on1の導線を設計し、 新規メンバーが自分から声を上げにくい状況でもフォローできる体制を整えた。 ### 結果 新規参画メンバー2名の受け入れに活用し、いずれも環境構築フェーズでの詰まりなく開発着手まで 到達できた。「聞けばわかる」から「見ればわかる」への転換が、属人化していた立ち上がりプロセスの 標準化につながった。 ## 今後について 正式なマネジメント役職の経験はまだないが、上記の取り組みを通じて、チームの生産性のボトルネックを 構造的に見つけて解消することにやりがいを感じている。今後はより裁量を持って、開発プロセスや チームの生産性設計そのものに関与していきたいと考えている。

アピール項目


アウトプット

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

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

現在は個人の実装力・レビュー力を軸にチームへ貢献しているが、今後はテックリードとして、 アーキテクチャ全体の意思決定や技術選定に責任を持てる立場を目指したい。 具体的には、これまでも障害調査やパフォーマンス改善を通じて技術的な意思決定は経験してきたが、それを個人の動きに留めず、 チームの設計判断の基準として仕組み化するところまで担えるようになりたい。 また、属人化しがちなドメイン知識をドキュメント化・勉強会化してチームに展開する動きにも 取り組んでおり、今後はより裁量を持って、技術的な意思決定とチームの育成を両輪で進められる テックリードのポジションで力を発揮したい。

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

裁量を持って技術的な意思決定に関われる環境で最も力を発揮できる。 これまでも、明確に指示されたわけではないタスクを自ら課題として見つけ、設計から導入まで主導することで 成果を出してきた。「やるべきことが決まっている」状態よりも、「何が課題かを見極めるところから 任される」状態の方が、当事者意識を持って粘り強く取り組める。 また、技術的な意思決定の裁量が大きいほど、パフォーマンス改善やアーキテクチャ判断において 根本解決を選びやすくなる(表面的な対処ではなく、構造そのものを変える判断ができる)。 自分の技術的な判断を任せてもらえる環境で、最も再現性高く成果を出せると考えている。

生成AIの活用状況

日常的な情報収集・業務活用
ChatGPTやGeminiなどのチャットツールを、情報収集、ドキュメント作成、翻訳に日常的に活用
業務でコード補完系の生成AIを活用
GitHub Copilot等のコーディング支援ツール
業務でコード生成、コーディングエージェント系の生成AIを利用
コードレビュー、テストコード生成、デバッグに生成AIを活用

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
一人で黙々
どちらかといえば一人で黙々
どちらともいえない
どちらかといえばみんなでワイワイ
みんなでワイワイ
好きな規模
小さい会社
どちらかといえば小さい会社
どちらともいえない
どちらかといえば大きい会社
大きい会社
自信を持って人より秀でていると言える点
未入力です
スキルのタイプ
ゼネラリスト
どちらかといえばゼネラリスト
どちらともいえない
どちらかといえばスペシャリスト
スペシャリスト
得意なフェーズ
0 → 1
どちらかといえば0 → 1
どちらともいえない
どちらかといえば10 → 100
10 → 100
会社を選ぶ一番の基準
一緒に働く人
やりたくない分野
未入力です
その他の特徴
未入力です
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

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

基本プロフィール

年齢
今年で20代後半
好きなテキストエディタ
vscode
希望勤務地
東京都
希望年収
未入力
ご意見箱

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

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

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