Software Engineer
Role details
Job location
Tech stack
Job description
AAC Clyde Space is seeking a Software Engineer to contribute to the development of our small satellites and spacecraft subsystems.
In this role, you will require good insight into product development and to collaborate as part of a global team. You will be involved in delivering various projects within assigned safety, cost, quality standards and deadlines. Projects vary in complexity and sizes, the challenges range from drivers to encrypted communications.
This position offers the opportunity to develop your expertise in a fast-growing space technology company - helping to deliver innovative satellite missions., * Accountable for the architecture, design, and implementation of embedded software and firmware for new products, ensuring compliance with specified requirements
- Own the improvement of the software development life cycle (SDLC) for embedded systems, driving initiatives in areas like continuous integration, automated testing, and release management.
- Lead the integration, verification, and validation activities for complex embedded systems, including defining test plans and ensuring high-quality, reliable, and robust product releases.
- Accountable for the diagnosis and resolution of the most challenging hardware/software integration issues, field defects, and performance bottlenecks, often involving deep-level debugging.
- Ensure comprehensive and accurate technical documentation (e.g., design specifications, test reports) is maintained, adhering to industry, regulatory, and internal quality standards.
- Identify, analyse, and deliver solutions to mitigate major technical risks and integration challenges during the product development lifecycle.
- Lead the integration, verification, and validation activities for complex embedded systems, including defining test plans and ensuring high-quality, reliable, and robust product releases.
- Accountable for the diagnosis and resolution of the most challenging hardware/software integration issues, field defects, and performance bottlenecks, often involving deep-level debugging.
- Ensure comprehensive and accurate technical documentation (e.g., design specifications, test reports) is maintained, adhering to industry, regulatory, and internal quality standards.
- Identify, analyse, and deliver solutions to mitigate major technical risks and integration challenges during the product development lifecycle
Requirements
- Relevant degree or equivalent work experience
- Evident industry experience in Embedded software development in Space or other mission/safety critical domain
- Deep, demonstrable proficiency in C for resource-constrained, real-time embedded systems development.
- Extensive experience with Real-Time Operating Systems (RTOS) such as FreeRTOS, Zephyr, and/or experience with embedded Linux kernel development and device drivers.
- Strong knowledge of microcontroller architectures (e.g., ARM Cortex-M/R/A, RISC-V) and low-level peripheral configuration (e.g., SPI, I2C, UART, ADC).
- Proven ability to read schematics and data sheets and effectively debug hardware/software interfaces using tools like oscilloscopes, logic analyzers, and in-circuit debuggers/emulators.
- Proficient in using version control systems (Git) and familiar with modern software development practices, including CI/CD pipelines and automated testing frameworks.
- Strong familiarity with Linux command line and GNU toolchain (make, gcc)
- Experience diagnosing and debugging software issues in embedded systems.
- Collaborating effectively across multidisciplinary teams, fostering a shared sense of mission success.
- Take ownership of complex challenges and driving them to resolution with integrity and professionalism.
- Demonstrates sound judgement and resilience in dynamic, time-constrained environments.
- Competent IT skills including Microsoft software
- Proficient in English, both verbally and written.
Skills desired:
-
Working with other developers using modern version control methodologies such as GitFlow
-
Knowledge of environmental testing and ESA standards
-
Using Python and Bash for scripting and tooling
- Familiarity with Agile and SCRUM
- Experience with control systems, deploying and troubleshooting algorithms on hardware
- Previous experience working with small/medium sized companies