.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:Do you like Embedded Systems, Real Time, Electronics, and anything related to low-level computing? Do you have an interest in reverse engineering? Do you write your age in hexadecimal? We are looking for an Embedded Systems Engineer specialized in Systems Architecture. Your primary responsibility will be the development of the different 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:How you'll make an impact:Develop an in-depth understanding of the Geotab's device firmware from a Systems Architecture point of view.Perform kernel-level development using C language.Contribute to the evolution of 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.+3 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 of 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.Strong hacker attitude