This S/W and Verification engineer will be involved in low- and high-level software development and formal verification in the context of RF-based, embedded systems.
Duties and responsibilities will include the design, implementation, verification and support of real-time, embedded firmware on ARM-based MCUs and will work closely with a multi-disciplinary R&D team as regards system integration and documentation.
- C/C++, Python & Assembler
- Matlab familiarity is a must, highly functional Matlab programming ability is an asset
- Understands verification concepts and strategies, worked with CI tools and has experience setting up verification frameworks
- Proficient in device driver development, low-level interrupt handling, bootloaders, etc.
- Experienced and comfortable using scopes, logic analyzers, spectrum analyzers to design, test and validate embedded systems in the lab
- Experience working with ARM-based MCUs and/or MPUs: Cortex M series or similar; must be familiar with MCU/CPU and memory architectures
- Experience working with I2C, SPI, GPIO, USB, SDRAM/Flash, JTAG and WiFi ICs and components
- Maintains a working knowledge of digital communication concepts, wireless communication system knowledge is beneficial
- Coded/implemented protocols, APIs; experienced in JSON, HTML, XML
- Experience with FGPAs/PLDs and/or DSP processors is an asset.
- Independent work ethic, strives to deliver quality documentation and brings tasks to on-time completion.
- Possess relevant education and experience in S/W design, development and maintenance
Education and Experience:
- 5+ years S/W development experience in QNX RTOS, Linux or similar embedded environment.
- 5+ years formal s/w verification experience driving quality and robustness
- B. Eng of Engineering.