Opens LinkedIn
- Employment type
- Full-time
- Experience level
- Mid-level · 2+ years
- Minimum education
- High school
- Apply by
- Jan 2, 2027
- Posting language
- English
- Working hours
- 40 hours per week
- Seniority
- Mid-Senior level
Job summary
Develop and maintain customer software projects, implement and optimize drivers, firmware, and communication protocols, and debug customer-reported issues and software releases. Lead medium-complexity sub-projects, test software functionality and performance, collaborate with cross-functional teams, and maintain technical documentation.
Job details
Responsibilities: Independently handle middle-difficulty and combined tasks for the software development and maintenance of assigned customer projects. Independently support customers in developing complex SW features, debug bugs reported by customers and test teams on software releases, maintain the software stack, and enhance demo applications. Implement and optimize low-level hardware drivers, firmware, and communication protocols (including the LTE modem software protocol stack) independently. Independently conduct unit testing and integration testing to verify software functionality and performance. Lead and manage middle-complexity sub-projects within the software department, while collaborating with cross-functional and overseas R&D teams (including the platform team, hardware engineers, Field Application Engineers, and QA). Maintain, create, and update software documentation, high-level and low-level design specifications, technical analysis reports, and knowledge articles. Perform other tasks as required by the chain of reporting and business needs based on a similar task level. Educational and Skill Requirements High school diploma is required. Experience 2 – 5 years in similar positions Medium-strong experience in C & C++ programming, microcontroller/microprocessor architecture and firmware programming. Fluent in application development on FreeRTOS/ThreadX/Linux based IOT module. Familiarity with embedded software development life cycle. Medium-strong experience in various communication bus protocols i.e., I2C, SPI, UART, USB, I2S and peripheral interfacing. Fluent in reading schematics and debugging board level issues. Fluent on debugging peripheral driver integration and board configuration. Medium-strong knowledge of hardware/software integration and debugging techniques. Medium-strong analytical and troubleshooting skills with fluency in English language. Fluent in application and modem log analysis. Flexibility to collaborate across different time zones; the role may require occasional travel. Fluent English, both written and spoken.
What you’ll do
Develop and maintain customer software projects, implement and optimize drivers, firmware, and communication protocols, and debug customer-reported issues and software releases. Lead medium-complexity sub-projects, test software functionality and performance, collaborate with cross-functional teams, and maintain technical documentation.
Requirements
A high school diploma and 2–5 years of experience in a similar role are required. Candidates should have strong C/C++ and embedded firmware experience, familiarity with RTOS and Linux-based IoT modules, communication protocols, board-level debugging, hardware/software integration, and fluent written and spoken English.
Listed skills
- C++ · Preferred
- Linux · Preferred
Other relevant skills
Identified from the job description. Confirm important requirements above.
- C
- C++
- Microcontroller Architecture
- Microprocessor Architecture
- Firmware Programming
- FreeRTOS
- ThreadX
- Linux
- Embedded Software Development
- I2C
- SPI
- UART
- USB
- I2S
- Peripheral Interfacing
- Hardware/Software Integration
Job areas
- Software
- Technology
- Engineering
- Management & Leadership
More jobs from Quectel
Software Engineer - XR
- On-site
- Richmond, BC
- Posted Nov 4, 2026
Hardware System Engineer
- On-site
- Richmond, BC
- Posted Nov 4, 2026