Key Responsibilities:
- Create application design by working with technical leads and architects.
- Create and maintain high-quality Design documentation.
- Produce code with established design principles including static and dynamic code analysis.
- Proactively learn related architectural components including Databases, Message Broker\Contribute to deployment activities including Dockerization, CI/CD pipelines.
- Collaborate in a multi-cultural team.
Requirements:
- 8+ years of experience in Cloud Application development.
- Strong programming knowledge in one or more programming languages – preferably in Python / Golang / Java.
- Able to produce a clear and maintainable codebase. Knowledge of clean coding practices such as S.O.L.I.D is essential.
- Demonstrate skills in unit testing and appreciate the benefits of test suites.
- Demonstrate knowledge of REST API best practices and design guidelines.
- Strong skill set in one or more REST API frameworks – such as Spring Boot, FAST API, and Flask.
- Expected to know the performance, deployment, and security considerations of REST API
- Highly desirable to have GraphQL experience supporting Frontend applications.
- Hands-on experience in one or more relational Database systems – preferably in PostgreSQL.
- Demonstrate ability to independently design Schema, usage of ORM tools, and write plain SQL.
- Working knowledge of event-driven architecture and experience in one or more Message Brokers, preferably Kafka.
- Essential to know the fundamentals of containerized applications.
- Able to work by integrating design with other teams even with insufficient/partial information.
- Desirable to have a working knowledge of public cloud infrastructure, preferably in AWS.