software-engineering--roles-definition

Backend

The final career path (engineer included).

We have material associated with each skill to work on each of them (taking into account the branches).

Skill Junior Junior Advance Semi-senior Semi-senior advanced Senior
Softskill Aptitude, Attitude, Reporting, Creative, Team player Goal oriented, Problem solving, Analytical, Documentary Comunication, Pressure tolerance, Flexibility and Sense of Urgency Autonomy, Negotiation Responsibility, Conflict resolution, Coaching
Workstation Environment variables        
SQL Syntax   Query Optimization, Database Modeling    
OOP & Programming Understanding Fundamental Object-Oriented Programming Concepts, Clean Code, SOLID Skill in Utilizing Encapsulation and Abstraction Skill in Class and Relationship Design, Object-Centric Design and Clear Responsibilities    
Design Patterns Knowledge of Common Design Patterns, Understanding the Advantages and Disadvantages of Patterns Ability to Adapt Patterns to Situations Understanding Usage Contexts    
Java Fundamentals of Language and Syntax, Data Management and Structures, Input/Output and Exception Handling   Concurrency and Multithreading Programming    
Web HTML & CSS   JavaScript and Frontend Frameworks (basic), Responsive Design and User Experience    
Algorithms & Structures     Complejidad y Optimización: Fundamental Data Structures  
Git Repositories and Commits, Conventional commit, Workflow and Collaboration: Gitflow Branching and Merging, Conflicts and Resolution      
Scrum Roles, Artifacts, Events Rules     Critical Understanding of Scrum
Spring   Dependency Injection, Spring Container Aspect-Oriented Programming (AOP), Core Modules of Spring    
Transactions   ACID Properties of Transactions, Transaction Management in Java Exception Handling and Rollback Isolation Levels of Transactions  
REST Services HTTP Methods, Resource Representation Resources and URI, State and Transfer     HTTP Architecture
NoSQL   NoSQL Data Models, Queries and Data Access Scalability and Performance Consistency and Transactions  
Logging Logging API, Logging Levels   Utilization of Observability Tools, Message and Context Patterns    
Building/Packaging Build Tools Project and Build Configuration, Build Lifecycle, Packaging and Distribution      
Test Unit test, Mock End to end, TDD      
CI/CD   Continuous Integration Code Quality Tools, Continuous Delivery, Test and Task Automation Detailed Lifecycle, Workflows and pipelines  
Persistence Frameworks JDBC JPA (Java Persistence API) ORM (Mapeo Objeto-Relacional), Hibernate, Java Persistence Query Language    
Documentation   OpenAPI      
Architecture     Hexagonal Architecture (Ports and Adapters), Twelve-Factor App Event-Driven Architecture, Event Sourcing (Event Storage) Usage of Architectures, Reactive Programming, CQRS (Command Query Responsibility Segregation)
Microservices       Microservices Architecture, Scalability and Fault Tolerance Decomposition and Clear Responsibilities, Data Management and Communication
Spring ecosystem   Spring Boot, Spring MVC and WebFlow   Spring Data, Spring Cloud Spring Security, Spring Batch, Spring Integration
Cryptography       Key Management Encryption and Decryption, Cryptographic Algorithms, Authentication and Integrity
Security     Authentication and Authorization, OAuth Web Threat Protection, Management of Sessions and Tokens Use of Tools and Protocols, Certificates
AWS     Amazon EC2 (Elastic Compute Cloud), Amazon S3 (Simple Storage Service), Amazon Lambda, AWS Data bases (aurora y dynamoDB)   Amazon SNS (Simple Notification Service), Amazon SQS (Simple Queue Service), Networking en AWS (VPCs..), Other products like IAM, AWS.
Fargate, EventBridge, etc.
IaaC         CDK, Terraform

Evaluation System Files

The following files detail the evaluation process for transitioning between levels: