Skip to content
← Back to job listings

Firmware Engineer

Novanta Technologies Spain, S.L. · Barcelona, Spain

Software DevelopmentExternal listingfull-timeabout 2 hours ago

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 engineer who will

develop and implement firmware for embedded systems. Test and debug to meet product specifications. Collaborate with hardware engineers to develop top-notch firmware. Use programming languages and microcontrollers for this purpose. Designing, developing, and testing embedded software, applying industry standards and best practices.

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 development of new products.
  • Develop and maintain continuous integration/development libraries.
  • Review and improve external documentation (product manuals, datasheets, etc.).
  • Improve internal documentation (covering architecture, continuous integration/development, detailed design, etc.).

Experience, Education and Competencies

  • Degree, MS or PhD in Computer Science, Electrical Engineering, or a related technical discipline.
  • Minimum of 4 years of experience.
  • Proficiency in C, including C in resource-constrained embedded environments.
  • Knowledge of software fundamentals, including software design and maintainability.
  • Experience in microprocessor bare-metal development with real-time constraints.
  • Experience with MCU peripherals: I2C, SPI, CAN, USB, UART, GPIO.
  • Understanding of schematics, datasheets, and application notes.
  • Experience in the use of laboratory instruments.
  • Experience with version control software.
  • Fluent written and spoken English and Spanish

Nice-to-have Requirements

  • Knowledge of C++ and/or Python.
  • Experience with object-oriented programming (OOP).
  • Hands-on experience in new hardware board bring-up, system debugging, and code optimization.
  • Experience in software testing procedures.
  • 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.

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.

This is an external listing. JobSpring does not represent or verify the employer. Report this listing