Lyft
Ingénieur(e) en Micrologiciel, LUS
Montreal, Canada
Job description
The company and the team
At Lyft, our mission is to serve and connect. We pursue it by fostering a work environment where everyone finds their place and has the opportunity to thrive.
Lyft Urban Solutions provides the bike and scooter sharing systems that allow millions of people to get around in more than 60 cities around the world. We built the first automated bike sharing system in North America and remain at the forefront of the micromobility revolution. Our systems are present all over the world: from Citi Bike in New York to BIXI in Montreal, through Divvy in Chicago, Capital Bikeshare in Washington D.C., and iconic systems in Austin, Barcelona, Bogota, Boston, Buenos Aires, Columbus, Detroit, Dubai, London, Madrid, Mexico City, Monaco, Pittsburgh, Portland, Rio de Janeiro, San Francisco, Toronto and many other cities.
We are not simply technology suppliers: we operate these systems, developing the software, hardware and operations that allow urban micromobility to run at scale.
Ready to help shape how millions of people move through their cities every day?
The Firmware Engineer role at Lyft Urban Solutions (LUS) is critical to the development and delivery of Lyft's micromobility hardware solutions, which include electric bikes, scooters, batteries and stations. We are looking for a firmware engineer with exceptional technical skills to contribute to new product introduction (NPI) and fleet sustainability programs, which add value to cities around the world that use our products. Firmware engineers at Lyft work closely with the hardware, operations and manufacturing teams. The role therefore requires strong technical expertise as well as leadership and communication skills. They are proactive problem solvers who move initiatives forward, ensuring the success of key deliveries that have a significant impact on the business.
Responsibilities
- Develop features for the embedded systems of our micromobility product range (vehicles, docks, internal tools).
- Work with cross-functional teams to prototype, develop and put into production our next generation of world-class mobility products.
- Work on improvements and updates to enhance the overall experience of existing products.
Experience
- Bachelor's degree in computer science or a related field.
- More than 5 years of C/C++ development experience for embedded systems.
- Familiarity with using Python for scripting and automated testing.
- Experience with an embedded real-time operating system (FreeRTOS, ThreadX, etc.).
- Understanding of basic operating system concepts (memory management, scheduling, threads, interrupts).
- Familiarity with the ARM Cortex-M processor family.
- Hands-on experience in electrical commissioning and debugging.
- Strong embedded debugging skills, including the use of debug probes, signal analyzers, oscilloscopes and power analyzers.
- Experience translating product requirements into achievable schedules.
- Strong communication skills to explain technical approaches and share progress and risks with non-technical audiences.
- Solid understanding of distributed systems concepts.
Lyft is committed to creating an inclusive work environment that fosters belonging. Lyft believes that every person is entitled to equal employment opportunity, without discrimination based on race, ancestry, place of origin, colour, ethnic origin, citizenship, creed, sex, sexual orientation, gender identity, gender expression, age, marital status, family status, disability, record of a pardoned criminal conviction, or any other ground protected by applicable law or company policy. Lyft also strives to create a healthy and safe workplace and strictly prohibits all harassment. Accommodations for people with disabilities will be provided on request, in accordance with applicable law, during the application and hiring process. Please contact your recruiter if you wish to make such a request.
Work arrangement
This position is on-site on a hybrid schedule: team members must work in the office 3 days per week, on Mondays, Wednesdays and Thursdays. In addition, hybrid positions offer the flexibility to work from anywhere for up to 4 weeks per year. #Hybrid
Pay and benefits
The planned base salary range for this position in the Montreal area is CAD $88,000 - CAD $110,000. Salary ranges depend on various factors, including qualifications, experience and geographic location. The range does not include equity offers, bonuses or potential benefits. Your recruiter can provide more information about the salary range specific to your work location and other factors during the hiring process.
Technical stack
Languages
- C
- C++
- Python
Real-time operating systems
- FreeRTOS
- ThreadX
Hardware and processors
- ARM Cortex-M
Test and debug tools
- Debug probes
- Signal analyzers
- Oscilloscopes
- Power analyzers
Read the full description and apply if you think you are a good match.