# バックエンドエンジニア スキルマトリクス ## 評価レベルの定義 | レベル | 定義 | |--------|------| | **Junior** | 指示に従って実装できる。基本概念を理解している | | **Mid** | 自律的に設計・実装できる。トラブルシューティングができる | | **Senior** | アーキテクチャ設計・技術選定ができる。チームをリードできる | --- ## 1. コア技術スタック ### 1.1 Java | 項目 | Junior | Mid | Senior | |------|--------|-----|--------| | **バージョン経験** | Java 8以降の実務経験 | Java 11/17での開発経験 | Java 21含む最新LTS版の知見 | | **モダン構文** | Stream API、ラムダ式の基本的な使用 | Optional、CompletableFutureの適切な活用 | レコード、パターンマッチング、仮想スレッドの理解 | | **並行処理** | synchronized、volatileの理解 | ExecutorService、並行コレクションの適切な使用 | java.util.concurrent配下のクラス設計、デッドロック回避設計 | | **JVMの理解** | - | ヒープ/スタック、GCの基本理解 | GCアルゴリズム選定、JVMオプションチューニング | ### 1.2 Spring Framework / Spring Boot | 項目 | Junior | Mid | Senior | |------|--------|-----|--------| | **DI/IoC** | @Autowired、@Componentの使用 | ライフサイクル、スコープの理解と使い分け | カスタムBeanFactory、条件付きBean登録 | | **AOP** | - | @Aspect、ポイントカット式の実装 | アスペクトの設計、パフォーマンス影響の考慮 | | **トランザクション** | @Transactionalの使用 | 伝播属性、分離レベルの適切な選択 | 分散トランザクション、楽観/悲観ロック設計 | | **認証・認可** | - | Spring Securityの基本設定 | OAuth2/OIDC、JWT、RBAC/ABACの設計実装 | | **バージョン経験** | Spring Boot 2.x以降 | Spring Boot 3.x経験 | マイグレーション計画・実行経験 | --- ## 2. データベース ### 2.1 RDBMS(Oracle / DB2 / PostgreSQL等) | 項目 | Junior | Mid | Senior | |------|--------|-----|--------| | **SQL** | 基本的なCRUD、JOIN操作 | ウィンドウ関数、CTEの活用 | 複雑なクエリ最適化、実行計画の読解 | | **インデックス** | インデックスの基本概念 | B-Tree構造の理解、適切なインデックス設計 | カバリングインデックス、部分インデックス、統計情報管理 | | **パフォーマンス** | - | EXPLAIN/EXPLAIN ANALYZEの使用 | パーティショニング設計、マテリアライズドビュー活用 | | **トランザクション** | ACID特性の理解 | 分離レベルの違いと選択基準 | デッドロック分析、ロックエスカレーション対策 | ### 2.2 ORマッパー | 項目 | Junior | Mid | Senior | |------|--------|-----|--------| | **使用経験** | JPA/Hibernate/MyBatisいずれかの基本操作 | N+1問題の理解と対策、バッチ処理 | 2次キャッシュ戦略、遅延/即時ロード最適化 | --- ## 3. 設計・アーキテクチャ ### 3.1 設計原則・パターン | 項目 | Junior | Mid | Senior | |------|--------|-----|--------| | **SOLID原則** | 単一責任原則の理解 | SOLID全体の理解と実践 | 原則間のトレードオフ判断 | | **デザインパターン** | Factory、Strategyなど基本パターン | 適切なパターン選択と実装 | パターンの組み合わせ、アンチパターン回避 | | **アーキテクチャ** | レイヤードアーキテクチャの理解 | クリーンアーキテクチャ、ヘキサゴナル実装経験 | DDDの戦術/戦略的設計、境界づけられたコンテキスト | --- ## 4. インフラ・DevOps ### 4.1 コンテナ技術 | 項目 | Junior | Mid | Senior | |------|--------|-----|--------| | **Docker** | 既存Dockerfileの理解と起動 | マルチステージビルド、イメージ最適化 | セキュリティベストプラクティス、レジストリ管理 | | **オーケストレーション** | - | docker-composeでの環境構築 | Kubernetes基本概念(できれば実務経験) | ### 4.2 CI/CD | 項目 | Junior | Mid | Senior | |------|--------|-----|--------| | **パイプライン** | - | GitHub Actions/Jenkins等での自動テスト実装 | ブルーグリーンデプロイ、カナリアリリース設計 | --- ## 5. 運用・監視 ### 5.1 パフォーマンス分析 | 項目 | Junior | Mid | Senior | |------|--------|-----|--------| | **ツール使用** | - | JConsole、VisualVMでの基本分析 | APM(New Relic/Datadog等)、プロファイラ活用 | | **分析対象** | ログからのエラー特定 | スレッドダンプ、ヒープダンプ分析 | CPU/メモリ/IO全体のボトルネック特定と改善提案 | --- ## 6. その他の評価軸 ### 6.1 システム規模経験 - 単一サーバ構成での開発経験 - 複数サーバ構成(AP/DB分離)での開発経験 - ロードバランサ配下の冗長構成での開発経験 - マイクロサービスアーキテクチャでの開発経験
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up