Java Developer → Senior
Real artifacts from the reference repository: a competency graph, a certification level, machine-checked coverage, and a generated export. One source of truth, everything else is derived.
01 Ontology — 13 skills in the graph, 8 in scope
Nodes of any kind in a single graph. Each skill is a YAML file — id, name, description, optional links to other nodes.
Core Java
JVM, types, OOP, collections, concurrency, lambdas, Stream API, exceptions, annotations.
Spring Framework
IoC/DI, Spring Boot, MVC, REST, security, transactions, JDBC/JPA, testing.
Spring AI
ChatClient, models, advisors, tool calling, embeddings, vector stores, structured output.
id: core-java
name: Core Java
description: JVM, типы данных, ООП, коллекции, многопоточность…
depends_on: []
related_to: []
02 Profile — java-developer · senior · threshold 0.7
A profile selects from the ontology and sets a threshold. A level states the requirement per skill: skill · depth · weight. Weights sum to 1 — the level is a target, computed, not described.
| Skill | Depth | Weight |
|---|---|---|
| core-java | 0.9 | 0.25 |
| spring-framework | 0.9 | 0.25 |
| spring-ai | 0.7 | 0.1 |
| langchain4j | 0.6 | 0.1 |
| databases | 0.9 | 0.1 |
| testing | 0.9 | 0.1 |
| architecture | 0.9 | 0.05 |
| devops | 0.9 | 0.05 |
level: senior threshold: 0.7
requirements:
- skill: core-java depth: 0.9 weight: 0.25
- skill: spring-framework depth: 0.9 weight: 0.25
- skill: spring-ai depth: 0.7 weight: 0.1
- … 5 more …
03 Coverage — checked by machine, gaps are fixed
The gap set is computed by a fixed definition — identical across all implementations. Here: 32 questions in the library, checked against each skill's required depth.
| Skill | Questions | Depth | Status | |
|---|---|---|---|---|
| core-java | 3 | 0.9 | ok | |
| spring-framework | 5 | 0.9 | ok | |
| spring-ai | 4 | 0.7 | ok | |
| langchain4j | 4 | 0.60 → need 0.6 | ok | |
| databases | 4 | 0.9 | ok | |
| testing | 5 | 0.9 | ok | |
| architecture | 5 | 0.63 → need 0.9 | thin | |
| devops | 4 | 0.63 → need 0.9 | thin |
→ Add questions with difficulty ≥ 0.63 for architecture and devops.
04 Export — test-java-developer-senior.json
Everything derived is generated: a test package for agents and external systems, one artifact, no hand-written reports.
schemaVersion: "sdm.export.test/v1",
profile: "java-developer", level: "senior", threshold: 0.7,
requirements: [ /* 8 skills · depth · weight */ ],
questions: [ /* 32 questions · 3 types */ ]
}