Role Overview:
We are seeking a skilled Senior Firmware Developer with in-depth expertise in the development and implementation of new products, along with providing engineering support for existing products. The role involves contributing to product design and collaborating with R&E, Marketing, and Manufacturing teams to develop new products while ensuring adherence to project schedules and budgets.
Key Responsibilities:
- Excellent C/C++ programming skills with experience in embedded system design and development.
- Extensive experience in debugging embedded systems.
- Experience with embedded firmware development tools such oscilloscopes, spectrum analysers, DC power analysers, logic analysers, and protocol analysers.
- Experience with designing and developing RF products for public and proprietary networks.
- Experience with ARM Cortex M3/M4, 8051, and MSP430 microcontrollers.
- Experience with Keil, IAR or equivalent IDEs/compilers.
- Knowledge of wireless communication techniques and associated protocols such as Lora WAN, Bluetooth Classic and Bluetooth Smart (BLE), cellular communication (LTE).
- Familiarity with low power design practices for battery powered devices.
- Familiarity with serial communication protocols such as UART, SPI, I2C.
- Ability to read and understand hardware schematics.
- Experience with JIRA or other issue tracking software.
- Experience with TeamCity or other continuous integration platforms.
- Experience working in an Agile development environment (Scrum/XP).
- Experience with unit testing and unit testing frameworks/tools such as CppUTest and Unity.
- Excellent documentation practices and communication skills.
- Commitment to maintaining project schedules and delivering tasks on time.
Mandatory Skills
- Knowledge of networking connectivity protocols such as TCP/IP, FTP, MQTT
- Experience with agency certifications such FCC, Industry Canada, and cellular carrier certifications
- Project management experience
- LabVIEW experience
- Embedded Linux experience
- C# & Python