senior-software-engineer について
シニアエンジニア向けの汎用ソフトウェアエンジニアリングスキルです。サービス設計、技術提案、コードレビュー、安全なリファクタリング、チーム支援を扱い、特定スタックの開発や全社的なアーキテクチャ業務とは区別します。
主な機能
- 01サービス、モジュール、API の設計
- 02RFC と技術仕様書の作成
- 03コードの正確性と保守性のレビュー
- 04動作を維持した安全なリファクタリング
- 05作業分解とデリバリーリスクの計画
活用シーン
- 01サービス設計案とトレードオフの比較
- 02プルリクエストとテスト範囲のレビュー
- 03レガシーコードの変更前に特性テストを追加
- 04開発作業の分割とリスクの特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rade-nugroho/ agentic-enteprises-skill --skill senior-software-engineerインストール後、Claude Code で/senior-software-engineerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/code_review.mdrefactoring_quality.mdreliability_patterns.mdrfc_technical_leadership.mdsystem_design.md詳細
シニアソフトウェアエンジニア
使用する場面
- 一般的なソフトウェアスタック全体にわたるサービス、モジュール、API、技術的なアプローチを設計する
- RFC、技術仕様書、作業分解計画、エンジニアリング上のトレードオフ分析を作成する
- 正確性、保守性、信頼性、運用性、テストカバレッジの観点から PR をレビューする
- 動作を維持しながら、レガシーコードを安全にリファクタリングする
- 実装品質、見積もり、デリバリーのリスクについてエンジニアを指導する
使用しない場面
- 特定のスタックに特化したフルスタックのプロダクト機能をエンドツーエンドで構築する →
senior-fullstack-developer、fullstack-software-engineer - React/UI アーキテクチャとアクセシビリティのみに注力する →
senior-frontend-software-engineer - ロールアウト計画、カナリアリリース、切り替え戦略を選定する →
deployment-strategist - インフラストラクチャ、Kubernetes、IaC をプロビジョニングする →
infrastructure-engineer - 企業全体のアーキテクチャに関する意思決定や ADR レビューゲートを担う →
senior-system-architecture
関連スキル
| 必要なこと | スキル |
|---|---|
| React/Next + 縦割りの機能開発 | fullstack-software-engineer、senior-fullstack-developer |
| シニアレベルのフロントエンドアーキテクチャと a11y | senior-frontend-software-engineer |
| ロールアウト計画とリリース戦略 | deployment-strategist |
| CI/CD の実装 | devops |
| Cloud/K8s/Terraform | infrastructure-engineer |
| 要件と BRD | business-analyst |
| AI/LLM のプロダクト機能 | ai-engineer |
| サービス横断の ADR、NFR、アーキテクチャレビュー | senior-system-architecture |
| プロファイリング、負荷テスト、レイテンシ SLO | performance-engineer |
主なワークフロー
1. 技術設計(RFC)
- 問題、制約、対象外事項を明示します
- トレードオフを含む選択肢を列挙します(少なくとも 2 つの代替案)
- 1 つを推奨し、インターフェースとデータコントラクトを定義します
- リスクを特定します:スケール、障害モード、移行、運用性
- 成功指標とロールアウト方法を定義します(必要に応じて
deployment-strategistにリンクします)
成果物: 図(重要なパスには C4 またはシーケンス図)を含む短い RFC または設計ドキュメント。
テンプレート、境界、整合性のパターンについては references/system_design.md を参照してください。
2. 実装計画
作業を以下の単位に分解します:
| 区分 | 成果 |
|---|---|
| 基盤 | テストを備えた型、インターフェース、スケルトン |
| コア動作 | ハッピーパスのエンドツーエンド |
| エッジケース | エラー、冪等性、認可 |
| 運用性 | ログ、メトリクス、ランブック |
| クリーンアップ | フラグの削除、旧パスの非推奨化 |
各区分を見積もり、不明点やスパイクが必要な箇所を明示します。
見積もりと作業分解については references/rfc_technical_leadership.md を参照してください。
3. コードレビュー(シニア基準)
レビューの順序:正確性 → 設計 → 運用性 → スタイル。
| 確認項目 | 質問 |
|---|---|
| 正確性 | エッジケース、競合状態、エラー処理 |
| API 設計 | 明確なコントラクト、後方互換性 |
| セキュリティ | 認可、インジェクション、シークレット |
| テスト | 有意義なケースがあるか。スナップショットのノイズになっていないか |
| 運用性 | ログ、メトリクス、設定可能な上限 |
| 保守性 | 結合度、命名、重複 |
実行可能なコメントを残し、ブロッカーと軽微な指摘を区別します。
評価基準とコメントのパターンについては references/code_review.md を参照してください。
4. リファクタリングと品質
リファクタリングするタイミング: 絡み合ったモジュールに機能を追加する前、または同じ領域に 3 回目の変更を加えるとき。
進め方:
- 動作を取り巻く特性テストを追加します
- 小さなコミットで進めます:抽出 → 名前変更 → 移動
- 外部から見た動作を維持し、リスクの高い置き換えにはフィーチャーフラグを使用します
- 安全な場合は、同じ PR で不要なコードを削除します
コードの臭いと安全な手順については references/refactoring_quality.md を参照してください。
5. 信頼性とパフォーマンス
信頼性に関するデフォルト設定:
- すべての外部呼び出しにタイムアウトを設定します
- 冪等な操作に限り、ジッターを伴うリトライを行います
- インテグレーション境界にサーキットブレーカーを設けます
- ユーザーに明確なメッセージを伝えながら、適切に機能を縮退させます
パフォーマンス:
- 測定します(プロファイラー、トレース、クエリプラン)。時期尚早な最適化は避けます
- N+1 問題、不要なメモリ割り当て、ホットループを解消します
- 明確な TTL と無効化の方針を定めてキャッシュします
分散システムの基本要素については、references/reliability_patterns.md を参照してください。
6. 技術的リーダーシップ
- チームメンバーを支援します。難しいバグの解決をペアで進め、設計上の決定を文書で明確にします
- リスクを早期に提起し、段階的な提供を提案します
- 後から覆すコストが高い決定は、ADR に記録します
- スコープと品質のトレードオフについて、プロダクトチームと認識を合わせます
ADR とメンタリング用のプロンプトについては、references/rfc_technical_leadership.md を参照してください。
参照資料を読み込むタイミング
- サービス設計と RFC →
references/system_design.md - PR レビュー →
references/code_review.md - リファクタリング →
references/refactoring_quality.md - 信頼性とパフォーマンス →
references/reliability_patterns.md - 見積もり、ADR、メンタリング →
references/rfc_technical_leadership.md