1

Computer Programming Jobs in Ontario (NOW HIRING)

Firmware Developer

Ottawa, ON

CA$80K - CA$140K/yr

Bachelor's degree in Computer Engineering, Computer Science, or related field. * 1-3 years of relevant experience in embedded/firmware development * Basic experience developing and debugging firmware ...

Bachelor's degree in computer science or computer engineering or equivalent. Certification in project management (an asset). * At least 6 years of experience on their working unit or other relevant ...

... Programming and production requirements • Create and maintain Probing routines required to ... and CAD/CAM Development) • Recommend and implement quality or process improvement actions ...

next page

Showing results 1-20

Computer Programming information

What are some common challenges computer programmers face when working on large-scale software projects?

Computer programmers often encounter challenges such as coordinating with multiple team members, managing complex codebases, and ensuring that their code integrates smoothly with existing systems. Communication and version control become critical as the project grows, and programmers must be adept at using tools like Git and collaborating via code reviews. Additionally, balancing feature development with bug fixes and technical debt is a typical challenge, requiring strong organizational and problem-solving skills.

What are the key skills and qualifications needed to thrive as a Computer Programmer, and why are they important?

To thrive as a Computer Programmer, you need strong proficiency in programming languages (such as Python, Java, or C++), algorithmic thinking, and a relevant degree or coding certification. Familiarity with version control systems like Git, integrated development environments (IDEs), and debugging tools is standard. Problem-solving, attention to detail, and effective communication are standout soft skills in this field. These skills are crucial for building reliable software, collaborating with teams, and adapting to evolving technology requirements.

What is computer programming?

Computer programming is the process of designing, writing, testing, and maintaining instructions (code) that computers can execute to perform specific tasks or solve problems. Programmers use programming languages such as Python, Java, or C++ to communicate with computers and create software, websites, apps, and more. This field involves logical thinking, problem-solving skills, and continuous learning to keep up with new technologies.

What is the difference between Computer Programming vs Software Development?

AspectComputer ProgrammingSoftware Development
Required CredentialsTypically a degree in computer science or related field; certifications like Microsoft Certified or Oracle CertifiedSame as computer programming, often includes project management certifications
Work EnvironmentOften individual or small team coding tasks, in offices or remote settingsIncludes planning, designing, coding, testing, and deployment, often in larger teams
Employer & Industry UsageTech companies, startups, IT departmentsSoftware firms, tech companies, enterprise IT departments
Common Search & Comparison IntentUnderstanding coding roles, entry-level tasksBroader scope, project management, and lifecycle involvement

Computer programming focuses on writing code to create software, while software development encompasses the entire process of designing, building, testing, and maintaining software applications. Both roles require similar credentials but differ in scope and responsibilities, with software development involving a broader set of tasks beyond coding alone.

What are the most commonly searched types of Computer Programming jobs in Ontario? The most popular types of Computer Programming jobs in Ontario are:
What cities in Ontario are hiring for Computer Programming jobs? Cities in Ontario with the most Computer Programming job openings:

CA$80K - CA$140K/yr

Other

Posted 16 days ago


Key responsibilities

  • Develop and maintain firmware for embedded processors and SoCs under the guidance of senior engineers.

  • Implement board-level and SoC-level firmware components such as initialization code, control logic, and basic drivers.

  • Support firmware bring-up on new hardware platforms and silicon revisions.


Job description

About the Role

We are seeking a Firmware Developer to design, implement, and debug lowlevel firmware for embedded and SoCbased systems. In this role, you will work closely with hardware, systems, and verification teams to bring up new platforms, develop reliable firmware features, and debug complex hardware-software interactions.

This position is ideal for an earlycareer engineer with strong embedded fundamentals and C/C++ skills who is looking to grow technical ownership and gain handson experience across the firmware lifecycle.

Locations: Ottawa, Ontario, Canada and Cordoba, Cordoba, Argentina

Key Responsibilities:

  • Develop and maintain firmware for embedded processors and SoCs under the guidance of senior engineers
  • Implement boardlevel and SoClevel firmware components such as initialization code, control logic, and basic drivers
  • Support firmware bringup on new hardware platforms and silicon revisions
  • Assist with integration and validation of firmware with hardware and system software
  • Debug firmware and systemlevel issues using logs, traces, and debuggers
  • Contribute to firmware test utilities and support regression testing activities
  • Follow firmware coding standards, guidelines, and best practices
  • Document firmware behavior, usage, and debugging procedures
  • Collaborate with hardware, verification, and application teams

Required Qualifications

  • Bachelor's degree in Computer Engineering, Computer Science, or related field.
  • 1-3 years of relevant experience in embedded/firmware development
  • Basic experience developing and debugging firmware for embedded systems or SoCs
  • Strong hands-on programming experience in C/C++
  • Strong problemsolving skills and eagerness to learn
  • Awareness of coding best practices such as modular design, code readability, and version control.
  • Understanding of memory management, pointers, and data structures in embedded environments
  • Familiarity with Digital Signal Processing (DSP) fundamentals and control systems
  • Ability to work effectively in a crossfunctional engineering environment with a self-driven attitude

Preferred Qualifications

  • Master's degree in Computer Engineering, Computer Science, or related field
  • Experience working in coherent optical systems, silicon photonics
  • Familiarity or experience with:
    • Jenkins pipelines
    • RTOSbased firmware
    • Common hardware interfaces (I2C, SPI, UART, GPIO)
    • UVM based verification environments and SystemVerilog test methodologies

Salary Range for US 

$80,000 - $140,000 Base Annually 
The final offer will be determined based on job-related skills, experience, qualifications, and location.