Description
Job Summary:
An autonomous professional responsible for implementing and evolving back-end solutions, ensuring quality, maintainability, and adherence to technical standards, while exerting technical influence over the team.
Key Highlights:
1. Autonomous implementation of back-end solutions
2. Technical influence over the team
3. Focus on quality, maintainability, and technical standards
**Role Objective**
A professional responsible for autonomously implementing and evolving back-end solutions, solving real business problems, and ensuring **quality, maintainability, and compliance with SRM’s technical standards**.
Works independently on most tasks and begins to exert **technical influence** over the team.
**Expected Tech Stack**
**Languages and Frameworks**
* Java
* Spring Boot
**APIs and Integrations**
* REST APIs
* Documentation using Swagger / OpenAPI
**Persistence and Data**
* SQL Server
* PostgreSQL
* MyBatis (primary)
* JPA (where applicable)
**Mapping**
* MapStruct for conversion between DTOs and entities
**Cloud and Infrastructure**
* AWS (intermediate level)
* Basic understanding of messaging and caching
**Responsibilities**
* Implement complete business rules.
* Create and maintain medium-complexity APIs.
* Model data coherently with the domain.
* Integrate internal and external systems.
* Write automated tests.
* Refactor and improve existing code.
* Participate in code reviews.
**Technical Expectations**
**Software Engineering**
* Strong application of:
* + SOLID
+ Clean Code
* Clear understanding of Clean Architecture.
* Conscious use of Design Patterns.
**Architecture (implementation level)**
* Proper layer separation.
* Well-defined contracts between components.
* Awareness of change impacts.
**Persistence**
* Intermediate/advanced SQL proficiency.
* Writing performant queries.
* Correct use of transactions.
**Quality and Reliability**
* Unit and integration tests covering critical rules.
* Appropriate error handling.
* Consistent logging.
**Communication and Professionalism**
* Clearly explains what was developed.
* Justifies technical decisions.
* Seeks feedback.
* Supports junior developers.
**Employment Type**: CLT
**Work Model**: Hybrid