Sr. Embedded Firmware Engineer
Vancouver, Canada
About InnoPhase IoT
If you are keen to work with a bunch of brilliant people with various backgrounds, if you share the same value of working smart and celebrating successes, if you have enthusiasm for big technology in a small company, if your goals are to learn and experience different aspects of work--not just singing the same song every day, you’ll find your playground at Innophase IoT.
We are looking for people seeking AWESOMENESS! If you’re good at what you do, you can work anywhere. If you’re the best at what you do, come work at Innophase IoT!
We are seeking an MCU Firmware Engineer to design, develop, debug, and optimize embedded software for microcontroller-based systems. The engineer will work closely with hardware, system, firmware and application teams to deliver reliable real-time embedded solutions for wireless IoT devices and products.
Key Responsibilities:
- Develop embedded software for Wireless IoT based platforms.
- Develop ARM-M series and RSIC-V RTOS-based platform software, middleware, and APIs to various user applications.
- Triage and debug hardware / embedded software / application integration issues.
- Develop and optimize real-time networking software stacks.
- Work with bare-metal and RTOS system.
- Work with peripherals such as UART, SPI, SDIO, I2C, GPIO, PWM, etc.
- Memory partitioning and isolation in ARM Cortex-M micro controllers.
- Secure OTA updates and lifecycle management for IoT devices.
- Work with flash, memory, bootloader, crypto lib subsystems.
- Work with Wi-Fi, BT/BLE, Zigbee/Thread wireless subsystems.
- Implement and optimize low-power embedded systems.
- Collaborate with worldwide team in delivering high-quality BSP and SDK.
- Support release management for BSP and SDK releases.
Job Requirements:
- BS or MS in Computer Engineering or equivalent with 5 - 10 years’ experience in embedded software development.
- Strong embedded software development and integration experiences on devices such as ESP32 and STM32.
- Experience with Bootloader and secure OTA.
- Experience with low-power design.
- Strong flash partitioning and memory layout.
- Substantial experiences with RTOS (e.g., FreeRTOS, Zephyr).
- Advanced C/C++ skills and experience developing low-level device drivers.
- Familiarity with working on SDK-based development.
- Proficiency with Wi-Fi APIs, BLE HCI, peripheral HAL, and device drivers.
- Substantial experiences of networking stack (Ethernet, TCP/IP suite).
- Experiences with JTAG/SWD debuggers, oscilloscope, logic analyzer, protocol analyzers.
- Working experiences with GIT and JIRA.
- Strong capability in design, debug, trouble-shot independently and with others.
- Excellent written and oral interpersonal communication and documentation skills.
- Eager to learn, grow and contribute in a diverse and fast-paced team environment.
Nice to Have :
- Good knowledge on Wireless protocol (Wi-Fi, BT/BLE, and Zigbee / Thread) and IoT application layer protocol (MQTT, OTA, CoAP, and HTTP/HTTPS)
- Good knowledge of Agile Software Development Process such as Scrum
- Experience with MicroPython.
- Exposure to system test, troubleshooting, and root-cause analysis of Wireless IoT product.
- Knowledge of WFA/Regulatory/PSA certification is a plus.
It is key to unleashing the potential in every employee, every team, every leader, and the company herself. We know employees perform best when motivated, appreciated and recognized, and can be themselves. We are committed to building a culture where every voice can be heard, everyone has room for growth and can make meaningful contributions. At the end of the day, we want success not just for the company, but also for everyone who believes in the company, the vision, and the future.
Pay: $60,000.00-$120,000.00 per year
Benefits:
- Casual dress
- Company events
- Dental care
- Disability insurance
- Extended health care
- Flexible schedule
- Life insurance
- Paid time off
- Relocation assistance
- Stock options
- Vision care
- VRSP
- Wellness program
- Work from home
Work Location: Remote