R&D Software Embedded Engineer Platforms
Descrizione dell'offerta
Overview
Platforms Embedded Software Engineers are part of a team dedicated to research and development of state‑of‑the‑art edge‑computing platforms and application‑level SW components, both intended to become trusted building blocks on which most of the new generation Datalogic products will be based.
Main duties and responsibilities
- Research and develop new edge‑computing platforms and application‑level SW components for products dedicated to 1D/2D code‑reading and/or other computer‑vision applications, in accordance with predefined project requirements and in collaboration with other R&D engineers skilled in embedded SW, image‑processing algorithms, electronics or optics
- Contribute to define detailed requirements of new software components, starting from higher level requirements provided by involved systems engineers
- Contribute to develop the software architecture of Linux‑based embedded devices dedicated to 1D/2D code‑reading and/or other computer‑vision applications. The architecture has to be future‑proof and very scalable because the software is intended to run on a multitude of devices which differ from each other by image‑sensors' resolution, data processing power, type of communication interfaces, etc.
- Design, develop and validate new pieces of software, following well‑established Software Quality Assurance (SQA) principles and best‑practices. The required coding languages are C++ for Linux user‑space programming and C for any Linux Kernel and Bootloader changes.
- Porting existing pieces of software from a device to another one, taking care of all the possible hardware differences related to image‑sensors, processor, memories, peripherals, etc.
- Contribute to maintain already released pieces of software by debugging any open defects and implementing new added‑value features.
- Support program managers to estimate effort required to carry out assigned tasks and to keep updated project plans, facilitating monitoring of own task progress.
- Contribute to spread SQA principles and best‑practices throughout the team, for example by establishing design and development guidelines, mentoring less experienced teammates, and promoting systematic code reviews.
- Research new technologies potentially providing a competitive advantage to the next generation products. Leverage collaborations with universities and technology partners to speed‑up innovation.
- Attend technical and soft‑skill training initiatives promoted by the Company to ensure continuous learning and professional growth.
Requirements
- Education: Master’s Degree in Computer or Electronic Engineering or Computer Science
- Languages: Italian, fluent English
- Experience: more than one year of hands‑on experience in SW engineering for Linux‑based embedded‑systems, object‑oriented design, and C++ programming
- Specific Knowledge
- Good command of C++ programming, object‑oriented design, and design patterns
- Good command of well‑established Software‑Quality‑Assurance principles and best‑practices
- Good command of most common debugging, profiling, and code analysis tools
- Proven hands‑on experience with design and development of software for Linux‑based embedded systems, preferably working in both user and kernel space
- Good knowledge of DevOps tools (Git, Docker, and Jenkins) and CI/CD principles and best‑practices
- Experience with processors based on ARM, RISC‑V or MIPS CPU architecture is a plus
Additional information
- Seniority level: Entry level
- Employment type: Full-time
- Job function: Engineering and Information Technology
- Industries: Appliances, Electrical, and Electronics Manufacturing
Get notified about new Research Development Software Engineer jobs in Bologna, Emilia‑Romagna, Italy.
#J-18808-Ljbffr