NovAtel

Returning Candidate?

Verification / Software Engineer

Verification / Software Engineer

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

More information about this job

Overview

As a NovAtel Verification Engineer you will contribute to 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 Platform Software team brings the hardware to life and provides the infrastructure that other teams build upon to create solutions for customers.  Working closely with a broad range of software developers you will ensure our internal customer demand is being met with high standards of software quality.

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

  • Implement automated tests in Python and deploy them in a continuous integration system.
  • Understand and apply system requirements to develop test strategies and build test setups.
  • Document test procedures, results and compliance to requirements.
  • Troubleshoot test failures and investigate issues, including delving into source code.
  • By understanding the complexities of real-time firmware, you'll design ways to provoke race conditions and other possible concurency issues within the code.
  • Implement bug fixes and new features in embedded firmware using C++.

Qualifications

Must-Have:                      

  • Post-secondary degree, preferably in Computer Science, Electrical, Computer, or Software Engineering.
  • 0-3 years experience in a high technology manufacturing environment.
  • Experience in Python or similar scripting languages.
  • Experience in C++ or similar systems programming languages.
  • An ability to learn quickly and apply knowledge to solve real world problems.
  • 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 an interest in embedded systems. (e.g., tinkering with Raspberry Pi or Arduino).

Nice-to-Have:

  • Experience in embedded software development using C++ and real-time operating systems.
  • Experience with continuous integration systems, especially Jenkins.
  • Knowledge of communication protocols and interfaces, such as TCP/IP, CAN or USB.
  • Knowledge of wireless communications technologies, such as UHF, cellular or WiFi.
  • Knowledge of GPS/GNSS.