We are looking for an Embedded Software Developer to join a dynamic, innovative, and highly collaborative environment. The selected candidate will be involved in the entire project lifecycle—from analyzing technical and functional requirements, to development and testing, and finally deploying embedded solutions into production.
Main Responsibilities
Analyze technical and functional requirements.
Design, develop, and maintain firmware for microcontroller-based systems.
Handle testing, debugging, and code optimization activities, including hardware-level interactions.
Work with hardware peripherals and lab instruments to verify and optimize performance.
Assist in the preparation and maintenance of technical project documentation.
Contribute to the continuous evolution of embedded solutions through the adoption of new technologies and development methodologies.
Required Technical Skills
Embedded Programming Fundamentals
Knowledge of C/C++ programming for microcontroller systems.
Experience—academic or personal—with development boards (e.g., STM32, Microchip, AVR).
Familiarity with registers, peripherals, and hardware driver concepts.
Communication Interfaces
Theoretical and/or practical knowledge of communication protocols such as UART, SPI, I2C.
Ability to read and understand datasheets for peripheral integration.
Real-Time Operating Systems (RTOS)
Basic knowledge of real-time scheduling, task/thread management, and synchronization (e.g., semaphores, mutexes).
Experience with FreeRTOS, VxWorks, or other RTOS (academic experience is also considered a plus).
Solid experience in developing and maintaining time-critical software.
Hardware Interaction
Ability to work close to the hardware for debugging, performance optimization, and peripheral management.
Familiarity with lab instruments (oscilloscopes, logic analyzers, multimeters, etc.).
Development Tools
Experience with Integrated Development Environments (IDEs) such as STM32CubeIDE, Keil, MPLAB X.
Use of debugging tools: step-by-step debugging, breakpoints, printf debugging.
Version Control
Basic knowledge and use of Git for source code management and team collaboration.
Methodologies
Familiarity with Agile and DevOps practices.
Experience with Continuous Integration/Continuous Deployment (CI/CD) processes for embedded environments.
Soft Skills
Passion for electronics and embedded development.
Strong analytical and problem-solving skills.
Teamwork and technical documentation abilities.
Willingness to engage in continuous learning and experimentation with both RTOS and bare-metal technologies.
Education
Bachelor’s or Master’s degree in Electronic Engineering, Computer Engineering, Automation, Telecommunications, or related fields.
What We Offer
Personalized career paths in a fast-growing, innovation-driven company.
Ongoing training—both cross-functional and specialized—tailored to individual skills, attitudes, and interests.
Corporate Benefits: health insurance, welfare plan, meal vouchers, and corporate discounts.
Team-building activities to foster a positive, cohesive, and collaborative work environment.
This position is open to candidates of all genders in accordance with Legislative Decree 198/2006. The company promotes equal opportunities and values diversity in all its forms.