We are seeking a highly skilled and experienced Engineer to join our dynamic team. The ideal candidate will have a strong background in Java, Spring Boot, microservices-based architecture, containerization, Docker, and Angular. As a Software Engineer, you will be responsible for designing, developing, and maintaining high-quality software solutions that meet our business needs.
Key Responsibilities:
- Design, develop, and maintain scalable and robust software applications using Java and Spring Boot.
- Implement microservices-based architecture to ensure modularity and scalability of the applications.
- Utilize containerization technologies such as Docker to streamline the development and deployment processes.
- Develop and maintain front-end applications using Angular/React.
- Collaborate with cross-functional teams to gather requirements and deliver high-quality software solutions.
- Ensure the performance, quality, and responsiveness of applications.
- Troubleshoot and resolve software defects and issues in a timely manner.
- Stay updated with the latest industry trends and technologies to continuously improve the development process.
- Participate in code reviews to maintain code quality and share knowledge with the team.
- Develop and maintain technical documentation for the software applications.
- Conduct performance tuning and optimization of the applications to ensure high availability and reliability.
- Implement security best practices to protect the applications and data.
- Participate in agile development processes, including sprint planning, daily stand-ups, and retrospectives.
- Design and implement RESTful APIs and ensure seamless integration with other services.
- Utilize service discovery and load balancing techniques to enhance the scalability and reliability of microservices.
- Implement distributed tracing and monitoring to ensure the health and performance of microservices.
- Use message brokers and event-driven architecture to enable asynchronous communication between microservices.
- Apply principles of domain-driven design (DDD) to model complex business domains and ensure maintainability.
- Implement API gateways and service meshes to manage and secure micro services communication.
Qualifications:
- Proven experience in software development with a focus on Java and Spring Boot.
- Strong understanding of microservices-based architecture and containerization.
- Hands-on experience with Docker and container orchestration tools.
- Proficiency in front-end development using Angular/React.
- Excellent problem-solving skills and attention to detail.
- Strong communication and collaboration skills.
- Ability to work independently and as part of a team.
Preferred Qualifications:
- Experience with cloud platforms such as AWS, Azure, or Google Cloud.
- Knowledge of CI/CD pipelines and DevOps practices.