.Who we are: Geotab is a global leader in IoT and connected transportation and certified "Great Place to Work." We are a company of diverse and talented individuals who work together to help businesses grow and succeed, and increase the safety and sustainability of our communities. Geotab is advancing security, connecting commercial vehicles to the internet and providing web-based analytics to help customers better manage their fleets. Geotab's open platform and Geotab Marketplace, offering hundreds of third-party solution options, allows both small and large businesses to automate operations by integrating vehicle data with their other data assets. Processing billions of data points a day, Geotab leverages data analytics and machine learning to improve productivity, optimize fleets through the reduction of fuel consumption, enhance driver safety and achieve strong compliance to regulatory changes.Who you are: As an Embedded Systems Developer specializing in Operating Systems, your primary responsibility will be the development of the mid- to low-level layers of the firmware stack for Geotab's telematics devices. You will design, write, and test drivers written in C language for various hardware devices, file systems, and other kernel functionality enhancements.What you'll do:Develop an in-depth understanding of the architecture of Geotab's device firmware.Perform kernel-level development using C language.Refactor bare-metal code to work on top of an Operating System on both embedded and non-embedded systems.Write guidelines that ensure resulting code is able to run across a wide variety of environments and OSes.Design testing strategies and implement automatic verification methods.Provide expert judgment on the suitability of existing OSS solutions for specific functionality needs.Debug code misbehavior and perform the appropriate fixes and modifications.Align new and existing code to widespread practices and industry standards.Maintain the documentation related to areas of responsibility.Strive for perfection, searching for the "right" solution and not settling with "just works."What you'll bring to this role:Bachelor's degree in Electrical, Mechatronics, Computer Engineering or related.+5 years experience in firmware development for embedded systems.Understanding of operating system layers and architectures.Strong knowledge of C programming language in POSIX environments.Deep understanding on the code building process and compiler passes.Proficiency with open source development tools (gcc/gdb).Experience in debugging and troubleshooting on embedded targets.Ability to read electronic circuit schematics and understand device datasheets.Self-learning and open problem-solving capabilities.Proven ability to work independently and with remote team members.Contributions to OSS projects are highly valued.Knowledge of modern microprocessor architectures is a plus.Exposure and/or experience with SCRUM or other Agile frameworks is a plus