ID:85789さん

キャリアビジョン


業務の背景まで理解したうえで、仕様の検討から実装まで一貫して任せてもらえるエンジニアになりたい。

これまで再生可能エネルギー、鉄道、電力と、いずれも業務ルールが複雑で、仕様を理解しないと正しく作れない領域のシステム開発に携わってきました。その中で、設計書どおりに実装するだけでは品質が担保できない場面を何度も経験しています。実際に、テーブル設計書と実際のデータベース定義の食い違いに気づき、どちらを正とするかを確認したうえで仕様として確定させたことで、後工程での手戻りを防いだことがありました。こうした経験から、言われたものを作るのではなく、業務を理解して仕様そのものに関わる進め方にやりがいを感じています。 今後は、要件の整理や仕様の検討といった上流から関わりながら、実装まで自分の手で進められる環境で経験を積みたいと考えています。また、現在は顧客対応の場面に限られている日本語でのやり取りを、日常の設計や議論の場でも当たり前に行える環境に身を置き、技術面とコミュニケーション面の両方で幅を広げていきたいです。

プロジェクト経験

2025年/2年以内

大手電力会社向け 停電作業調整支援システム

【プロジェクト概要】 電力設備の停電を伴う作業計画を調整・最適化する業務システムの開発です。年間5,000件 規模の停電要求を対象に、制約条件を踏まえて作業日程を自動で割り付け、関係部門の承認 までを一つの画面群で扱います。2024年に担当した初期版の後継案件で、前回の経験を 踏まえて再度参画しました。 【チーム情報】 全体20名体制。そのうちフロントエンドの主担当として、自社メンバー2名のチームリーダー を兼ねています。顧客・元請・協力会社との窓口も担当しています。 担当範囲はフロントエンド全般と、画面から呼び出す SQL(PostgreSQL のストアド関数・ ビュー)の作成です。最適化処理本体(Python)とバックエンド基盤は別担当で、画面から その処理を起動し結果を反映する部分までを担当しています。 構成は React / Redux、PostgreSQL(Amazon Aurora)を PostgREST 経由で参照、 ローカル開発環境は Docker Compose、リポジトリは GitLab です。 【開発・実装内容A】停電要求一覧とカレンダーを同一画面で扱う主担当画面 ■どのような機能の開発・実装か 50列前後の停電要求一覧表と、日付軸のカレンダー(作業日・希望日・停止可否をバーで 表示)を1画面に並べ、横スクロールと行の高さを同期させる画面です。年度・地域・支店・ グループでの絞り込み、列ごとの検索、表示項目の利用者別カスタマイズを備えています。 同じ構成で表示対象の件名の範囲だけが異なる画面が4つあり、画面を識別するキーで 切り替える方式にしています。設計から実装・単体試験まで担当しました。 ■課題・問題点 停止可否の判定結果を件名と設備の組み合わせごとに取得する作りで、取得回数が件数に 比例して増え、年間5,000件規模では初期表示と絞り込みが重くなっていました。 また、ブラウザの拡大率を100%未満にすると、テーブル高さの再計算が止まらず レンダリングが停止しない事象が発生していました。 ■打ち手・使用した技術 取得側は、判定結果を全件分まとめて1回で取得する中間結果を関数の先頭に用意し、 以降の処理はそこから絞るだけの形へ変更して、件数に比例する取得を無くしました。 停止しない事象については、高さを測って保持値へ書き戻す処理の依存関係にその保持値 自身が含まれており、測定と更新が互いを呼び戻していたことが原因でした。拡大率が 100%未満では実測値に端数が生じて1px単位で結果が反転し続けるため、依存関係を 見直したうえで、前回値との差が1px以内なら更新しないガードを入れ、監視イベントを 1フレームにつき1回へ制限しました。同じ高さ算出処理が3画面へ複製されていたため、 3画面すべてに同じ修正を適用しています。 (React hooks / ResizeObserver / PostgreSQL) 【開発・実装内容B】最適化処理と画面の間を受け持つPostgreSQL関数群の作成 ■どのような機能の開発・実装か 画面が必要とするデータは件名・設備・グループ・承認・調整結果など複数のスキーマに 分散しており、最適化処理(Python)の出力も別スキーマの結果テーブルへ書き込まれます。 これを画面側で扱いやすい形へ整理する関数11本とビュー2本を作成しました(関数は合計 約2,500行、3スキーマ・24テーブルが対象)。取得系3本と、最適化結果の反映や承認請求 などの更新系8本という構成です。 ■課題・問題点 画面側から複数回 API を呼んで結合すると、同じ結合ロジックが画面ごとに重複し、片方 だけ修正された際に表示が食い違います。また最適化処理の出力は業務テーブルとは別の スキーマにあるため、反映の範囲と順序を画面側に持たせると処理の種類が増えるたびに 画面側が膨らんでいく状態でした。件名の抽出条件についても、表示側と処理側で別々に 書かれていると、画面に出ている件名と処理の対象件名が一致しなくなります。 ■打ち手・使用した技術 取得側は、絞り込み条件・利用者の所属による表示範囲・表示項目の並びまで関数側で解決 し、画面は1回の呼び出しで表示用の形を受け取る構成にしました。抽出条件を関数側に 寄せたことで、表示側と処理側が同じ条件を参照するようになり、両者のずれが構造的に 起きなくなっています。更新側は処理の種類ごとに反映用の関数を分け、結果テーブルから 業務テーブルへの反映を関数側に閉じ込め、画面側は対象の処理を指定するだけでよい形に しました。戻り値は処理成否とデータを含む JSON 形式で全関数共通にし、エラー処理を 1か所へ揃えています。 (PostgreSQL / PL/pgSQL / PostgREST) 【進め方について】 設計書と実際のデータベース定義が食い違っているケースが頻発していました。そのまま 実装すると結合テストの段階で初めて問題が表面化し手戻りが大きくなるため、実装前に 不明点を洗い出し、現状の実装・想定される選択肢・それぞれの影響を整理したうえで顧客 へ確認し、仕様として確定させることを徹底しました。確定した内容はその都度チームへ 共有し、個人の記憶に依存せず参照できる状態を保つようにしています。 【成果】 ・担当画面6画面分の詳細設計書と単体試験仕様書を作成し、設計から単体試験まで一貫して  担当しました。上記A・Bは調査・方針決定・実装・検証まで担当しています。 ・自社メンバー2名の実装レビューと修正指示も担当し、共通部分の修正方針を揃えています。 ・仕様の確認を前倒しする進め方により、結合テスト段階での大きな手戻りを防げています。

2024年/1年以内

列車管理システム

【概要】 鉄道車両を管理し、設定された条件に基づいて運用を行うシステムの開発です。22名体制のプログラマとして参画し、フロントエンドの画面実装を担当しました。表示組・貸借設定、運用編成の登録・照会、仕業(車両運用)登録、基本編成の登録・照会、他システムとの連携画面など、複数の画面を担当しています。 【取り組んだ課題】 車両の編成や運用には鉄道業務固有のルールが多く、画面の項目名だけでは意図が読み取れない部分が多くありました。そのため、設計書の記載だけで判断せず、業務上どのような操作が行われるのかを確認したうえで実装するようにしました。 また、本案件から TypeScript での開発に従事しました。22名という大きな体制で複数人が同じ画面群を触るため、型定義を整備しておくことが認識の齟齬やデグレードを防ぐうえで有効だと感じ、意識して整理しました。 【成果】 担当画面について詳細設計書と単体試験仕様書を作成し、実装から結合テストまで担当しました。本案件で得た TypeScript と大規模体制での開発経験は、その後の案件でも活かしています。

2024年/半年以内

大手電力会社向け 停電作業調整支援システム(初期版)

【概要】 停電スケジュールを管理し、複数の候補から最適な日程を算出するシステムの開発です。5名体制のプログラマとして参画し、フロントエンドとバックエンドの双方を担当しました。本案件は予算の都合により一旦終了しましたが、後継案件(2025年〜現在)に再度参画しています。 【取り組んだ課題】 画面側だけでなく、各画面で必要となるデータを返す API も自分で作成したため、画面の要件から必要なデータ構造を逆算して設計する進め方を経験しました。 また、最適化処理が Python の外部プログラムとして用意されていたため、画面側からそれを実行し、完了を待って結果を反映するロジックを実装しました。Web アプリケーションから外部プロセスを起動する構成は初めてで、起動のタイミングや完了の判定方法を整理しながら進めました。 【成果】 フロントエンドとバックエンドを一人で担当したことで、画面と API の責務の分け方を考える機会になりました。ここで扱った外部プログラム実行の構成は、後継案件で同様の仕組みをより大きな規模で扱う際の下地になっています。

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

マネージメント能力

電力会社向けシステム開発プロジェクトにおいて、自社メンバー2名(自身を除く)のチームリーダーとして、担当画面まわりの仕様調整とチーム内への情報共有を担当。顧客・元請・協力会社との窓口も兼任。
仕様に関する認識の齟齬をなくし、チームのメンバーが手戻りなく実装を進められる状態にすること。具体的には、顧客への問い合わせ起票から回答の整理、チーム内への展開までを担い、仕様が未確定のまま実装が進む状況を防ぐ責務がありました。
設計書どおりに実装すれば済むとは限らず、設計書と実際のデータベース定義が食い違っている、あるいは条件が記載されていないケースが頻繁に発生していました。こうした点に気づかないまま実装すると、結合テストの段階で初めて問題が顕在化し、手戻りが大きくなります。 そのため、実装前に仕様の不明点を洗い出し、どちらを正とするかを顧客に確認したうえで確定させることを徹底しました。問い合わせを出す際は、単に「どちらが正しいですか」と尋ねるのではなく、現状の実装と想定される選択肢、それぞれを選んだ場合の影響を整理して提示することで、回答までの往復を減らすよう工夫しました。 また、得られた回答はその都度チーム内に共有し、個人の記憶に依存しない形で参照できるようにしました。他メンバーの実装内容をレビューする際にも、確定した仕様との整合を確認する観点を持つようにしています。

アピール項目


アウトプット

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

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

現在は React / JavaScript での画面開発が中心のため、TypeScript をより本格的に使った開発に携わりたいと考えています。過去の案件で経験してはいるものの、型設計を含めて自信を持って扱えるレベルまで引き上げたいです。 また、これまではフロントエンドとデータアクセス層が中心だったため、サーバーサイドの設計やクラウド(AWS)環境の構築についても理解を広げ、システム全体を見渡せるようになりたいと考えています。 テストの自動化やCIについても、現場で整備された環境を使う経験はあるものの、自分で設計した経験はないため、今後身につけていきたい領域です。

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

開発の進め方やルールがある程度整理されていて、腰を落ち着けて取り組める環境で力を発揮できると感じています。数ヶ月単位で案件や担当が入れ替わるよりも、一つのシステムに長く関わりながら、業務の背景まで理解したうえで改善を重ねていく進め方が合っています。実際に、現在の案件では同じ業務領域に二度関わっており、一度目の経験があることで、仕様の意図を踏まえた判断ができるようになりました。 また、仕様の不明点や認識のズレを一人で抱え込まず、その場で確認し合えるチームだと進めやすいです。現在は顧客や協力会社への確認を担当していますが、疑問を早い段階で出せる雰囲気があると、手戻りが減ると実感しています。

生成AIの活用状況

日常的な情報収集・業務活用
ChatGPTやGeminiなどのチャットツールを、情報収集、ドキュメント作成、翻訳に日常的に活用
業務でコード補完系の生成AIを活用
GitHub Copilot等のコーディング支援ツール
業務でコード生成、コーディングエージェント系の生成AIを利用
コードレビュー、テストコード生成、デバッグに生成AIを活用
サービス・プロダクトへの応用
既存のサービスやプロダクトに生成AI(API利用など)を組み込み、LangChainやLlamaIndexなどのフレームワークを使った開発経験

キャラクター

直近で一番やりたいこと
現場にいたい
好きなスタイル
一人で黙々
どちらかといえば一人で黙々
どちらともいえない
どちらかといえばみんなでワイワイ
みんなでワイワイ
好きな規模
小さい会社
どちらかといえば小さい会社
どちらともいえない
どちらかといえば大きい会社
大きい会社
自信を持って人より秀でていると言える点
調整力 / 問題解決力 / 責任感
スキルのタイプ
ゼネラリスト
どちらかといえばゼネラリスト
どちらともいえない
どちらかといえばスペシャリスト
スペシャリスト
得意なフェーズ
0 → 1
どちらかといえば0 → 1
どちらともいえない
どちらかといえば10 → 100
10 → 100
会社を選ぶ一番の基準
会社の安定性
やりたくない分野
広告 / アダルト / 仮想通貨
その他の特徴
使用言語にはこだわらない / レガシーな環境を改善できる
その他のやりたいこと・やりたくないこと

【やりたいこと】
・一つのプロダクトやシステムに腰を据えて、長く関わりながら理解を深めていける環境
・開発の進め方やルールがある程度整理されていて、腰を落ち着けて取り組める環境
・これまでの経験(Reactでの画面開発、業務システム、PostgreSQL)を活かせる領域
・複雑な業務ルールを扱うシステム(電力・鉄道分野の経験がありますが、業界は問いません)
【やりたくないこと】
・数ヶ月単位で案件が入れ替わり、都度ゼロから業務を覚え直す進め方
・方針や仕様が頻繁に変わり、都度作り直しが発生するような進め方

やりたい事

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

基本プロフィール

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

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

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

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