Position Overview
EOS Innovation Singapore is seeking software engineers across a range of experience levels to support the development of advanced defence products. These are hands-on engineering roles embedded within multidisciplinary teams of mechanical, electronic, optical and systems engineers. The work combines software development with real hardware integration, experimental subsystems and evolving product requirements, and will suit engineers who enjoy solving practical problems, working close to prototypes and equipment, and turning emerging capability into robust, production-ready software.
Primary Duties
This role contributes to the design, development, integration, verification and support of software used in complex defence systems. Engineers in this position will work across activities such as equipment interfacing, control and automation, algorithm implementation, user interfaces, test support and system integration. More experienced candidates will be expected to provide technical leadership, guide software design decisions, mentor less experienced engineers and help shape robust engineering practices. Earlier-career candidates will be expected to contribute strongly to hands-on development, integration and problem-solving, while growing into increased technical ownership over time.
Responsibilities
· Design, develop, test, integrate and maintain software for advanced defence products, ranging from equipment interfacing and control functions to data processing, automation and user-facing applications.
· Work closely with multi disciplinary engineering teams to integrate software with prototypes, experimental hardware, embedded devices and evolving system designs.
· Translate engineering requirements into practical software designs and contribute to verification and validation activities to demonstrate performance, safety and compliance.
· Investigate and resolve technical issues encountered during development, integration, test and production support, including unexpected behaviours at system and equipment level.
· Produce and maintain clear technical documentation, including design descriptions, interface definitions, test procedures, test records and manufacturing support material.
· Apply sound software engineering practices, including version control, code review, debugging, testing and configuration management.
· For more experienced candidates, lead software design activities, contribute to architecture decisions, support design reviews and provide technical guidance to other engineers.
· Engage with internal stakeholders and customers to clarify requirements, communicate technical progress and support engineering decisions throughout the product lifecycle.
Education and Experience
· Degree in Software Engineering, Computer Engineering, Computer Science or a related discipline.
· We welcome candidates across a range of experience levels, from early-career engineers with strong technical foundations to senior engineers with substantial experience delivering software for engineered products or integrated systems.
· Experience with software development tools and practices, including source control, development environments, compilers, debugging and test tools.
· Experience in one or more relevant technical areas such as C, C++, Python, embedded or Linux-based development, hardware interfacing, network communications, web-based interfaces, JSON or automated test is desirable.
· Experience taking software from concept through prototyping, integration, verification and release is advantageous; for senior candidates, this is expected.
· Experience working in defence, safety-critical, regulated or other high-integrity engineering environments is beneficial.
Skills and Attributes
· Strong analytical, debugging and problem-solving skills.
· Practical, hands-on approach and willingness to work closely with hardware, prototypes and multi disciplinary teams.
· Clear communicator and effective collaborator.
· Able to adapt to changing requirements and work effectively in an experimental development environment.
· Self-motivated and able to manage time and priorities within a project environment.
For more experienced candidates, ability to lead technical work, contribute constructively to design reviews and mentor other engineers.