スキルシート / 職務経歴書
レバテック提出用。各社フォーマットへのコピペ・整形を想定したテキスト版です。
[要記入]は寺田さんご本人にしか確定できない項目です。提出前に必ず埋めてください。
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に基づく実数値です。経験年数・自己評価レベルは[要記入]。
言語
| 技術 | バージョン | 経験年数 | レベル |
|---|---|---|---|
| TypeScript | 5.9 | [要記入] | [要記入] |
| Go | 1.24 | [要記入] | [要記入] |
| SQL(PostgreSQL) | - | [要記入] | [要記入] |
フレームワーク / ライブラリ
| 技術 | バージョン | 用途 |
|---|---|---|
| Next.js(App Router / Server Actions) | 16 系 | フロントエンド 3 アプリ |
| React | 19 系 | UI |
| Tailwind CSS | 4 系 | スタイリング |
| Radix UI | - | アクセシブルな UI プリミティブ |
| Zod | 4 系 | バリデーション |
| Sonner | 2 系 | トースト通知 |
| Gin | 1.11 | バックエンド Web フレームワーク |
| GORM | 1.31 | ORM(PostgreSQL ドライバ) |
データベース / 認証
| 技術 | 内容 |
|---|---|
| PostgreSQL | 本番:Supabase / ローカル開発:PostgreSQL 13(Docker) |
| Supabase Auth | 認証基盤 |
| JWT(HS256) | トークン認証 |
| OAuth | Google / Apple 連携 |
API / コード生成
| 技術 | バージョン | 内容 |
|---|---|---|
| OpenAPI | 3.0 | API 仕様の Single Source of Truth(定義 15,000 行超) |
| orval | 7.16 | TypeScript の型・API クライアント自動生成 |
| oapi-codegen | 2.6 | Go の型自動生成 |
テスト / モック
| 技術 | バージョン | 内容 |
|---|---|---|
| Playwright | 1.58 | E2E テスト(pixi-cast に 12 スイート) |
| Go 標準 testing + testify/mock | - | バックエンドのユニットテスト(29 ファイル) |
| MSW(Mock Service Worker) | 2.11〜2.12 | フロントの API モック(モックファースト開発) |
Lint / Format / CI・CD / インフラ
| 分類 | 技術・サービス |
|---|---|
| Lint / Format | Biome 2.2(FE)、golangci-lint・gofumpt(Go) |
| CI/CD | GitHub 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 章)の◯△を実態に合わせて調整した
- 経験年数・自己評価レベルを記入した
- 氏名表記(フルネーム/イニシャル)を確定した