Your contribution to something big:
As a Software Developer (Python), you will play a crucial role in the development and maintenance of automated test environments and validation frameworks for Linux-based embedded software projects. You will enable fully automated testing of embedded systems in hardware-in-the-loop (HIL) environments and support the continuous improvement of software quality throughout the development lifecycle.
You will contribute to this goal by:
Test Environment Development & Automation
- Developing and maintaining Python-based test frameworks for Linux embedded software projects.
- Enabling fully automated testing of embedded software in Hardware-in-the-Loop (HIL) setups.
- Implementing automated execution of test cases, component resets, log collection, bug reporting, and consolidated test reporting.
- Developing automation solutions using Pytest and modern software engineering practices.
- Supporting continuous integration and continuous testing activities.
Software Design & Architecture
- Designing scalable, maintainable, and robust software architectures for test environments and engineering tools.
- Defining and implementing KPI measurements to monitor software quality, reliability, and testing efficiency.
- Creating reusable libraries, APIs, and services to support validation and testing activities across engineering teams.
- Contributing to the evolution of software architecture, coding standards, and development methodologies.
Embedded Systems Validation
- Supporting all software testing activities from requirements management through test specification, implementation, execution, reporting, and defect tracking.
- Analyzing CAN communication traces and system behavior to identify issues and improve product quality.
- Working closely with software, electronics, and system engineering teams to ensure complete validation coverage.
Tooling & Infrastructure
- Working with modern development and testing tools in a Linux environment.
- Utilizing Git, GitHub, Jira, Jenkins, and CI/CD pipelines to support efficient development and validation processes.
- Integrating and utilizing debugging and analysis tools such as Lauterbach and SEGGER interfaces.
- Supporting automation and infrastructure improvements for validation environments.
Documentation & Reporting
- Creating and maintaining technical documentation, including software architecture, test frameworks, operational procedures, and user guides.
- Producing clear, traceable test reports and ensuring transparency of testing results.
- Supporting knowledge sharing and continuous process improvement within the team.