The Principal Software Engineer is a key technologist in the Software Engineering capability, helping to drive software engineering strategies, standards and guidelines at enterprise level. Engineering business critical technology solutions through the application of software programming, quality management, data engineering, data analysis and Big Data as well as ensuring robust engineering practices for solution planning, technology development, deployment, release, hyper-care and operation of technology solution. The Principal Engineer leverages their expert skills in technology stacks to enable the business to solve complex analytical problems in areas like planning, commerce, customer experience and operations
- Set up, configure, monitor and manage technology platforms, tools and libraries for enterprise software, data hub, data warehouse, data science platforms in line with the approved technology architecture.
- Mentor and coach engineers on writing efficient code, and debugging. Teach and help developers test their code better and influence developers to write tests and review their work.
- Lead discovery phase of medium to large projects to come up with high level design, partnering with cross-functional teams. Drive proof-of-concepts and implementing prototypes to validate ideas. Investigate, debug and fix complex issues involving corner cases and rare conditions. Drive ?built-in quality? in data engineering teams in collaboration with end to end quality assurance.
- Lead technical design and build for complex solutions across teams. Carry out effective technical design reviews to ensure that the right architecture patterns are used by engineering teams.
- Champion automation, lean software development, test driven development, agile practices, timely root cause analysis and blameless incident post-mortems. Help define and refine the software and data engineering playbooks for use by relevant people in Technology.
- Develop/Identify framework, tools and practices to improve delivery quality of technology solutions and productivity of engineers, (for Data Engineering and Data Analytics >) – including data analysis templates such as business glossaries and source-to-target mapping. Help shape Data Governance guidelines, standards and principles. Develop optimal technical design and high-quality code for technology products that passes the QA requirements and is production deployment ready. Carry out functional, non-functional and performance testing in using appropriate automation tools, in collaboration with Architect, TQA and SRE.
- Measure and monitor engineering metrics that enable agility, scalability, data quality and reliability of technology solutions across the enterprise.
- Corrective, adaptive, preventative and perfective maintenance of products with support from environment management, service management, infrastructure management and cyber security.
- Technical stewardship of a subset of technology area. Use expert knowledge of the technical stack and design principles for the components in the technology area to solve complex business issues. Represent software engineering in cross business area initiatives.
- Strong understanding of distributed architecture, system integration and data architecture and models.
- Team player with a problem-solving attitude using variety of software and data technologies
- Cloud vendors: AWS, Google, Azure
- Technology evaluation, vendor selection and technology vendor management
- DB: Couchbase, MongoDB, Oracle, RDS, DynamoDB, Neo4J, Postgres, MariaDB, Redis, Memcached, Ignite, Hyperledger
- Principals: TDD, BDD, CI/CD, DevOps, GitOps, FinOps, SRE, Code Review, Micro-Services development, Configuration Management,Functional programming, Reactive programming, Solution design, hybrid cloud architecture, Big data architecture, Serverless, distributed-multi-region- calable-resilient-self-healing system.
- Frameworks/Libraries/Language: Spring cloud, Spring Boot Webflux, ELK/EFK, Netflix OSS, Docker, Kubernetes, OpenShift, Apache Kafka, Golang, Scala, Java 8-17, Akka, Alpakka, Test Frameworks ShiftLeft, SonarQube, SQS, Tibco, RabbitMQ, Solace, Kafka.
- Must have broad expertise or unique knowledge in one or more of these areas, based on the area of hiring
Qualification & Experience:
- Preferable certifications: AWS/Azure/Google solution architect – any level.
- Degree in Computer science, Computational Mathematics, Computer Engineering or Software Engineering.
- Experience Information Technology.Software 8+ Years
- Deep experience in distributed, scalable, multi-region high-load application development, full stack development
- Experience of developing advanced technology solutions for large, complex organisations in a multi-functional environment.
- 10 years of experience will be considered for Master Degree holders Software Engineering.
- Degree or Honours (12+3 or equivalent)
Company: Emirates Airlines
Vacancy Type: Full Time
Job Location: Dubai, United Arab Emirates
Application Deadline: N/A