Title: Engineer, Software
Aero - 507 Airport Road, SG
Position Overview: We are seeking experienced Software Engineer(s) to join our dynamic team based in Singapore. The ideal candidate will have a passion for software development, aerospace/defence technologies and a willingness to learn and lead. You will be responsible for execution of a full SDLC (Software Development Life Cycle), including designing, developing, and maintaining mission-critical software for aircraft applications.
Key Responsibilities:
-
Collaborate with cross-functional teams to gather requirements and define software specifications for aircraft mission-critical systems.
-
Lead the design and development of robust, scalable, and efficient software solutions that meet aerospace industry standards and regulatory / authority requirements.
-
Lead the implementation of real-time software, data processing software, and control systems software for onboard and offboard aircraft applications.
-
Oversee and to perform thorough testing and validation of software components to ensure reliability, safety, and performance under various operating conditions.
-
Lead and participate in DevOps / DevSecOps activities, including continuous integration, deployment automation, and security enhancements.
-
Document design processes, including development, testing, analytics, and troubleshooting.
-
Conduct code reviews, provide constructive feedback, and contribute to a culture of continuous improvement and knowledge sharing.
-
Work closely with hardware/firmware engineers and avionics systems engineers to integrate software with onboard avionics systems and ensure seamless functionality.
-
Stay updated on the latest advancements in aerospace technology, software engineering best practices, and industry trends and standards to drive innovation and competitiveness. (e.g. Kubernetes, Docker, Type 1 Hypervisors, DDS, Arinc 653, Generative AI).
Qualifications:
-
Bachelor's or Master's degree in Computer Science, Computer Engineering, or equivalent field.
-
Singapore citizenship is required for this position.
-
Possess prior working experience.
-
Proficient in programming languages / frameworks such as C/C++, Python and Dot Net, with a willingness to learn other software technologies as needed.
-
Expertise in developing, testing and debugging production-quality, scalable, multi-threaded, concurrent systems.
-
Able to apply Object Oriented Software design patterns effectively.
-
Proficient in identification of code smells and effective in code refactoring.
-
Familiarity with software development methodologies including Agile, and experience working in Agile environments, version control systems, software test frameworks, and software testing techniques.
-
Knowledge in DevOps / DevSecOps practices and a willingness to contribute to related activities.
-
Excellent communication skills and the ability to collaborate effectively with multidisciplinary teams.
-
Strong analytical thinking and problem-solving skills, with a keen attention to detail and a commitment to delivering high-quality results.
-
Ability to work under tight deadlines while coordinating several projects at a time and responding to changing business and technical conditions.
-
You are a self-motivated, independent, and high-performing individual. You learn quickly and enjoy solving worthy challenges.
The following qualifications are optional and would be an added advantage:
-
Experience with network troubleshooting/problem resolutions, protocol analysis, network troubleshooting/problem determination skills with network trace/capture/analysis software (Familiarity with network security technologies and products is a plus).
-
Experience with distributed systems concepts and client-server architectures.
-
Knowledge of relational databases, SQL, JSON, XML and XPath for handling of both structured and unstructured data.