NovAtel

Returning Candidate?

Software Engineer

Software Engineer

Job ID 
2017-1247
Job Locations 
CA-AB-Calgary
Category 
Technical / Engineering
Type 
Permanent Full-Time

More information about this job

Overview

As an Embedded Software Engineer you will contribute to product software development as part of a tightly integrated, collaborative agile team of developers/testers. The initial focus of this role will be on verification and test automation, with a progression towards firmware development.

The Product Software team develops integrated products using NovAtel’s positioning technologies. With a reputation for delivering on demanding projects, there is almost always a new challenge around the corner. Working closely with customers, especially in the Agriculture sector, you will apply technologies like WiFi, cellular modems, UHF radios, Linux, and CAN vehicle networks.

Turning customer ideas into a competitive advantage is what we do. NovAtel's integrated global positioning solutions deliver success on land, sea and in the air. We help many of the world's top companies stay in the lead by consistently delivering OEM global satellite positioning products that are recognized for their technical innovation, unsurpassed quality, fast delivery and industry-leading customer support. We empower skilled people to expand the boundaries of what is possible.

Responsibilities

  • Understand and apply system requirements to develop software features.
  • Implement bug fixes and new features in embedded firmware using C++.
  • Design and implement automated tests in Python and deploy them in a continuous integration system.
  • Ensure accurate completion of tests and compile test results according to documented procedures and best practices.

Qualifications

Must-Have:                      

  • Post-secondary degree, preferably in Computer Science, Electrical, Computer, Software or Geomatics Engineering.
  • 5-10 years experience in a high technology environment.
  • Experience in embedded software development using C++ and real-time operating systems.
  • Experience in C++ or similar systems programming languages.
  • Experience in Python or similar scripting languages.
  • Strong communication skills, both oral and written.

Key Success Factors:

  • You enjoy coding, and want to get better at it
  • You work well in a collaborative team environment
  • You are comfortable working individually but know when to ask for help
  • You don’t mind documenting your work
  • You have a strong interest in embedded systems. (e.g., tinkering with Raspberry Pi or Arduino)

Nice-to-Have

  • Knowledge of communication protocols and interfaces, such as TCP/IP, CAN or USB.
  • Knowledge of wireless communications technologies, such as UHF, cellular or WiFi.
  • Experience with continuous integration systems, especially Jenkins.
  • Knowledge of GPS/GNSS.