




Job Summary: This professional will be responsible for evaluating and defining system architectures, translating business requirements into technical solutions, and driving the continuous evolution of the microservices-based platform. Key Highlights: 1. Working with system architecture and continuous evolution of microservices. 2. Ensuring end-to-end automation and research into new technologies. 3. Collaborating on security and continuous improvement of the development process. **Responsibilities and Duties:** Evaluate, discuss, and define system architecture, promoting technical cohesion and alignment with business processes. Translate business requirements into technical solutions, proposing new modules or optimizing existing systems. Drive the continuous evolution of the microservices-based platform. Ensure end-to-end automation, from testing to deployment. Participate in research and implementation of new technologies. Monitor the production environment and propose preventive actions. Collaborate with the security team to ensure platform compliance and reliability. Develop tools and routines to optimize resource usage and reduce waste. Act proactively in continuously improving the team’s technical development process. **Requirements:** **Requirements and Qualifications:** Experience in system development and distributed architecture. Experience mentoring engineering teams and applying engineering best practices. Strong expertise in the Java programming language. Experience developing for Unix/Linux environments. Solid understanding of data structures, algorithms, and complexity analysis. Knowledge of concurrent programming and code debugging techniques. Object-oriented programming, design patterns, and REST/JSON integration. Basic knowledge of communication protocols (TCP/UDP). Experience with microservices architecture. Hands-on experience with DevOps practices and containerization (Docker). Knowledge of asynchronous messaging (Kafka, RabbitMQ, SQS). Experience with relational databases and SQL. Knowledge of non-relational databases (MongoDB, DynamoDB, etc.). Proficiency in the Spring ecosystem (Spring Boot, Web, Data, Spring Cloud). Experience with JPA. Knowledge of caching strategies (Redis, Memcached, etc.). Hands-on experience with public cloud platforms (preferably AWS). Practical experience with automated testing (unit, integration, component). Experience with load testing. Experience refactoring code with a focus on performance and readability. Knowledge of Kubernetes and observability practices (OpenTelemetry). Familiarity with monitoring tools (New Relic, Splunk, Prometheus, Grafana). Experience with CI/CD tools (Jenkins, GitHub Actions, GitLab CI, ArgoCD). Knowledge of API versioning and documentation (Swagger/OpenAPI). Understanding of application security (OWASP Top 10, OAuth2, JWT). Knowledge of static code analysis tools (SonarQube, etc). Technical English for reading documentation and articles. Experience with agile methodologies (Scrum, Kanban, Lean). **Additional Information:** To stand out in this role, it would be great if you also have: Experience with reactive programming (WebFlux). Knowledge of other programming languages (Node.js, Kotlin, Python). Experience with infrastructure-as-code tools (Terraform). Experience with GraphQL. Familiarity with deployment strategies (blue/green, canary). Ability to mentor developers and participate in continuous improvement initiatives (e.g., dojo, pair programming). Knowledge of AI Agent development (Spring AI, AWS Bedrock Agent). Knowledge of prompt engineering. Knowledge of context augmentation techniques for Generative AI / LLMs (semantic search in vector databases, RAG, etc).


