About
At Emirates, we believe in connecting the world through our global hub in Dubai and constantly innovating to ensure our customers ‘Fly Better’. As a Java Software Engineer, you will play a crucial role in an agile feature team, working independently on software development and problem resolution. Your responsibilities will include technical design, software development, implementation, and maintenance of solutions that support the Emirates Group business.
In this role you will:
- Write secure and optimized code according to Emirates Group standards.
- Participate in on-call support, resolving production issues within SLAs with minimal supervision.
- Ensure built-in quality by achieving 100% unit testing as part of the CI/CD pipeline.
- Analyze and fix defects with minimal rework.
- Adopt re-factoring practices to minimize technical debt.
- Implement logging and monitoring hooks in the code.
- Continuously enhance your skills in relevant technologies and apply what you learn to improve code quality.
- Follow Emirates Group IT coding standards and contribute to relevant documentation.
Requirements
To be considered for the role, you must meet the below requirements:
- Degree in a relevant field such as Computer Science, Computational Mathematics, Computer Engineering, or Software Engineering.
- Minimum 3-4 years of experience in Full Stack Application Development, primarily in Java (versions 8, 11, or 17) with Spring Boot for microservices and ReactJS or similar UI frameworks.
- Experience in Software Engineering, preferably in agile settings, with exposure to a variety of technologies.
- Expertise in backend databases like Oracle SQL or similar RDBMS DB, Spring JPA/Hibernate, Restful API Services, HTML5.0/CSS3, Maven/Gradle for build, and familiar with Code Quality measurement tools such as SonarQube.
- Strong understanding of CI/CD and DevOps principles, with the ability to write code suitable for continuous integration and testing.
- Familiarity with design concepts such as Object-Oriented Analysis, structured programming, and data modeling.
- Understanding of modeling notations like UML and common design patterns.
- Experience in differentiating between functional and non-functional requirements.
- Background in developing software within an enterprise environment and designing applications/modules under guidance.
- Familiarity with testing methodologies such as unit testing and functional testing.
- Ability to resolve diverse technical issues effectively.
- Strong agile development and systems analytical skills.
Additional Skills
- Cloud native/Cloud deployment skills can be treated as an advantage.
- Relevant certifications in areas such as cloud platforms, full-stack development, or enterprise applications will be advantageous.
- Skills in cloud-native or cloud deployment environments are a plus.