As an Firmware Engineer you will collaborate in the design implementation and verification of new drives for the range as well as the implementation of new features and maintenance of the entire range. This position requires strong firmware skills and a deep understanding of the physics underlying motion control technology.
Tasks
Primary Responsibilities
Develop and maintain firmware for Novanta servo drives.
- Implement new features for existing products including additional feedback interfaces communication protocols and stateoftheart motion control algorithms.
- Participate in the design and development of new products for the standard range.
- 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
Required Experience Education and Skills
Proficiency in C including C in resourceconstrained embedded environments.
- Bachelors degree in Electrical Engineering Computer Science Telecommunications or another related technical discipline.
- Minimum of 1 year working as a Firmware engineer.
- Fluency in software fundamentals including software design and maintainability.
Proficiency in microprocessor baremetal development with realtime constraints.
- Handson experience in new hardware board bringup system debugging and code optimization.
- Experience with MCU peripherals: I2C SPI CAN UART GPIO etc.
- Understanding of schematics datasheets and application notes.
- Experience in the use of laboratory instruments.
- Experience with version control software.
- Experience in software testing procedures.
- Fluent written and spoken English.