
Senior Firmware Engineer
Novanta Inc.2 hours ago
Barcelona, SpainSenior
Responsibilities
- Develop and maintain firmware running on Novanta products.
- Implement product features including feedback interfaces, communication protocols, and motion-control algorithms.
- Participate in new product design and development and implement proofs of concept.
- Develop and maintain continuous integration and development libraries.
- Collaborate with hardware teams on component selection, schematic review, board bring-up, debugging, and system optimization.
- Work with software and testing teams to develop customer libraries, applications, and product test plans.
- Review and improve external product documentation and internal architecture, design, and development documentation.
Requirements
- MS or PhD in Computer Science, Electrical Engineering, or a related technical discipline.
- Around 8 years of experience.
- Proficiency in C for resource-constrained embedded environments and strong software design and maintainability fundamentals.
- Experience with bare-metal microprocessor development under real-time constraints, hardware board bring-up, system debugging, and code optimization.
- Experience with MCU peripherals including I2C, SPI, CAN, USB, UART, and GPIO.
- Understanding of schematics, datasheets, and application notes, plus experience with version control and software testing procedures.
- Preferred qualifications include C++ or Python, object-oriented programming, RTOS, FSoE, MISRA, motion control, CANopen, EtherCAT, EtherNet/IP, Profinet, Jenkins, and experience in motion control, robotics, or medical automation.
- Fluent written and spoken English; Spanish is also preferred.
Benefits
- Occasional domestic and international travel is required for customer support and installations.
- Novanta is an equal employment opportunity and affirmative action workplace and provides disability accommodations during the employment process.