Logo of Huzzle

Firmware Developer

Applications are closed

  • Job
    Full-time
    Entry & Junior Level
  • Software Engineering
  • $70K - $90K
  • Vancouver

Requirements

  • Degree in Computer or Electrical Engineering, Computer Science, or related technical discipline
  • Strong C and C++ design and programming skills for embedded applications
  • Firm grasp of operating system concepts including processes, threads, mutexes, interrupt handling, and exception handling
  • Experience with C/C++ compilation and debugging tools
  • Experience with scripting languages, build systems, and version control systems
  • Excellent written and oral communication skills
  • Understanding of embedded design considerations including C/C++ memory management, microprocessor architectures, instruction efficiency, and I/O timing
  • This position is based in Vancouver, BC and the candidate must reside in the Greater Vancouver Area as you will be required to go into the office on a hybrid work schedule.
  • Basic Requirements:
  • University Degree
  • 6+ months of C++, C, or Python programming

Responsibilities

  • Help design and implement sophisticated scalable multi-threaded Object Oriented Software in C++ for solving challenging problems involving high speed data processing and networking
  • Design advanced software modules that follow modern C++ design patterns
  • Apply C programming skills for Linux device driver development and debugging
  • Apply problem solving skills and experience to identify and improve low-level system performance issues
  • Apply engineering principles to design algorithms for controlling image acquisition parameters, as well as environmental conditions (Temperature, Power, Fog, Frost, etc.)
  • Create design documents on software architecture and algorithms
  • Collaborate with Hardware designers on board bring-up and debug
  • Maintain and improve Firmware build system using Make and Python
  • Review code of peers for adherence to coding standards and design guidelines
  • Estimate and track time and effort necessary for completing implementation tasks
  • Review Marketing and Product Requirements Document during feasibility and development
  • Collaborate with Quality Assurance team on identifying test cases for new features and areas for regression tests
  • Follow the established development process for all design and implementation tasks

FAQs

What is the main focus of the Firmware Developer position at Motorola Solutions Video Division?

The Firmware Developer position focuses on designing and implementing sophisticated, scalable multi-threaded Object Oriented Software in C++ for high-speed data processing and networking solutions within the surveillance industry, particularly involving advanced AI-based video analytics.

What are the primary responsibilities of a Firmware Developer in this role?

Primary responsibilities include designing software modules, developing Linux device drivers, optimizing low-level system performance, creating algorithms for image acquisition control, collaborating with hardware designers, maintaining the firmware build system, reviewing peer code, and collaborating with the QA team on testing.

What qualifications are required for this Firmware Developer position?

Candidates should have a degree in Computer or Electrical Engineering, Computer Science, or a related technical discipline, strong C and C++ programming skills for embedded applications, and a firm grasp of operating system concepts. Additionally, experience with scripting languages, build systems, and excellent communication skills are necessary.

Is experience with C++ required for this position?

Yes, candidates must have at least 6+ months of experience programming in C++, C, or Python, along with strong design and programming skills in C and C++ for embedded applications.

Where is this Firmware Developer position located?

This position is based in Vancouver, BC, and candidates must reside in the Greater Vancouver Area, as they will be required to go into the office on a hybrid work schedule.

What is the salary range for this Firmware Developer role?

The base salary range for this position in British Columbia is between 70,000 - 90,000 CAD, depending on experience.

What types of tools and systems should the candidate be familiar with?

Candidates should be familiar with C/C++ compilation and debugging tools, scripting languages, build systems, and version control systems.

Will the Firmware Developer be required to document their work?

Yes, the developer is expected to create design documents on software architecture and algorithms as part of their responsibilities.

How will the Firmware Developer collaborate with other teams?

The Firmware Developer will collaborate with Hardware designers on board bring-up and debugging, review Marketing and Product Requirements Documents, and work closely with the Quality Assurance team to identify test cases for new features.

Are there specific programming languages that are emphasized in this job description?

Yes, the role emphasizes strong programming skills in C and C++, along with some experience in Python for maintaining the firmware build system.

A global leader in public safety & enterprise security, making communities safer & businesses stay productive & secure.

Manufacturing & Electronics
Industry
10,001+
Employees
2011
Founded Year

Mission & Purpose

Motorola Solutions is a global leader in public safety and enterprise security. Our solutions in land mobile radio communications, video security & access control and the command center, bolstered by managed & support services, create an integrated technology ecosystem to help make communities safer and businesses stay productive and secure. At Motorola Solutions, we’re ushering in a new era in public safety and security.