Lyft is hiring an

Embedded Software Engineer

Montreal, Canada

At Lyft, our mission is to improve people’s lives with the world’s best transportation. To do this, we start with our own community by creating an open, inclusive, and diverse organization.

Lyft’s Bikes & Scooters team is developing the future of micro-mobility and we are looking for a solid, experienced Embedded Software Engineer to join our Stations Software Platform team. Our goal is to continue the development of our station kiosk, improve its reliability and security, and work with our other teams (hardware, firmware, tools, etc) to develop our next-generation systems.

Technical interviews and interactions with the other offices in the company will be in English; however, the working environment in Montreal is bilingual. 

Responsibilities:

  • Help define the roadmap and architecture based on technology and business needs
  • Write well-crafted, well-tested, readable, maintainable code
  • Have a good grasp and ability to explain the various tradeoffs made in decisions
  • Participate in code reviews to ensure code quality and distribute knowledge
  • Lead projects from idea to positive execution
  • Incorporate considerations for business context and failure modes in your work
  • Proactively participate in resolving ongoing incidents 
  • Unblock, support, effectively communicate, and obtain buy-in across teams to achieve results
  • Share your knowledge by giving brown bags, tech talks, and evangelizing appropriate tech and engineering best practices

Experience:

For clarity, we know that the list below is fairly extensive. We don’t necessarily expect candidates to meet all of the below criteria, but the more the better.

  • BSc/MSc in Computer Engineering, Computer Science, related field or relevant work experience
  • 5+ years of engineering industry experience working on IoT devices with limited resources
  • Experience with Java, including JNI and working with a limited subset of the libraries
  • Experience with C, C++ 
  • Experience with native libraries 
  • Experience with Linux
  • Must have a track record of professional excellence
  • Must be fluent in spoken and written English and have a working proficiency in French

Ideally, the candidate will have experience in or interest in learning and working with the following technologies:

  • Low-level graphic libraries, font engines, framebuffers
  • TCP/IP
  • Bluetooth LE
  • Communication protocols such as RS-232, RS-485, SPI , I2C, CAN
  • Payment systems (E.g. EMV, paypass, paywave)

Linux-specific:

  • Experience with shell scripting
  • Experience with Linux on ARM
  • Experience developing drivers on Linux
  • Experience with the Linux Git tree and upstream work
  • Experience with U-Boot or other bootloaders
  • Experience doing OTA updates of embedded Linux systems

Benefits:

  • Extended health and dental coverage options, along with life insurance and disability benefits
  • Mental health benefits
  • Access to a Health Care Savings Account
  • In addition to provincial observed holidays, team members get 15 days paid time off, with an additional day for each year of service 
  • 4 Floating Holidays each calendar year prorated based off of date of hire
  • 10 paid sick days per year regardless of province
  • 18 weeks of paid parental leave. Biological, adoptive, and foster parents are all eligible

Lyft proudly pursues and hires a diverse workforce. Lyft believes that every person has a right to equal employment opportunities without discrimination because of race, ancestry, place of origin, colour, ethnic origin, citizenship, creed, sex, sexual orientation, gender identity, gender expression, age, marital status, family status, disability, pardoned record of offences, or any other basis protected by applicable law or by Company policy. Lyft also strives for a healthy and safe workplace and strictly prohibits harassment of any kind. Accommodation for persons with disabilities will be provided upon request in accordance with applicable law during the application and hiring process. Please contact your recruiter now if you wish to make such a request.