Firmware Engineer

Lime Lime · Consumer · Canada · Engineering

Firmware Engineer role focused on designing, developing, and operating embedded software for Lime's connected vehicles (e-scooters and e-bikes). Responsibilities include C/C++ development, working with sensors and communication modules (LTE/WiFi), and collaborating with hardware teams. The role emphasizes problem-solving, industry best practices, and contributing to new product development.

What you'd actually do

  1. In this role, you will participate in the design, development, and operation of several key embedded software capabilities on the Lime vehicles and related products. This will include new exciting yet-to-be-released products too!
  2. Be the voice of customers for engineering excellence within the team and influence team roadmap decisions.
  3. Provide feedback in the peer review process and effectively communicate with technical leadership. Be the ambassador of industry best practices in this domain.
  4. Own unique embedded software functions through design, implementation (in C, C++, RUST etc), testing, and integration in an embedded Linux or real-time operating system (RTOS) environment.
  5. Learn and master multiple components including networking(LTE)/WiFi, motor control, Over-the-Air (OTA) software updates, and various sensors.
  6. Write software to interact with devices/electronics using I2C, SPI, CAN, UART, etc.
  7. Work closely with hardware teams to support board design, bring-up, and verification, as well as integration and testing during various phases of product development including proof of concept.

Skills

Required

  • Bachelor's degree in computer science/computer engineering or equivalent
  • 2+ years of professional software development experience
  • 2+ years of development experience in C/C++ within an embedded environment.
  • Proven experience diagnosing and debugging complex, difficult, multi-variable system issues with proficiency in oral and written communication skills.

Nice to have

  • Previous experience developing software for vehicles (or other safety critical systems), particularly in the micromobility space
  • Experience developing in an RTOS framework, Zephyr preferred.
  • Strong experience with CI/CD and HIL automated testing
  • Hands-on system experience with Linux, including device drivers and multicore systems