Position Overview
We are seeking a skilled Embedded Software & Firmware Engineer to join our engineering team. The successful candidate will be responsible for the design, development, maintenance, and support of embedded software and firmware solutions across new and existing products. This role requires close collaboration with cross-functional teams and hands-on work with embedded hardware platforms throughout the full product lifecycle.
Key Responsibilities
- Design and develop embedded software and firmware for new products and platforms
- Maintain, enhance, and support software for existing products
- Collaborate with system engineers, hardware engineers, and customers to define requirements and implement features
- Support customers, laboratory technicians, and production staff with software loading, configuration, operation, and troubleshooting
- Create and maintain technical documentation including software design, test procedures, build and release procedures, configuration records and user documentation for various products
- Perform debugging and troubleshooting on physical hardware using oscilloscopes, meters, logic analyzers, and related test equipment
- Participate in software verification, testing, and configuration management activities
- Implement and support configuration management and data persistence solutions
- Develop and maintain system diagnostics and logging capabilities
- Contribute to software migration, modernization, and deployment initiatives
Required Qualifications
- Minimum 2 years of experience developing low-level embedded software in C/C++ on microcontroller-based platforms
- Experience with all phases of the Software Development Life Cycle (SDLC), including requirements definition, design, implementation, verification, and configuration management
- Strong knowledge of RTOS and near-real-time control systems
- Experience with Linux application development, basic web/backend development, and Windows GUI development
- Experience using build, flash, debug, deployment, and release management toolchains
- Familiarity with configuration management and software deployment processes
- Experience implementing data persistence, diagnostics, and logging systems
- Familiarity with MCU communication interfaces including UART, SPI, and I2C
- Experience working with peripheral devices such as ADCs, DACs, GPIO, Flash ROM, and sensors
- Familiarity with software development tools:GCC/Make, Git, Python scripts, Node.js/npm, Shell scripts, Linux debugging and logging tools, Visual Studio
- Familiarity with platform tools: Embedded Linux, System services, SSH/SCP deployment, i.MX8 Plus or similar SBC platform, NetBurner MOD5282, MQX / RTCS (Legacy microcontroller/Netburner), ADC/I2C hardware interfaces, GPIO, relays, and switches
- Understanding of TCP/IP networking fundamentals
- Ability to read and interpret schematics, device datasheets, and register maps
- Experience using hardware-level debugging tools including oscilloscopes and multimeters
- Excellent English technical writing and documentation skills
- Strong analytical, troubleshooting, and problem-solving skills
- Strong attention to detail and organizational skills
Nice to Have
- Basic knowledge of RF systems and PLL/synthesizer technologies
- Understanding of RF and microwave communication concepts
- Awareness of open-source software licensing practices
ITS Electronics Inc. is an established Canadian corporation located in Vaughan, ON. The company designs and manufactures microwave components and subsystems for commercial, government and defense customers. The company has ISO 9001 and SAE AS9100 Certification and has built a reputation for providing excellent technical solutions and high quality products. ITS Electronics would be interested in receiving resumes for the position of Embedded Software & Firmware Engineer
ITS Electronics, Inc. is an equal opportunity employer
We would like to thank all candidates who apply, however only applicants selected for an interview will be contacted.
This posting is for an existing vacancy and no AI is used in processing applications. This is an in office position with a 4-day workweek