Back to results

Software Engineer

  • Richmond, BC, Canada

$80,000 to $135,000 CAD / year · Full-time

Applications open in a new tab.

Job details

Pay
$80,000 to $135,000 CAD / year
Job type
Full-time
Apply by
Education
High school diploma
Experience
Experience 2 – 5 years in similar positions
Posting language
English
Posted

Original job description

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.
More about this job

Responsibilities

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.

Skills

  • C
  • C++
  • Microcontroller Architecture
  • Microprocessor Architecture
  • Firmware Programming
  • FreeRTOS
  • ThreadX
  • Linux
  • Embedded Software Development
  • I2C
  • SPI
  • UART
  • USB
  • I2S
  • Peripheral Interfacing
  • Hardware/Software Integration

Visa sponsorship

Not detected in the job text

Categories

  • Software
  • Technology
  • Engineering
  • Management & Leadership

Keywords

  • C
  • C++
  • Microcontrollers
  • Microprocessors
  • Firmware
  • FreeRTOS
  • ThreadX
  • Linux
  • IoT Modules
  • I2C
  • SPI
  • UART
  • USB
  • I2S
  • Peripheral Drivers
  • LTE Modem
  • Communication Protocols
  • Unit Testing
  • Integration Testing
  • Schematic Reading
  • Board-Level Debugging
  • Hardware/Software Integration
  • Application Log Analysis
  • Modem Log Analysis
  • Software Maintenance
  • Technical Documentation
  • Cross-Functional Collaboration
  • Wireless Services
  • Telecommunications

Report this job