Job Description
Reporting to the R&D; Software Team Leader, the R&D; Software Engineer is responsible for design, implementation and documentation of embedded software as a part of the Software Development Teams of Handheld Scanner Business Unit.
Key responsibilities:
- Apply internal process for new product development;
- Design and implement complex software subsystems and whole systems within a larger embedded product using software engineering best practices;
- Take design choice autonomously and validate that in a cooperative process and be able to lead deep technical discussion;
- Troubleshoot the design, drive the relation with Validation and Verification team in a fruitful manner;
- Participating in peer-reviews of solution designs and related code.
Job Details & Specifications:
- Knowledge of the design of embedded software systems/architectures
- Knowledge of common development and versioning tools (i.e. git, cmake, vscode, ...)
- Experience in best practices and tools used in software product lifecycle management (bug tracking, CI/CD pipelines, …)
- Hands-on experience with OO programming and design patterns (ideally C++).
Nice to have:
- Familiarity with Linux kernel space programming (device drivers for I2C, SPI, PCI, USB)
- Familiarity with the Yocto project
- Experience in working in international teams
Requirements:
- Education: Computer Engineering or Electronic and Telecommunication Engineering
- Languages: Italian - English Fluent
- Experience: 3/4 years' experience.
has done product development in embedeed systems knows how to program with C++, has basic knowledge of LINUX (has written a Linux application, no experience in drivers and Kernell), experience about the deployment of AI algorithms into embedded systems.
Required Skill Profession
Computer Occupations