Skip to content

Login  |  Sign Up

Software Engineer-Vancouver

Location

Vancouver

Department

R&D Center

Seniority

Junior Level

Education

Bachelor or above

Languages

English

Responsibilities

  • Development, customization, maintenance, implementation and design of a complex project modules and embedded software
  • Responsible for the development and debugging of Linux common peripherals (UART, I2C, I2S, SPI, SDIO, EMMC, PWM, camera, LCD, gyroscope)
  • Support and responseto technical queries and requirements to company customers
  • Troubleshooting, bug fixing and improving application performance
  • Discovery, evaluation, and implementation of new technologies to maximize development efficiency
  • Other tasks assigned by the supervisor.

 

 

Educational and Skill Requirements

  • Experience in developing applications and firmware in C/C++ on Linux and/or RTOS embedded systems.
  • Good data structure and algorithm knowledge.
  • Experience in debugging with GDB or JTAG debugger.
  • Motivated to learn and grow together by working with team
  • Capable of  developing modular and scalable code in embedded systems.
  • Operating system internals and Linux kernel build and configurations knowledge.
  • Knowledge on various peripheral technologies, including low-speed peripheral and high-speed peripheral busses i.e. USB, I2C, SPI, UART, I2S.
  • Experience in pin-control software, GPIO and ADC is required.
  • Experience with socket APIs, inter-process communications, and multi- threaded programming.
  • Working knowledge on networking protocols, including TCP and UDP.
  • Knowledge on source code management like SVN, GIT and PERFORCE.
  • Experience in working with cross-functional teams using agile software development methods.
  • BSEE/CS with related experience, or an MSEE/CS with related experience is required.

Apply Now