# Backend Developer Competency Evaluation System – Semi-senior Advanced Level

This evaluation system is based on a points model:
- **Basic:** 1 point  
- **Intermediate:** 3 points  
- **Advanced:** 5 points  
- **Expert:** 7 points

To advance from **Semi-senior Advanced** to **Senior**, candidates must:
1. Demonstrate at least the minimum required level in each **Core** skill.
2. Achieve a minimum overall score across all evaluated skills.

---

## Semi-senior Advanced Level: Skill Classification & Minimum Levels

At the Semi-senior Advanced level, candidates are expected to have deep, expert-level knowledge in core technical areas while also demonstrating strong competencies in complementary skills.

### Core Skills (Mandatory for Advancement)
- **SQL:**  
  - **Required Level:** Expert (7 points)  
  *Expertise in complex queries, performance optimization, and data modeling at scale.*

- **OOP & Programming:**  
  - **Required Level:** Expert (7 points)  
  *Mastery of object-oriented design, advanced programming techniques, and problem solving.*

- **Java:**  
  - **Required Level:** Expert (7 points)  
  *In-depth knowledge of Java language features, frameworks, and ecosystem best practices.*

- **REST Services:**  
  - **Required Level:** Expert (7 points)  
  *Ability to design and implement scalable, secure, and high-performance RESTful services.*

- **Persistence Frameworks:**  
  - **Required Level:** Expert (7 points)  
  *Expert-level proficiency in ORM (e.g., JPA) for managing complex data relationships and transactions.*

- **Spring:**  
  - **Required Level:** Expert (7 points)  
  *Deep understanding of the Spring framework, including dependency injection, aspect-oriented programming, and microservices integration.*

- **Transactions:**  
  - **Required Level:** Expert (7 points)  
  *Expert management of transaction boundaries and consistency in distributed systems.*

- **CI/CD:**  
  - **Required Level:** Expert (7 points)  
  *Extensive experience designing, implementing, and troubleshooting continuous integration and deployment pipelines.*

- **Design Patterns:**  
  - **Required Level:** Expert (7 points)  
  *Fluent in a wide range of design patterns with the ability to tailor and apply them to solve complex design challenges.*

- **Git:**  
  - **Required Level:** Expert (7 points)  
  *Expert-level version control skills, including managing advanced workflows and conflict resolution in large teams.*

- **Test:**  
  - **Required Level:** Expert (7 points)  
  *Deep knowledge of testing methodologies, including unit, integration, and automated testing, along with Test-Driven Development (TDD).*

- **Architecture:**  
  - **Required Level:** Expert (7 points)  
  *Ability to design and evaluate complex system architectures, ensuring scalability, reliability, and maintainability.*

- **Microservices:**  
  - **Required Level:** Expert (7 points)  
  *Expert-level understanding of microservices architecture, including service decomposition, communication, and resilience.*

- **Security:**  
  - **Required Level:** Expert (7 points)  
  *Thorough knowledge of security principles, including secure coding practices, vulnerability assessment, and compliance standards.*

- **AWS:**  
  - **Required Level:** Expert (7 points)  
  *Advanced proficiency in AWS services and cloud architecture, including cost optimization, high availability, and security best practices.*

*Total Core Skills:* 15 skills × 7 points each = **105 points**

### Secondary Skills (Complementary)
- **Soft Skills:**  
  - **Required Level:** Expert (7 points)  
  *Exceptional communication, leadership, and teamwork skills, with the ability to mentor and drive collaboration.*

- **Workstation:**  
  - **Required Level:** Basic (1 point)  
  *Properly configured and optimized development environment.*

- **Web:**  
  - **Required Level:** Basic (1 point)  
  *Basic familiarity with front-end technologies to support integration tasks.*

- **Algorithms & Data Structures:**  
  - **Required Level:** Expert (7 points)  
  *Expert-level understanding of algorithms and data structures, with the ability to optimize performance and solve complex problems.*

- **Scrum:**  
  - **Required Level:** Intermediate (3 points)  
  *Solid understanding of agile methodologies and Scrum practices.*

- **Logging:**  
  - **Required Level:** Intermediate (3 points)  
  *Proficient in implementing and managing logging solutions for effective debugging and monitoring.*

- **Building/Packaging:**  
  - **Required Level:** Intermediate (3 points)  
  *Experience with advanced build tools and packaging solutions.*

- **Documentation:**  
  - **Required Level:** Intermediate (3 points)  
  *Ability to produce clear, comprehensive documentation for complex systems.*

- **Spring Ecosystem:**  
  - **Required Level:** Expert (7 points)  
  *In-depth knowledge of additional Spring projects (e.g., Spring Boot, Spring Security) and their integration within enterprise solutions.*

- **Cryptography:**  
  - **Required Level:** Expert (7 points)  
  *Expert understanding of cryptographic principles and practices for data protection and secure communications.*

- **IaaC (Infrastructure as Code):**  
  - **Required Level:** Basic (1 point)  
  *Fundamental knowledge of using IaC tools for environment provisioning and management.*

- **NoSQL:**  
  - **Required Level:** Advanced (5 points)  
  *Proficiency in NoSQL databases, including data modeling, performance tuning, and consistency patterns.*

*Total Secondary Skills:*  
Soft Skills (7) + Workstation (1) + Web (1) + Algorithms & Data Structures (7) + Scrum (3) + Logging (3) + Building/Packaging (3) + Documentation (3) + Spring Ecosystem (7) + Cryptography (7) + IaaC (1) + NoSQL (5) = **48 points**

---

## Scoring Tables

### Core Skills

| Skill                       | Current Level (Semi-senior Advanced) | Required for Advancement to Senior | Minimum Points Required |
|-----------------------------|--------------------------------------|--------------------------------------|-------------------------|
| **SQL**                   | Advanced (5)                         | Expert (7)                           | 7                       |
| **OOP & Programming**     | Advanced (5)                         | Expert (7)                           | 7                       |
| **Java**                  | Advanced (5)                         | Expert (7)                           | 7                       |
| **REST Services**         | Advanced (5)                         | Expert (7)                           | 7                       |
| **Persistence Frameworks**| Advanced (5)                         | Expert (7)                           | 7                       |
| **Spring**                | Advanced (5)                         | Expert (7)                           | 7                       |
| **Transactions**          | Advanced (5)                         | Expert (7)                           | 7                       |
| **CI/CD**                 | Advanced (5)                         | Expert (7)                           | 7                       |
| **Design Patterns**       | Advanced (5)                         | Expert (7)                           | 7                       |
| **Git**                   | Advanced (5)                         | Expert (7)                           | 7                       |
| **Test**                  | Advanced (5)                         | Expert (7)                           | 7                       |
| **Architecture**          | Advanced (5)                         | Expert (7)                           | 7                       |
| **Microservices**         | Advanced (5)                         | Expert (7)                           | 7                       |
| **Security**              | Advanced (5)                         | Expert (7)                           | 7                       |
| **AWS**                   | Advanced (5)                         | Expert (7)                           | 7                       |

*Core Skills Total:* 15 skills × 7 points each = **105 points**

### Secondary Skills

| Skill                             | Current Level (Semi-senior Advanced) | Required for Advancement to Senior | Minimum Points Required |
|-----------------------------------|--------------------------------------|--------------------------------------|-------------------------|
| **Soft Skills**                   | Advanced (5)                         | Expert (7)                           | 7                       |
| **Workstation**                   | Basic (1)                            | Basic (1)                            | 1                       |
| **Web**                           | Basic (1)                            | Basic (1)                            | 1                       |
| **Algorithms & Data Structures**  | Advanced (5)                         | Expert (7)                           | 7                       |
| **Scrum**                         | Intermediate (3)                     | Intermediate (3)                     | 3                       |
| **Logging**                       | Intermediate (3)                     | Intermediate (3)                     | 3                       |
| **Building/Packaging**            | Intermediate (3)                     | Intermediate (3)                     | 3                       |
| **Documentation**                 | Intermediate (3)                     | Intermediate (3)                     | 3                       |
| **Spring Ecosystem**              | Advanced (5)                         | Expert (7)                           | 7                       |
| **Cryptography**                  | Advanced (5)                         | Expert (7)                           | 7                       |
| **IaaC**                          | Basic (1)                            | Basic (1)                            | 1                       |
| **NoSQL**                         | Advanced (5)                         | Advanced (5)                         | 5                       |

*Secondary Skills Total:* 7 + 1 + 1 + 7 + 3 + 3 + 3 + 3 + 7 + 7 + 1 + 5 = **48 points**

---

### Total Minimum Points Calculation

- **Core Skills Total:** 105 points  
- **Secondary Skills Total:** 48 points  
- **Overall Total Minimum Required:** 105 + 48 = **153 points**

---

## Validation Process for Advancement

To be eligible for advancement from **Semi-senior Advanced** to **Senior**, a candidate must satisfy both conditions:

1. **Core Skills Requirement:**  
   The candidate must demonstrate at or above the required proficiency in each Core skill:
   - **SQL, OOP & Programming, Java, REST Services, Persistence Frameworks, Spring, Transactions, CI/CD, Design Patterns, Git, Test, Architecture, Microservices, Security, and AWS** must each be at **Expert (7 points)**.  
   *If any one of these core skills is below Expert, the candidate cannot advance regardless of the overall score.*

2. **Total Points Requirement:**  
   The candidate’s overall score—calculated by summing the points from all evaluated skills—must be **at least 153 points**.  
   *For example, if a candidate’s total score is 152 points, they do not meet the threshold to advance.*

A candidate can only advance from Semi-senior Advanced to Senior if both conditions are met.

---

[Back to Main Backend Page](../backend.md)
