Junior Embedded Software Test Engineer
D-Orbit
Fino Mornasco, Italy
We are looking for a number of Embedded Software (Test) Engineer to join our team. This is not a role for just a pure software test engineer but also for an embedded software engineer because you will have to develop applications for satellite simulator and test environment. You will become part of a growing software Verification and Validation (V&V) group responsible for ensuring software quality across a range of embedded and high performance applications in space. The main objective of your work will be developing test environments setup and designing and developing of HIL satellite simulator, improving the V&V infrastructure to enable the simulation of new sensors and actuators. The job will also focus on automated test procedures for the flight software of avionic platforms used on board of our spacecrafts under development.
Within a continuous integration environment, you will contribute to the entire application lifecycle with a focus on the test and integration, improving and developing new V&V features to our SW delivery pipeline. Through these activities and by working with the all technical teams involved in the spacecraft development process you will deliver exciting new features and directly support on-going spacecraft V&V activities and operations.
Tasks and Responsibilities:
- Software development of HIL infrastructure components (e.g. satellite sensors and actuators mockups);
- Validation of features including integration with software-in-the-loop and hardware-in-the-loop test suites;
- Test scenarios definitions against embedded software requirements;
- Contribute to the entire application lifecycle, focusing on requirements verification and validation, debugging and integration of flight software with the flight hardware;
- Preparation of flight software V&V technical documentation;
- Contributing to the continuous improvement of the teams processes, methodologies and test framework;
- Support to satellite AIV activities.
Key technical skills:
- At least 1 year of industry experience in embedded software or relevant project work (also at university level);
- Knowledge of any typically embedded communication interfaces such as RS232, RS485, SPI, I2C, CAN, Ethernet;
- Experience in design, develop and delivering embedded software in any C-family (C/C++) language;
- Very good knowledge of Python language;
- Very good knowledge of Object Oriented Programming (OOP);
- Good familiarity with common design patterns used in OOP;
- Good familiarity with Git versioning system or any similar DVCS;
- Good familiarity with using any Linux-based distribution and appreciation of application development.
Other skills:
- Experience with test-driven development;
- Ability to communicate technical concepts clearly and effectively;
- Capability of working in autonomy;
- Resilience and ability to work in a fast-paced environment;
- Ability to work hard in a team setting to meet tight schedules.
Nice-to-have skills:
- Understanding of SW design and testing lifecycle in regulated environment (ideally ECSS standard);
- Knowledge of real-time operating systems (such as RTEMS or FreeRTOS) and/or operating systems targeted for embedded applications (such as any embedded Linux);
- Familiarity with typical software development methodology and release versioning processes;
- Experience in defining software system specifications and software requirements;
- Experience in debugging embedded software using standard laboratory equipment.
Education:
- Bachelor, or higher degree, in any relevant area such as software engineering, computer science, physics, automation engineering, electronic engineering, aerospace engineering.
Language:
- This role requires professional proficiency in English.
Don't forget to mention Space-Careers when applying.