Description
Responsibilities:
- Design, develop, and maintain microservices architectures using Java and Spring Boot.
- Develop and expose RESTful APIs to support web and mobile applications.
- Collaborate with cross-functional teams including front-end developers, product managers, and DevOps for seamless integration.
- Implement best practices for API design, security, and performance.
- Utilize API gateways and tools like Swagger/OpenAPI for API documentation.
- Containerize applications using Docker and orchestrate with Kubernetes or similar platforms.
- Integrate with messaging queues such as Kafka or RabbitMQ for asynchronous processing.
- Participate in code reviews, ensure adherence to coding standards, and write unit/integration tests.
- Monitor, troubleshoot, and optimize microservices in cloud environments.
- Contribute to continuous integration and deployment pipelines.
Requirements:
- Proven experience in Java development (Java 8/11/17+).
- Strong understanding of microservices architecture and design principles.
- Hands-on experience with Spring Boot, Spring Cloud, and related frameworks.
- Experience designing and implementing RESTful APIs.
- Familiarity with API documentation tools like Swagger/OpenAPI.
- Knowledge of containerization and orchestration (Docker, Kubernetes).
- Experience working with cloud platforms (AWS, Azure, GCP) is a plus.
- Familiarity with messaging systems such as Kafka or RabbitMQ.
- Knowledge of database technologies: SQL (MySQL, PostgreSQL) and NoSQL (MongoDB, DynamoDB).
- Proficiency with version control systems (Git).
- Strong problem-solving skills and ability to work in a team environment.
- Good understanding of security practices such as OAuth2, JWT, and API security.
Preferred, but not required:
- Experience with automated testing frameworks like JUnit, Mockito.
- Familiarity with CI/CD tools such as Jenkins, GitLab CI.
- Knowledge of serverless architectures is a plus.
- Previous experience in Agile/Scrum development environments