Senior Firmware Engineer

Novanta Inc.
Barcelona, Spain
4 days ago
Apply on novanta.wd5.myworkdayjobs.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience required
8 years minimum
Working hours
Regular working hours
Languages
English, Spanish

Tech stack

Testing (Software) Board Bringup Application Notes C++ (Programming Language) CANopen Program Optimization Software Quality Communications Protocols Continuous Integration Datasheets Software Debugging Embedded Software
+15 more
Ethernet EtherCAT Firmware Python (Programming Language) MISRA C (C Programming Language) Object-Oriented Software Development Real-Time Operating Systems Software Engineering Universal Asynchronous Receiver/Transmitter Control Structures Information Technology Bare Metal Software Coding Software Version Control Jenkins

Job description

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.).

Requirements

  • 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.

About the company

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.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on novanta.wd5.myworkdayjobs.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:34 min

Selecting specific microcontrollers and fundamental programming languages for powertrains

David Romić · World Congress 2023

1:02 min

Applying an ETL methodology to infrastructure configuration management

Axel Barbier · World Congress 2023

2:19 min

Orchestrating over-the-air firmware updates for vehicle modules

Denis Grahovac · World Congress 2021

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

57 sec

Extracting API schemas automatically during continuous integration builds

Axel Barbier · World Congress 2023

2:20 min

Utilizing custom firmware for variable torque manipulation

Daniel Meilak Daniel Meilak +1 · World Congress 2026 Europe

Videos

See all

Related articles

See all