Job Description
Reporting to the R&D Software Manager, the R&D Software Engineer is responsible for design, implementation and documentation of embedded software as a part of the Software Development Teams of Fixed Retail Scanner & Hand Held Scanner Business Unit.
Role Mission:
The R&D Software Engineer will define, implement, maintain the Software architecture in conjunction with all the other software teams belonging to FRS&HHS team.
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 -5 years' experience as SW Analyst or Senior SW Engineer for embedded systems SW design, preferably in companies with structured process and organization.
#LI-IC1