All jobs

Firmware Developer

Miovision3h ago
CanadaHybridA$100KFull-timeMid Level2+ yrs exp

Top focus

Firmware Engineer

About Miovision: At Miovision, we’re unlocking transportation networks that move you. Our vision and mission is to enable smart, fast, safe communities that simply flow, as we drive the Intelligent Mobility Revolution. Backed by the world’s most advanced traffic AI, Miovision’s innovations in traffic signal planning and operations are making it possible for cities to improve the transportation experience for drivers, cyclists and pedestrians.

Our values drive us. They’re at the core of everything we do. If they align with yours, proceed through the GREEN light! All in to win: We're driven by a winning mindset, approaching every challenge with intensity, clarity, and speed. One Miovision: We succeed as one team, uniting diverse talents, building on trust, and putting our shared mission before ego.

Be better every day: We're committed to continuous growth, staying curious, building mastery, and embracing challenges as learning opportunities. Make it happen: We are proactive and results-driven, taking ownership, acting with urgency, and focusing on solutions that deliver real impact.

Earn the customer: We are deeply customer-centric, focused on earning our customers' partnership every day by delivering exceptional experiences that drive their success. Position Summary As a Firmware Developer, you will collaborate, design, and develop firmware across all Miovision hardware and test systems.

Our firmware team is responsible for developing the low-level hardware abstraction layer (BSP) for Miovision Core and Scout products, and much of the on-device software stack for our Opticom priority/preemption phase selectors, radios, and infrared products.

Operating in a Linux environment, this is a hands-on role that involves working with multi-board, multi-processor hardware, building out the kernel, modifying low level drivers and hardware abstraction level firmware. You will also develop low-level tests to validate the functionality of each hardware interface.

We value practical problem-solving, deep curiosity, and individuals who take the initiative to build the right product. Please Note: This is a hybrid role based out of our HQ in Kitchener, Ontario. Objectives and Responsibilities: Design & Develop: Develop embedded Linux software in Python and firmware solutions in C/C++.

Implement and maintain firmware features to completion. Hardware Bring-Up & Collaboration: Partner closely with the Electrical Engineering team during bring-up and debugging phases. System Integration: Collaborate with the Device Software team to resolve software dependencies, ensuring seamless integration between hardware abstraction layers and high-level applications.

Quality & Validation: Work hand-in-hand with the QA team to ensure complete test coverage. You will develop both manual and automated low-level tests to validate hardware interfaces. Continuous Improvement: Participate in code reviews and troubleshoot product and manufacturing-related problems to ensure product quality.

Ideal Profile: Firmware Experience : Proven track record of hands-on embedded/firmware design and development experience. Technical Languages: Prior experience working in C/C++ and Python. Development Ecosystems: Experience navigating development ecosystems such as Git/GitLab, Docker, AWS, Visual Studio, CMake, Jira, and/or Confluence.

Embedded Systems and Hardware: Familiarity with embedded systems design at the board and IC level, including familiarity working with hardware devices and compiling for ARM/X64 architectures. Communication Protocols: Comfortable designing for protocols like UART, I2C, SPI, USB, and Ethernet.

Passion: Passion for building products that our customers love and that the team can be proud of. Communication and Mindset: Strong written and verbal communication skills, a positive attitude, and a natural curiosity to dive deep into complex technical systems.

Additional Assets: If you have experience in any of these areas, we’d love to hear about it! Experience working within Linux and developing software to run on Linux. Experience reading and understanding technical standards (IEEE, SAE) and documentation.

Experience working within an RTOS. Familiarity with Linux command line utilities such as tcpdump, netcat, etc. Experience with reading schematics and datasheets. Used Oscilloscopes for troubling shooting. Used AWS services such as S3, EC2, RDS.

Using AMP AI for deep dive analysis of code and datasheets, and generating scripts. Understanding of shared libraries. Unit testing and static analysis principles. Experience with Yocto or Buildroot. This posting is for an actual vacancy. Your Rewards & Well-being: We invest in our team with benefits designed for modern life and true work-life balance.

Comprehensive Coverage: Your well-being is covered from day one with comprehensive health benefits, 24/7 virtual healthcare access, and dedicated wellness programs. Financial Future: Build for tomorrow with our RRSP/401K Matching Plan and share in the company's success through our Variable Incentive Plan.

Time to Recharge: Truly unplug with our unique Mio-Days and flexible vacation policy. Work & Life Support: We support you with flexible work options, an internet subsidy, a remote work allowance, and enhanced leave for new parents. Sound like your next adventure?

Apply now and let's start building together! We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

Please indicate if you require accommodation on your application, and our team will work with you to meet your accessibility needs. Miovision may use artificial intelligence (AI) to assist in the hiring process for tasks such as helping to identify qualified candidates, taking meeting notes, creating summaries, and streamlining administrative work.

These tools are one of several factors considered in the hiring process and do not replace human judgement. We do not use AI to make any final hiring or interview decisions. PLEASE BE AWARE OF FRAUD: Applicants interested in applying for roles at Miovision should apply directly via the details provided on our careers page.

We communicate directly with applicants and will not request banking information, payment, or fees during any point of the recruitment process. We do not conduct interviews via text message. If you suspect that a third party is impersonating Miovision or requesting payment for recruitment on behalf of Miovision, please alert us via recruitment@miovision.com.

To all recruitment agencies: Miovision does not accept agency solicitation or resumes. Please do not forward resumes to our HR alias e-mail address, to any Miovision employee, or to other Miovision e-mail addresses. Miovision will not pay any fees related to unsolicited resumes.

Required skills

CC++PythonLinuxGitDockerAWSVisual StudioCMakeJiraConfluenceUARTI2CSPIUSB
Posted on JobRush — the end-to-end AI job-search platform.