Position Summary:
The Senior Software Engineer is a fully participating member of a cross functional team working autonomously on technology development and problem resolution. The role involves the design, development, implementation and maintenance of technology solutions and products that support the Emirates Group Business.
Key Responsibilities:
- Lead technical design and build for small to medium sized solutions in a team. Translate functional and non-functional requirements into fit for purpose technical design.
- Ensure solution performance, business edge cases and security related issues while developing software.
- Debug issues of complexity and follows design documents with minimal or no supervision.
- Code review by peers/technical leads demonstrates good coding principles.
- Software engineering tasks or problems of moderate to high scope. Ttranslate business solution requirements into potential technical solutions based on technical design.
- Work on problems of diverse scope where analysis of data requires evaluation of identifiable factors.
- Demonstrate good judgment in selecting methods and techniques for obtaining solutions.
- Work with senior technical engineers in the technical design process by contributing in the analysis of technical application requirements.
- Automate unit tests and carries out testing independently.
- Troubleshoot issues, fixes defects that are moderate to high complexity and carry out testing independently.
- Shadows senior engineers on design and architecture components and collaborate with members of the cross functional team to identify areas of inefficiency and propose solutions.
- Adhere to the Emirates Group IT coding standards, guidelines and best practices and contribute to Software Engineering Playbooks and other Standards documents.
- Conduct data analysis activities such as source system analysis, data dictionary collection, data profiling and source-to-target mapping to ensure solutions deliver on business needs.
- Update data inventories and registries as required to keep metadata and data lineage up-to-date, following agreed Data Governance standards, guidelines and principles.
Required Education & Experience:
As well as strong analytical skills the Senior Software Engineer must have worked with a range of technologies, understands the difference between them and competently use technology with minimal supervision:
- Microservice or Microfrontend architecture
- Java 11-17 or JavaScript/TypeScript
- SpringBoot 2.X or latest ReactJS/NextJS
- Reactive approach / functional programming style
- NoSQL (CouchBase preferable) / message brokers (Solace preferable)
- DevOps/GitOps practices
- EKS/Openshift
- Hybrid cloud, distributed, scalable, multi-region solution
- Scalable, traceable, observable solutions