MDOTM is seeking a Java Software Engineer to join our Engineering team. You will be instrumental in building and optimizing our high-performance Spring Boot backend , ensuring scalability, reliability, and security.
Your Responsibilities
- Develop, maintain, and optimize scalable Spring Boot applications
- Implement clean, modular, and testable Java code
- Design and optimize relational (MySQL) and NoSQL (MongoDB) databases
- Implement and follow best practices in software architecture , leveraging Layered Architecture, DDD, or Event-Driven Design
- Troubleshoot and optimize backend performance and security
- Work with DevOps teams to improve CI / CD automation and deployment processes
Must-Have Skills
- Strong experience in Java & Spring Boot (microservices, REST APIs)
- Proficiency with SQL & NoSQL databases
- Experience with software architecture patterns (Layered Architecture, DDD, Event-Driven Design)
- Experience with TDD and testing best practices in Spring Boot (JUnit, Mockito, Testcontainers)
- Experience with messaging systems (ActiveMQ, Kafka)
- Good knowledge of English (both written and spoken)
- Excellent communication skills, with the ability to explain complex problems and solutions to different stakeholders.
Nice-to-Have Skills
- Experience with modern API communication (GRPC, GraphQL, REST)
- Hands-on experience with CI / CD tools (GitLab Pipelines, GitHub Actions, Jenkins)
- Experience with AWS, especially EC2, S3
- Hands-on experience with Docker & Kubernetes for containerized application deployment and management
- Security best practices for backend applications (knowledge of ISO 27001 : 2022 Annex A 8.28 is a plus )
Why Join Us?
- Work on cutting-edge Java applications
- Drive technical decisions and mentor junior engineers
- Competitive salary & flexible work environment