Returning Candidate?

Embedded Firmware Developer - Intern

Embedded Firmware Developer - Intern

Job ID 
Job Locations 
Technical / Engineering

More information about this job


To support our focus on delivering high quality products, we are looking for an enthusiastic internship student to add to our Platform Development team. The Platform Development team is responsible for implementing drivers for hardware and providing infrastructure code on the receiver that is used by other teams.

With an employment start date of April 30, 2018, this role offers you the chance to work with leading edge technology in a real time embedded system. Working with our experienced team of firmware developers you will gain an understanding of how reliable, real time firmware is designed, written and tested. You’ll be exposed to concepts used in complex, multitasking systems: critical sections, inter-process communication, task scheduling and priority. Finally, you will gain valuable team collaboration experience using Agile development methods.


• Based on requirements, develop C++ based firmware to implement new features in NovAtel GNSS receivers.
• Work in a team environment, discussing problems, diagnostic steps and solutions.
• Apply operating system concepts like task priority, scheduling, mutexes, semaphores.
• Learn and apply concepts related to task concurrency, critical sections and I/O buffering.
• Analyze and interpret schematic diagrams and component datasheets to understand how the firmware needs to manipulate the hardware to meet the desired functionality.
• Create developer tests to exercise and prove low level functionality.
• Follow approved development procedures for reviewing designs, tests and code.



  • Registered in the Engineering Internship/Co-op program and have completed at least your 3rd year of studies by the start of your work term.
  • Electrical Engineering (Software) or Computer Science student.
  • Available for a minimum 12-month work term.
  • Experience with C++ in a Windows development environment.
  • Strong communication skills, both oral and written

Key Success Factors:

  • Ability to work in a collaborative team environment
  • Confident Self-starter
  • Detail oriented person able to follow complex instructions a “first-time right” attitude
  • Motivated by challenging work
  • You are comfortable working individually but know when to ask for help


  • Familiarity with embedded systems and hardware.
  • Experience with Python.