Firmware Engineer / Developer

Abbotsford, BC, Canada
Full Time
RAD Torque Systems
Student (College)
New World Technologies (RAD Torque Systems) is a leading Canadian manufacturer of pneumatic, battery powered, and electronic pistol grip torque wrenches. RAD products have proven to be successful all over the world in industries such as oil & gas, petrochemical, mining, aerospace, power generation and manufacturing.

The Opportunity
The Firmware Engineer will join the firmware team, and become part of a multidisciplinary engineering team responsible for delivering high quality, high performance tools for the industrial bolting industry. You will design, develop and deploy innovative firmware solutions for the next generation of our products. You will contribute to both system level and firmware level (embedded software) design efforts. Positions are available for junior, intermediate and senior developers. Opportunities exist for senior developers to become technical lead for a firmware development team.

The Role and Responsibilities
Develop firmware for RAD Torque Systems products.
Develop firmware for new products, sustaining efforts and custom solutions.
Develop firmware as part of a multidiscipline project team.
Review problem statements, customer requirements and engineering requirements.
Propose engineering and firmware solutions in response to requirements.
Provide analysis of, and estimates for, relevant development efforts.
Decompose solutions from higher level architectures to lower level firmware components.
Align development efforts across firmware and multidiscipline colleagues.
Debug, troubleshoot and verify firmware and system implementations.
Execute firmware development, adhering to NWT best practices and coding standards.
Create and maintain design documentation (including UML, Doxygen).
Maintain and continuously improve firmware development processes and best practices
Manage work on multiple competing projects, aligning prioritization with stakeholders.
Mentor peer and junior firmware developers (for senior developers).
Ability to lift up to 50 lbs.
Other duties as assigned.

Qualifications:
Education
  • Bachelor’s degree in electronic or computer engineering or equivalent
  • Professional engineer (P.Eng.) status or eligibility is an asset.
Experience
  • 0, 2, or 5+ years of firmware development experience for junior, intermediate, or senior roles.
  • 2, 5, or 10+ years of C/C++ programming experience for junior, intermediate, or senior roles.
  • Product development for manufacturing is an asset.
Skills
Core Technical Skills
  • Understanding of firmware development principles.
  • C programming for embedded systems.
  • Debugging and trouble shooting embedded systems.
  • Object oriented design and programming.
  • Understanding of real-time and concurrency design principles.
  • Understanding of microcontroller architecture.
  • Understanding of microcontroller / SoC peripherals (ADC, PWM, etc.)
  • Understanding of communication protocols (I2C, SPI, UART, TCP/IP, etc.)
  • Development of RTOS based systems (e.g. FreeRTOS).
  • Development of Linux systems (e.g. Yocto).
  • Implementation of firmware unit tests (black box and white box testing).
  • Use of firmware development tools: debuggers, IDEs.
  • Able to read and interpret electronic schematics.
  • Use of laboratory equipment: oscilloscopes, logic analyzers, spectrum analyzers.
  • Able to debug digital logic.
  • Use of source code management tools (SVN, Git, etc.)
  • Familiar with the full SDLC (requirements, design, implement, debug, test, release, support).
  • Creation of effective design documentation (e.g. high level designs, UML, etc.)
Additional Skills (considered an asset)
  • Firmware integration of Bluetooth and Wi-Fi modules.
  • Boot loaders (bare metal, U-Boot, etc.).
  • Digital signal processing, fixed point arithmetic, mathematical analysis.
  • Motor control algorithms.
  • FPGA / HDL development (Verilog, VHDL).
  • Web technologies (Javascript, HTML, CSS, etc.).
  • Agile / Scrum software development methods.
Soft Skills
  • You have exceptional organizational and time-management skills.
  • You have exceptional communication skills, written and verbal.
  • You can easily communicate with technical and non-technical audiences.
  • You are able to organize and lead complex projects through a full development life cycle.
  • You are self-motivated, take ownership and are able to work with minimal supervision.
  • You excel in a team environment that requires collaboration and communication.
  • You provide and welcome constructive feedback.
  • You are a strong advocate for quality, best practices and traceability

What We Offer:

Competitive wages, comprehensive benefits including health and dental coverage, EAP, RSP, profit sharing bonuses, flex hours and more. A fun innovative culture with a high-quality product we are all proud of. Our office is in the heart of the Fraser Valley, in Abbotsford, B.CNWT is an equal opportunity employer welcomes applicants of all backgrounds.

Share

Apply for this position

Required*
We've received your resume. Click here to update it.
Attach resume as .pdf, .doc, .docx, .odt, .txt, or .rtf (limit 5MB) or Paste resume

Paste your resume here or Attach resume file

Human Check*