Software Development Engineer

Lime Lime · Consumer · Shenzhen, China · Engineering

Software Development Engineer responsible for designing, developing, and maintaining automated testing frameworks for firmware and related tools to ensure product quality, reliability, and performance. This role involves collaborating with developers and QA engineers, investigating test failures using embedded device data, building internal tools for test efficiency and observability, and defining test strategies and quality metrics. The ideal candidate has experience scaling teams and products in a fast-paced environment.

What you'd actually do

  1. Build and maintain automated test frameworks (unit, integration, functional, regression, and performance) for embedded firmware and IoT vehicle systems, ensuring quality across the full device lifecycle.
  2. Design and develop software tools that support factory production workflows — including device testing, data validation, and production data management — to enable efficient and reliable manufacturing operations.
  3. Investigate test failures and device anomalies by processing and analyzing embedded device data (SQL, logs, protocol data). Collaborate with firmware engineers to isolate root causes and drive resolution.
  4. Build internal tools and utilities that improve test efficiency, observability, and developer productivity across the firmware engineering organization.
  5. Partner with developers and QA engineers to define test strategies, acceptance criteria, and quality metrics. Ensure visibility into firmware quality through dashboards and reporting.

Skills

Required

  • Python
  • Java
  • SQL
  • Automated test frameworks
  • CI/CD pipelines
  • Git
  • Debugging
  • Analytical skills
  • Technical English communication

Nice to have

  • Embedded systems
  • IoT devices
  • Hardware-software integration testing
  • C/C++
  • System-level testing
  • APIs
  • Network protocols
  • Firmware validation
  • Flashing automation
  • Hardware-in-the-Loop (HIL) testing
  • Board bring-up
  • Simulators
  • Protocol-level testing (UART, I2C, SPI, CAN, BLE)
  • Embedded debugging tools (JTAG, oscilloscopes, logic analyzers)

What the JD emphasized

  • 4+ years of experience in Software Engineering, Test Automation, or Software Development
  • Strong programming skills in Python, Java, and SQL
  • Proven experience designing and implementing automated test frameworks
  • Proficient with CI/CD pipelines
  • Strong debugging and analytical skills
  • Fluent in technical English communication