Job Title: Firmware Engineer Co-Op/Internship
Reports To: Engineer Manager, Firmware – Burnaby BC
Job Purpose
In keeping with the vision and mission of the Company, the Firmware Testing Co-Op/Internship role is responsible for the implementation and design of tests to help increase the robustness and speed of identifying firmware issues. Responsibilities will include, but are not limited to, implementing tests, debugging and documenting test failures, and investigating methods to improve test processes and features. Main interactions for this position will be within the firmware team but can extend to external teams.
Duties and Responsibilities
Firmware Development
- Design, implement, and maintain embedded firmware in C for microcontroller- or processor based systems.
- Develop new firmware features based on product requirements and engineering specifications.
- Modify and optimize existing firmware for improved performance, memory usage, and power efficiency.
- Debug firmware issues using hardware debugging tools such as JTAG/SWD debuggers, logic analyzers, and oscilloscopes.
Firmware Testing (C++)
- Develop automated unit and integration tests in C++ to verify firmware functionality.
- Execute regression tests to ensure new firmware changes do not introduce defects.
- Investigate test failures and collaborate with firmware developers to resolve issues.
- Improve test coverage by adding new automated test cases for firmware modules.
- Maintain and enhance existing firmware test frameworks.
Qualifications/Education/Skills
- Currently enrolled in a Bachelor’s or Master’s degree program in Electrical Engineering, Computer Engineering, or a related field
- Proficiency in C, C++ and Python for debugging and test automation.
- Strong debugging skills, especially with Ethernet-connected devices.
- Experience or coursework in network protocols (TCP/IP, UDP, etc.) is a plus.
- Familiarity with embedded systems, firmware, and hardware debugging tools.
- Self-motivated, eager to learn, and capable of working independently.
- Strong problem-solving and analytical skills.
- Excellent communication and collaboration skills.