Job Description
Our leading network client is looking for a Firmware Engineer to join their team. This role is a contract role with 6 months to start with high chance for extension up to a year. The role will operate on site at the Ottawa (Kanata) office with possibility for some hybrid work.
As a Firmware Engineer, you will play a critical role in the lifecycle of embedded systems. This position involves designing, developing, and maintaining firmware that supports high-availability mission-critical devices. You will work with a significant installed base of technology and ensure seamless functionality in a robust, fast-paced environment.
Location: Ottawa, Kanata (5 days on-site)
Hours of work: 9 - 5 (40 hours billable per week)
Duration: 6 months with possibility of extension
Pay rates:
Inc: $65-80/hour
T4: $50-60/hour
Responsibilities:
- Write embedded firmware for proprietary embedded products.
- Define tasks based on software design / requirements and deliver solutions within program schedule guidelines.
- Design and execute test plans.
- Maintain in-house development and debug tools.
- Implement low power algorithms.
- Troubleshoot and resolve firmware issues, using advanced debugging tools and techniques.
- Stay current with industry trends and advancements in firmware development, applying this knowledge to improve our products.
Qualifications:
- At least 4 years' experience in embedded software development
- Fluency in C programming language
- Experience with RTOS (Real-time Operating System) is required
- Low level programming experience
- "Bare metal" experience (running software directly on the hardware )
- Knowledge of ARM / INTEL based microcontrollers.
- Experience with communications protocols, such as TCP/IP, UART/RS232, RS485, I2C, SPI, BLE
- Able to read hardware schematics, and debug using oscilloscope and logic analyzer.
- Knowledge of at least one version control system (Git, SVN, etc.)
- Meticulous, hardworking, collaborator, effective communication skills
- Degree in Electrical Engineering, Computer Science, or related field is preferred
Nice to haves:
- Experience with low power algorithm design and implementation.
- Proficiency in Python
- Prior experience in developing scalable, extensible, and maintainable cross-platform and cross-product interfaces and standards.
- Understanding of the unique challenges in high-availability mission-critical embedded systems.