Job Description
The position is a key role within the Software Team. As member of this team, you can actively contribute to innovative projects, with strong impact on strategy and a direct contribution to the company’s future success.
The candidate will design and develop algorithms and embedded software for a broad product portfolio, including but not limited to Smart Vision Sensors and Systems.
Main responsibilities:
1. As software developer, analyze system requirements, design and develop software to support new products or features. Review and debug code and, if needed, be involved in reviewing other teams / third party source code and manage its integration with existing code.
2. Collaborate with Software Team Manager and the Project Software Lead in organizing activities for the software development team, defining the priorities of tasks and sub-tasks to meet the given key milestones.
3. Coordinate the development and integration activities of the team for official software deliveries consistently adopting software engineering best practices (code reviews, source control management, build processes, testing, code analyzers, change management).
4. Support the HW development and test according to the development plan. Collaborate in the design and execution of the validation plan.
5. Collaborate with Software Team Manager in being the software technical interface with key internal customers such as test team, operations, program management and product quality team.
6. Support Advanced Manufacturing Engineering during the development of the Manufacturing process and the startup of the production.
7. Be the interface with external consultants for software design and test to follow-up on open issues and to clarify product behavior.
Requirements:
8. Education: Masters degree in Computer Science
9. Languages: Italian, English Fluent
10. Experience: 6 of years+ of embedded software/firmware development experience. Working on the development of Vision Systems in Industrial Automation field and Leadership experience are a plus.
11. Other information:
Strong C and C++ programming skills are required, experience with scripting languages (e.g. Python) is a plus.
Familiarity with serial communication buses such as SPI, I2C, and RS232.
Comfortability with electronic schematics and datasheets and experience in laboratory equipment (oscilloscope, logic analyzer, multimeter).
Experience in High Level design and Low-level design starting from system requirements (functional and non-functional).
Experience in using best coding practices for the full software development life cycle and development of unit tests and automatic tests.
Experience in developing Image Processing Algorithms and understanding of machine learning, including model development/assessment, training and test datasets, and evaluate algorithms performance.
#LI-IC1