Post Job Free
Sign in

Senior Embedded Developer

Company:
Geotab
Location:
Oakville, ON, Canada
Posted:
May 14, 2024
Apply

Description:

Who you are:

We are always looking for amazing talent who can contribute to our growth and deliver results! Geotab is seeking a Senior Embedded Developer who will be designing, writing, and testing C, c++ and Rust code for Geotab’s GO telematics devices. If you love technology, and are keen to join an industry leader — we would love to hear from you!

What you’ll do:

As a Senior Embedded Developeryour key area of responsibility will be to perform firmware development in the required area of expertise (modem, GPS, vehicle data, security, etc) using C, C++ and Rust as per the development standards.

To be successful in this role you will be a self-starter with strong written and verbal communication skills, and have the ability to quickly understand complex, technical concepts. In addition, the successful candidate will have strong analytical and project management skills with an ability to identify needs, develop effective solutions, and manage projects through completion. The successful candidate will also be able to manage multiple timelines and contrasting priorities to ensure timely results.\n

How you’ll make an impact:

Develop an in-depth understanding of the Geotab IoT devices (such as GO, extensible product, asset trackers) firmware and how various modules work.

Perform firmware development in the required area of expertise (modem, GPS, vehicle data, security, etc) using C, C++ and Rust as per the development standards.

Write unit tests and perform integration and system-level testing in both real and simulated vehicles, to demonstrate that new features meet design requirements.

Write SQL queries and Python scripts on data from Google BigQuery to determine device health and effectiveness of new functionality.

Conduct comprehensive testing and code reviews to ensure that industry coding standards are followed.

Debug firmware issues and identify areas for code improvements.

Keep up-to-date documentation for all areas of responsibility.

What you’ll bring to this role:

Post-secondary Diploma/Degree with specialization in Computer Science, Computer Engineering, Electrical Engineering or a related field.

8+ years experience in embedded systems design with preemptive, multitasking real-time operating systems.

Strong knowledge of programming languages (C/C++/C# ) in an embedded software context. Experience with RTOS and Linux.

Experience with Agile methodologies such as SCRUM.

Experience programming in Rust is highly valued.Well versed in modern scripting languages (e.g. bash, Python, TCL, etc.) is highly valued

Experience in hands-on development and troubleshooting on embedded targets.

Understanding of underlying electronics to the point where it influences firmware development and debugging.

Experience or exposure with SQL for leveraging big data for firmware development.

Familiar with data structures, algorithms, and design patterns common to embedded (resource-constrained) systems development.

Adequate knowledge of reading schematics and data sheets for components.

\n

Apply