Senior Firmware Engineer
Novanta Technologies Spain, S.L. · Barcelona, Spain
About The Role
Build a career powered by innovations that matter! At Novanta, our innovations power technology products that are transforming healthcare and advanced manufacturing—improving productivity, enhancing people’s lives and redefining what’s possible. We create for our global customers engineered components and sub-systems that deliver extreme precision and performance for a range of mission-critical applications—from minimally invasive surgery to robotics to 3D metal printing.
Novanta is one global team with over 26 offices located in The Americas, Europe and Asia-Pacific. Looking for a great place to work? You have found it with a culture that embraces teamwork, collaboration and empowerment. Come explore Novanta.
We are looking for a talented, and highly motivated senior engineer who will take the lead in designing, developing, testing embedded software. You must adhere to design and coding standards in order to produce the highest quality work. Designing and developing firmware systems in compliance with industry standards.
Primary Responsabilities
- Develop and maintain firmware running on Novanta products.
- Implement new features for existing products, including additional feedback interfaces, communication protocols, and state-of-the-art motion control algorithms.
- Participate in the design and development of new products.
- Implement proofs of concept for novel products or features.
- Develop and maintain continuous integration/development libraries.
- Collaborate closely with the hardware team to assist with component selection and review hardware schematics.
- Work closely with the software team to create engaging libraries and applications for our customers.
- Collaborate closely with the testing team to define test plans for Novanta products.
- Review and improve external documentation (product manuals, datasheets, etc.).
- Improve internal documentation (covering architecture, continuous integration/development, detailed design, etc.).
Experience, Education and Competencies
- MS or PhD in Computer Science, Electrical Engineering, or a related technical discipline.
- Around 8 years of experience.
- Proficiency in C, including C in resource-constrained embedded environments.
- Fluency in software fundamentals, including software design and maintainability.
- Proficiency in microprocessor bare-metal development with real-time constraints.
- Hands-on experience in new hardware board bring-up, system debugging, and code optimization.
- Experience with MCU peripherals: I2C, SPI, CAN, USB, UART, GPIO.
- Understanding of schematics, datasheets, and application notes.
- Experience with version control software.
- Experience in software testing procedures.
- Fluent written and spoken English.
Nice-to-have Requirements
- Knowledge of C++ and/or Python.
- Experience with object-oriented programming (OOP).
- Experience using RTOS.
- Experience in FSoE (Functional Safety over EtherCAT).
- Knowledge of software quality principles and coding standards (e.g., MISRA).
- Knowledge of motion control (motor types, feedbacks, control loops, etc.).
- Knowledge of the CANopen communication protocol.
- Familiarity with industrial Ethernet communication protocols (EtherCAT, EtherNet/IP, Profinet).
- Previous experience in motion control, robotics, or medical automation markets will be highly appreciated.
- Expertise with continuous integration and delivery software (e.g., Jenkins).
- Fluent written and spoken Spanish.
Travel requirements
- Occasional travel is expected, both domestically and internationally, to provide customer support and/or assist with installations.
Novanta is proud to be an equal employment opportunity and affirmative action workplace. We consider all qualified applicants without regard to race, color, religion, sex (including pregnancy), sexual orientation, gender identity or expression, national origin, military and veteran status, disability, genetics, or any other category protected by federal law or Novanta policy.
Please call +1 781-266-5700 if you need a disability accommodation for any part of the employment process.
Similar roles you might like
See all →This is an external listing. JobSpring does not represent or verify the employer. Report this listing
