- Work closely with the client to design the architecture of the cloud platform and its core components.
- Provide technical leadership and guidance to the development team to ensure that platform services are built according to defined contracts.
- Develop server-side components and integrations with external systems.
- Define non-functional requirements for scalability, throughput, response time and ensure proper implementation.
- Conduct architecture meetings, assist the development team in presenting technical solutions and accelerate their implementation.
- Maintain technical excellence backlog and facilitate the process of decreasing amount of technical debt on the project
- Adapt existing methods and procedures to create alternative solutions to moderately complex problems.
- Use own judgment to determine the optimal solution to recommend.
- Determine methods and procedures on new assignments with minimal guidance.
- Manage medium-small sized teams and/or work efforts
- 5+ years of Java development experience.
- 2+ years of Team Leading experience.
- Proven experience in designing architecture as well as building and deploying scalable solutions using AWS cloud platform.
- Expert knowledge in designing RESTful API contracts.
- Strong knowledge of Java 8+ and Spring (Boot, Cloud, Data, Security).
- Hands-on experience with RDBMS (Postgres) and NoSQL (MongoDB, Redis).
- Knowledge of design principles, patterns and best-practices such as Service Registration and Discovery, Load Balancing, Caching, Observability, Resiliency and Redundancy.
- Advanced level of English and the ability to communicate with a client directly.
- Knowledge and practical experience with Python.
- Understanding of microservices architecture and practical experience building microservices within a cloud platform.
- Experience with event-driven architectures and messaging systems (Kafka, Amazon SQS).
- Passion for various engineering practices and proper process setup.
- Experience with Docker and CI/CD.