Embedded Software Engineer
D-Orbit
Fino Mornasco, Italy
Job description:
Within a continuous integration environment, you will contribute to the requirements definition, design of SW architecture, coding and testing of mission critical real-time embedded software, running on the D-Orbit latest generation spacecraft.
Through these activities and by working with the key stakeholders in the development process you will deliver exciting new features and support spacecraft operations.
Tasks and Responsibilities:
- Contribute to the entire application lifecycle, focusing on requirements definition, design, coding, debugging and integration with the flight hardware (note that the coding language used during the daily job is mostly embedded C and the software spans multiple layers, ranging from low-level components to middleware and application software)
- Preparation of flight software technical documentation
- Validation of features including integration with software-in-the-loop and hardware-in-the-loop test suites
- Contribute to the continuous improvement of the teams processes and methodologies
- Additional duties may be assigned as needed by each project, like:
- Define software system specifications during co-engineering activities with the system team
- Improve and develop new features to shared libraries
- Maintenance of existing flight applications
- Support to AIV activities and spaceflight operations
Required Technical Skills:
- Minimum of 1 year experience in embedded software development.
- Experience delivering embedded software in any C-family language
- Knowledge of any typical embedded communication interfaces such as USART, SPI, I2C, CAN
- Experience using and configuring any common build tool chains or similar development environment (such as ANT, WAF, Makefile, Visual Studio etc.)
- Familiarity with Git versioning system or any similar DVCS
- Ability to communicate technical concepts clearly and effectively
- Degree, in any relevant area such as computer engineering, electronic engineering, aerospace engineering, robotics or automation.
- Full professional proficiency of English language is mandatory.
Nice-to-have skills:
- Good 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)
- Experience in debugging embedded software using standard laboratory equipment
- Basic understanding of Assembler language
- Experience in defining software system specifications and software requirements
- Knowledge of Python
- Familiarity with using any Linux based distribution and appreciation of application development
- Familiarity with typical software development methodology and release versioning processes
- Familiarity with OBDH and TMTC architectures used in space systems
- Capability of working in autonomy
Language:
- This role requires professional proficiency in English.
Apply Now
Don't forget to mention Space-Careers when applying.