Field(s) of expertise
Software Engineering Aerospace Engineering Electronics Engineering
About this job
We are looking for an application software engineer to join our team. You will become part of a growing software design group responsible for the delivery of flight software components across a range of embedded and high-performance applications.
Within a continuous integration environment, you will contribute to the entire application lifecycle with a focus on the specification, design, deployment, test, integration, and maintenance of software features. Improving and developing new features to shared libraries, adding additional capabilities to existing flight applications, will also be a key part of this. Through these activities and by working with the key stakeholders in the development process you will deliver exciting new features and directly support on-going spacecraft operations.
- Contribute to the entire application lifecycle, focusing on coding, debugging and integration with the flight hardware;
- Validation of features including integration with software-in-the-loop and hardware-in-the-loop test suites.
- Experience delivering application software in any C-family language;
- Knowledge of networking utilities in a Unix environment and appreciation of the development and debugging of user applications with a networking interface (e.g Wireshark);
- Understanding and appreciation of interfacing with low-level C applications for embedded software targets is considered an advantage;
- Knowledge of real-time operating systems (such as RTEMS or FreeRTOS) and/or operating systems targeted for embedded applications (such as any embedded Linux) is considered an advantage;
- Experience using and configuring any common build toolchains or similar development environment (such as ANT, WAF, AVR Studio, Visual Studio, etc.);
- Familiarity with using any Linux based distribution and appreciation of application development;
- Familiarity with typical software development methodology and release versioning processes;
- Familiarity with Git versioning system or any similar DVCS;
- Experience with test-driven development;
- Ability to work autonomously;
- Resilience and ability to work in a fast-paced environment;
- Ability to work hard in a team setting to meet tight schedules;
- Ability to communicate technical concepts clearly and effectively;
- Bachelor or higher engineering degree, in any relevant area such as electronic engineering, aerospace, computer science or automation:
- Full professional proficiency in the English language is mandatory.