Senior Embedded Developer

Geotab Inc.
Madison Heights, United States of America
7 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
$ 180K

Job location

Remote
Madison Heights, United States of America

Tech stack

Agile Methodologies
Automation of Tests
Unit Testing
Bash
Big Data
Bluetooth
C++
Code Coverage
Code Reuse
Computer Engineering
Continuous Integration
Datasheets
Data Structures
Software Debugging
Software Design Documents
Software Design Patterns
Linux on Embedded Systems
Embedded Software
Firmware
Python
Linux System Administration
Near Field Communication
Object-Oriented Software Development
Scrum
Systems Development Life Cycle
Real-Time Operating Systems
Reduced Instruction Set Computing
SQL Databases
Universal Asynchronous Receiver/Transmitter
Video Encoding
Wi-Fi Technology
Sed (Programming Language)
Multithreading
Scripting (Bash/Python/Go/Ruby)
Serial Peripheral Interface
PIC Microcontroller
Test Driven Development
GIT
System-level Testing
Pytest
Information Technology
Bare Metal
Build Tools
Gsuite
Hardware Infrastructure
Go

Requirements

Senior Embedded Developer (Geotab USA, Inc.) (Madison Heights, MI): Develop an in-depth understanding of the company's IoT devices (such as telematics devices, extendibility products, asset trackers, Video products) firmware and how various modules work; Participate in and advocate for modular, reusable, hardware independent software/firmware development practices and adhere to test driven development principles; Listen and contribute to design discussions, make detailed notes / documentation of requirements and technical design. Provide input to efforts and timelines of modules/features/products as required; Write scalable, high quality, secure embedded software using the company's development standards for RTOS, Embedded Linux or bare metal as required; Become proficient in GBQ/SQL and the company's datasets for large scale feature functionality analysis; Perform firmware development, including architectural input, in the required area of expertise (Telematics, Video, Asset Tracking, Security, Vehicle Data, communication interfaces like Bluetooth, WiFi, NFC, etc) using C and other standards required by the RTOS and as per the company's development standards; Write unit tests and perform integration and system-level testing in both real and simulated environments, demonstrating that new features are meeting design requirements; Collaborate with hardware teams to ensure hardware components are seamlessly integrated in the system via reading and understanding data sheets to design and write software components; Foster teamwork across all departments and provide assistance by debugging and resolving issues as needed. Research new technologies in relevant areas and offer recommendations to senior leaders; Identify opportunities for code improvements and assist in defining best practices for the team; Provide and maintain design documents and other documentation to ensure efficient maintenance and code reuse; Perform quality assurance through peer review; ensuring test coverage, enforcing coding standards, identifying potential bugs and aligning with requirements; and Mentor junior developers and interns, take ownership of quality and deliverable of the work of junior developers in the team. In order to complete the abovementioned tasks, the following skills and experience are required: Experience with at least one of C++/RUST/GOlang; Experience with image processing (CMOS sensor interfaces, ISP pipeline, video encoding); Experience with embedded software development using primarily C for real-time operating systems (RTOS) and multi-threaded Linux environments; Experience working on preemptive, multitasking real-time operating systems or multi-service, multi-threaded Embedded Linux systems; Experience using data structures, algorithms, and design patterns common to embedded (resource-constrained) systems development, object-oriented design principles; Experience with Microcontroller Design and utilization; Experience with underlying electronics to the point where it influences firmware development and debugging; Experience with basic communication protocols common in embedded systems (e.g., UART, SPI, I2C, CAN); Experience with reading schematics and data sheets for components; Experience working with commonly used embedded architectures (ARM, RISC-V), and SoCs (STM32, NXP, Renesas); Experience with one or more scripting languages (Bash, Python) and test frameworks (Pytest, Robot Framework) with experience in SQL; Experience with Git; Experience with CI/CD methods and build systems to manage and evolve products throughout their lifecycle; Experience with Google Suite for business (Sheets, Docs, Slides); Experience working in Scrum/Agile development environment; Experience solving open ended design problems, analyze large datasets and provide strong analysis and details to support evidence-based decision making; and Experience with translating research inputs and open-ended requirements to product features in an incremental and agile way. Requires a Bachelor's degree or foreign equivalent in Computer Science, Computer Engineering, Electrical Engineering or a related field, and at least five years of experience as an Embedded / Software Developer or related occupation. Option to work from home on a hybrid schedule. Salary: $140,000 - $180,000/year. Please send C.V. to [email protected] and include Reference Code SED-2026-04 in the email's subject line.

Apply for this position