[What the role is]
The Next Generation Programme Office (NGPO) Open Platform for Air Navigation Services (OPANS) is looking for motivated software engineers with a collaborative, proactive attitude and a passion for continuous learning.
You will be part of a team focused on developing software for the Next Generation ANS (Air Navigation System).
If you are an adaptable, proactive software engineer with a passion for best practices and continuous learning, we would love to hear from you. Join us and contribute to building innovative software solutions for the future!
[What you will be working on]
· Develop \& Maintain Mission-Critical Systems: Design, implement, and maintain software solutions for safety-critical applications, ensuring compliance with industry standards for reliability, safety, and performance.
· Coding: Work with a wide range of programming languages and tools (e.g ., JavaScript, Typescript, Node.JS, Python, Java, C++ etc.) depending on project requirements, adapting quickly to new technologies as needed.
· Software Safety \& Security Focus: Apply software safety and security best practices in your coding, testing, and development processes.
· Collaborate with Cross-Functional Teams: Work closely with various stakeholders, architects, and other software developers to design, implement and deploy mission-critical systems.
· Testing \& Validation: Develop comprehensive test plans \& test cases to ensure software integrity through unit testing, integration testing, and system-level validation, etc. Participate in code reviews and static code analysis to identify and mitigate potential risks early in the development cycle.
· Deployment: Perform ICIT (Installation, Check-out, Integration and Testing) and system validation in the production environment.
· Troubleshooting \& Debugging: Proactively identify and resolve performance, safety, and reliability issues in both development and production environments.
· Documentation \& Reporting: Maintain thorough documentation for code, processes, and test results, ensuring all compliance and audit requirements are met.
[What we are looking for]
· Trained in Software Engineering, Computer Science or Information Technology or equivalent.
· Software development and coding experience;
· Knowledge of Application Programming Interfaces (APIs) for web services using REST and RESTful web services, with familiarity with API Gateways as an optional skill.
· Knowledge of messaging broker middleware / COTS packages utilizing AMQP protocols.
· Knowledge of common message exchange patterns such as Publish/Subscribe, Request/Reply
· Knowledge and practical experience of virtualized and containerized deployments
· Knowledge of container orchestrator technology, in particular Kubernetes
· Knowledge in common integration patterns including cloud-native patterns such as microservices and streaming such as lambda and kappa patterns.
· Understanding of cybersecurity concepts in the domain of cloud technologies, architectures and deployments (e.g. how things are connected and potential risk areas)
Engineer desired skills and experience
· Experience with at least two programming languages (e.g., JavaScript, Typescript, Node.JS, Python, Java, C++).
· Experience with messaging frameworks such as AMQP, MQTT.
· Experience with continuous integration/continuous deployment (CI/CD) pipelines and version control tools (Git).
· Familiarity with Infrastructure-as-a-Code technology like OpenTofu or Terraform.
· Familiarity with cloud platforms, microservices, and containerization technology (Docker, Kubernetes).
· Familiarity with automated testing frameworks and test-driven development (TDD).
· Familiarity in high-availability, high-performance systems, and real-time software development.
Your appointment designation will be commensurate with your relevant work experience. Successful candidates will be offered a 3-year contract in the first instance and may be considered for placement on permanent tenure or subsequent contract renewal.