Experteer Overview
In this role you will contribute to designing and developing new embedded software products, while refining existing ones and validating concepts. You’ll define software architecture under supervision and autonomously implement and debug components. You collaborate with Validation and Verification teams, benchmark rivals, and document status and usage. This position offers hands‑on influence over architecture, code quality, and product outcomes in a cross‑functional setting.
Responsibilities
- Gather, generate and manage requirements for software components
- Apply processes for new product development
- Design and implement complex software subsystems within an embedded product using best practices
- Make autonomous design choices and lead deep technical discussions
- Troubleshoot designs and collaborate with Validation and Verification teams
- Study and benchmark competitor products
- Prepare reports, manuals, and operation/maintenance documentation
- Participate in peer reviews of designs and related code
Qualifications
- Education: Software Engineering or Computer Science
- Languages: Italian, English fluent
- Experience: minimum 3 years in C++ programming on Linux
- Strong software engineering principles and good knowledge of modern C++
- Familiar with Linux user space programming and debugging
- Familiar with CI/CD practices (test‑driven development, automated testing)
- Knowledge of development and versioning tools (GIT, Jenkins, CMAKE)
- Optional: embedded systems (cross‑compiling); Linux kernel space programming (device drivers); Yocto project