terada_life

スキルシート / 職務経歴書

レバテック提出用。各社フォーマットへのコピペ・整形を想定したテキスト版です。 [要記入] は寺田さんご本人にしか確定できない項目です。提出前に必ず埋めてください。


1. 基本情報

項目内容
氏名(イニシャル可)寺田 誠也 / T.S [提出形態に応じてフルネーム or イニシャルを選択]
年齢 / 性別[要記入]
最寄駅[要記入]
IT 経験年数[要記入](保有スキルの経験年数算出の基準)
稼働開始可能日[要記入]
希望単価[要記入]
稼働形態[要記入:常駐/リモート可 など]
得意分野フルスタック開発(Next.js / React + Go)、API 設計(OpenAPI スキーマ駆動)、CI/CD・開発プロセス整備

2. 自己 PR

フロントエンド・バックエンド・インフラ/CI・CD・要件定義までを一気通貫で担えるフルスタックエンジニアです。直近は新規 SaaS「Pixi」の立ち上げに参画し、管理画面・キャスト向けアプリ・Web 予約サイトの 3 つのフロントエンドアプリと、それらを支える Go 製の共通 API、さらに CI/CD・デプロイ運用までを横断して担当しています。

特に OpenAPI を Single Source of Truth とするスキーマ駆動開発を推進し、バックエンド(Go:oapi-codegen)とフロントエンド(TypeScript:orval)の双方で型・API クライアントを自動生成することで、フロント/バック間の型不整合を構造的に排除しました。Go ではドメイン/ユースケース/インターフェース/インフラに分離したクリーンアーキテクチャを採用し、センチネルエラー → バリデーションエラー → HTTP ステータスへと変換する一貫したエラーハンドリング層を設計・実装しています。

加えて、AI コーディングツール(Claude Code・Cursor)を前提とした開発プロセスを構築している点も強みです。エージェント向けルールを AGENTS.md に集約し、コーディング規約・API 契約の変更フロー・ブランチ戦略を AI に遵守させることで、チーム全体で一貫した品質のコードを高速に生み出す体制を整えています。Notion MCP 連携によりタスク・仕様・設計(ADR)を AI から直接参照し、設計意図を踏まえた実装を実現しています。

さらに、ADR(Architecture Decision Record)による設計判断の文書化、PR レビュー必須フローや Git Flow ベースのブランチ戦略、GitHub Actions と Vercel による自動デプロイ、レビュー待ち PR の Slack 通知ツールの運用など、コードを書くだけでなくチームの開発プロセスそのものを改善する働きを得意としています。要件のすり合わせから設計・実装・テスト・運用までの全工程に主体的に関与できる点が強みです。


3. 保有スキル一覧

バージョンは実プロジェクトの package.json / go.mod に基づく実数値です。経験年数・自己評価レベルは [要記入]

言語

技術バージョン経験年数レベル
TypeScript5.9[要記入][要記入]
Go1.24[要記入][要記入]
SQL(PostgreSQL)-[要記入][要記入]

フレームワーク / ライブラリ

技術バージョン用途
Next.js(App Router / Server Actions)16 系フロントエンド 3 アプリ
React19 系UI
Tailwind CSS4 系スタイリング
Radix UI-アクセシブルな UI プリミティブ
Zod4 系バリデーション
Sonner2 系トースト通知
Gin1.11バックエンド Web フレームワーク
GORM1.31ORM(PostgreSQL ドライバ)

データベース / 認証

技術内容
PostgreSQL本番:Supabase / ローカル開発:PostgreSQL 13(Docker)
Supabase Auth認証基盤
JWT(HS256)トークン認証
OAuthGoogle / Apple 連携

API / コード生成

技術バージョン内容
OpenAPI3.0API 仕様の Single Source of Truth(定義 15,000 行超)
orval7.16TypeScript の型・API クライアント自動生成
oapi-codegen2.6Go の型自動生成

テスト / モック

技術バージョン内容
Playwright1.58E2E テスト(pixi-cast に 12 スイート)
Go 標準 testing + testify/mock-バックエンドのユニットテスト(29 ファイル)
MSW(Mock Service Worker)2.11〜2.12フロントの API モック(モックファースト開発)

Lint / Format / CI・CD / インフラ

分類技術・サービス
Lint / FormatBiome 2.2(FE)、golangci-lint・gofumpt(Go)
CI/CDGitHub Actions(lint / test / build)、Vercel 自動デプロイ
クラウド / インフラVercel(FE ホスティング)、Supabase(PostgreSQL・Auth・Storage)、Docker(マルチステージビルド)
AI コーディングClaude Code、Cursor、MCP(Notion 連携)、AGENTS.md ベースのエージェントルール整備
その他ツールpnpm 10.8、Git(submodule + Git Flow)、Web Push(VAPID)、Slack 連携、Notion

※本案件のクラウド基盤は AWS ではなく Vercel + Supabase です(Supabase は内部的に AWS インフラ上で稼働)。


4. 職務経歴(直近案件)

案件:キャスト管理 SaaS「Pixi」新規開発

項目内容
期間2025 年 9 月 〜 現在(継続中)
役割フルスタックエンジニア(FE 3 アプリ・共通 API・インフラ/CI を横断)
体制約 5 名のチーム開発 + クライアント
開発手法スクラム/スプリント運用(Notion ボードで管理)、日本語 Conventional Commits、PR レビュー必須、Git Flow(機能ブランチ → develop で Vercel プレビュー → 本番リリース)、OpenAPI スキーマ駆動開発、AI コーディング活用(Claude Code・Cursor 併用、AGENTS.md でルール統制)

プロジェクト概要

店舗型サービス業向けのキャスト管理 SaaSを新規開発。既存サービスからのリプレイスを狙い、モダンな UI とパフォーマンスを差別化軸として、店舗管理者向けの管理画面・キャスト向けアプリ・予約客向けの Web 予約サイトという 3 つのフロントエンドアプリと、それらを支える共通 API をゼロから構築しています。

担当工程と「各工程で何をしたか」

工程担当具体的な作業内容
要件定義クライアント/チームとの仕様すり合わせ、ADR による設計判断の記録、OpenAPI スキーマ設計
基本設計クリーンアーキテクチャの層設計、API エンドポイント設計、DB スキーマ設計(ER 図管理)
詳細設計認証フロー設計、エラーハンドリング方針、機能別の実装設計
実装(FE)Next.js 16(App Router / Server Actions)で 3 アプリを feature ベース構成で実装
実装(BE)Go / Gin / GORM で REST API を実装、OpenAPI からの型自動生成
単体テストGo ユニットテスト(testify/mock)
結合テスト(E2E)Playwright による E2E(認証・ダッシュボード・予約フロー等)
運用・保守GitHub Actions / Vercel 自動デプロイ、本番データのマイグレーション・リカバリ対応

※上記の工程担当の強弱(特に主担当した領域)は [要記入:本人確認]

業務内容の詳細(文章ベース)

  • スキーマ駆動開発の設計・推進:15,000 行を超える OpenAPI 定義を Single Source of Truth とし、バックエンド(oapi-codegen)・フロントエンド(orval)の双方で型と API クライアントを自動生成する仕組みを構築。手書きのラッパーを排し、フロント/バック間の型不整合を構造的に解消しました。API は Admin / Cast / Web / Notification / Auth の各ドメインで合計約 120 エンドポイント規模です。

  • バックエンド(Go)のアーキテクチャ設計と実装:domain(型定義)/ usecase(ビジネスロジック)/ interfaces(リポジトリインターフェース)/ infrastructure(GORM・Supabase 実装)に分離したクリーンアーキテクチャを採用。リポジトリ層のセンチネルエラー(ErrNotFound / ErrDuplicateKey / 予約時間帯の重複エラー等)→ ユースケース層の ValidationError → ハンドラ層での HTTP ステータスマッピング(404 / 422 / 500)という一貫したエラーハンドリング層を設計・実装しました。

  • 認証・認可基盤の実装:Supabase Auth + JWT(HS256)をベースに、Google / Apple の OAuth フロー(認可後に一度きりの one-time code を発行してトークンと交換する方式)を実装。管理スタッフのセッションはリフレッシュトークンをハッシュ化して保管し、ローテーションおよび強制ログアウト(トークン無効化)に対応しました。認証ミドルウェアでキャスト/スタッフ/店舗オーナーシップの検証を行っています。

  • フロントエンド 3 アプリの実装:Next.js 16 の App Router / Server Actions を活用し、管理画面・キャストアプリ・予約サイトを feature ベースのディレクトリ構成で実装。orval 生成クライアント + MSW モックによるモックファースト開発で、API 未完成段階から画面の挙動確認を進めました。予約サイトは店舗コードによるマルチテナント(動的ルーティング)対応です。

  • 特徴的な機能の設計・実装(ADR ベース)

    • 出禁顧客の複数店舗共有機能:無断キャンセルを繰り返す顧客を複数店舗間で共有する機能を ADR-0001 として設計から起こし、電話番号の正規化による名寄せ・判定、プラン別の閲覧制御(上位プランのみ他店情報を閲覧可)を実装。
    • 既存サービスからの CSV データ移行:ADR-0002 として段階的な実装方針(パイロット店舗で実データ検証 → 標準機能化)を策定し、文字コード・欠損・性能の課題を実データで検証しながら進行。
    • プラン体系(Basic / Pro / Ultra):プランごとの機能制限・上限(キャスト数・スタッフ数等)の制御を実装。
  • DB・マイグレーション運用:GORM の AutoMigrate(45 エンティティ)でスキーマを管理。本番で発生したマイグレーション未実行問題に対し、psql による調査と復旧 SQL の作成・適用でリカバリ対応も実施しました。

  • CI/CD・開発プロセス整備:GitHub Actions で lint / test / build を自動化(Go は golangci-lint、FE は Biome)、Vercel への自動デプロイ(develop でプレビュー、本番リリース)を構築。レビュー待ち PR を毎日 Slack に通知する Go 製の自作ツールを運用し、レビューフローを円滑化しました。

  • AI コーディングツールを活用した開発体制の構築:Claude Code と Cursor を併用するチーム開発で、エージェント向けルールの実体を AGENTS.md に集約(Cursor がネイティブ読み込み、Claude Code 用の CLAUDE.md は import のみとし二重管理を排除)。コーディング規約(関数定義スタイル・型定義の置き場所等)、OpenAPI を起点とする API 契約の変更フロー、ブランチ戦略をルールとして明文化し AI に遵守させることで、複数人 × AI でも一貫した品質を維持しました。Notion MCP 連携によりタスク(スプリントボード)・画面仕様・設計判断(ADR)を AI から直接参照し、コンテキストを踏まえた実装・調査を高速化。自動生成(orval / oapi-codegen)と MSW モックファースト、AI コーディングを組み合わせ、仕様確定から実装までのリードタイムを短縮しています。品質面は PR レビュー必須フローで担保しています。

API 開発経験(明示)

REST API を OpenAPI 駆動で設計から実装まで一貫して担当。エンドポイント設計、リクエスト/レスポンスのスキーマ定義、認証・認可ミドルウェア、エラーハンドリング層の設計、コード自動生成パイプラインの整備を含みます。規模は約 120 エンドポイント。

使用技術(本案件)

TypeScript 5.9 / Go 1.24 / Next.js 16 / React 19 / Tailwind CSS 4 / Gin 1.11 / GORM 1.31 / PostgreSQL(Supabase)/ OpenAPI 3.0(orval・oapi-codegen)/ Supabase Auth・JWT・OAuth / Playwright / testify / MSW / Biome / golangci-lint / GitHub Actions / Vercel / Docker / pnpm / Git(submodule・Git Flow)/ Web Push / Claude Code・Cursor(AI コーディング)・MCP(Notion 連携)


5. 開発工程 担当範囲

要件定義基本設計詳細設計実装単体テスト結合テスト総合テスト運用・保守

※総合テスト(受け入れ)の担当度合いは [要記入:本人確認]


6. 資格・その他

  • 保有資格:[要記入]
  • GitHub / ポートフォリオ:[要記入:公開可能なものがあれば]

提出前チェック

  • [要記入] をすべて埋めた
  • 工程担当表(第 4・5 章)の◯△を実態に合わせて調整した
  • 経験年数・自己評価レベルを記入した
  • 氏名表記(フルネーム/イニシャル)を確定した