1

Computer Programming Jobs in Ottawa, ON (NOW HIRING)

Build Developer

Kanata, ON

CA$90K - CA$110K/yr

Bachelor's degree in Computer Science, Computer Engineering, Software Development, or a related technical discipline (or equivalent experience). * 5+ years of experience in DevOps, build engineering ...

Sc. in Elec/Computer Engineering is a must, higher degrees preferred * Minimum of 5+ years ASIC design experience * Solid design (micro-architecture/implementation) and debugging skills * Working ...

Currently pursuing a Bachelor's degree in Electrical Engineering, Computer Engineering, Software Engineering, System Engineering, Mechanical Engineering or a related field. Preferred additional ...

You have: * Bachelor or higher degree in Computer Engineering/Electrical Engineering, or equivalent education. * Minimum 5 years of industry experience in real-time programming using C/C++ in ...

Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a closely related scientific field. * Minimum 5 years of experience working on operating systems, kernel ...

Embedded Software Engineer

Ottawa, ON · On-site

CA$75K - CA$110K/yr

Bachelor's degree in Computer Engineering, Electrical Engineering, or a related field * Experience programming in C or C++ * Familiarity with embedded systems development * Experience with version ...

Currently pursuing a Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field. As an ASIC Verification Intern, you will join our hardware ...

FPGA Engineer

Ottawa, ON · On-site

CA$105K - CA$145K/yr

Ottawa, ON (on-site) Employment type: Full-time permanent Salary range: $105,000 $145,000 CAD per ... The FPGA Engineer designs and implements the real-time processing and control logic that sits ...

Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or an equivalent combination of education and professional experience. * 10+ years of professional ...

FPGA Engineer

Ottawa, ON · On-site

$105K - $145K/yr

Ottawa, ON (on-site) Employment type: Full-time permanent Salary range: $105,000 - $145,000 CAD per ... The FPGA Engineer designs and implements the real-time processing and control logic that sits ...

Bachelors or Masters degree in Computer Engineering/Electrical Engineering or Computer Science LOCATION: Ottawa, ON CA OR Markham, ON CA #LI-JG1 #LI-HYBRID Qualifications Benefits offered are ...

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.

How much do computer programmers get paid?

Computer programmers' salaries vary based on experience, location, and industry, but the median annual wage in many regions is around $70,000 to $85,000. Skilled programmers with knowledge of languages like Java, Python, or C++ and certifications can earn higher salaries, especially in high-demand tech hubs.

What jobs can you get as a programmer?

As a programmer, you can work in roles such as software developer, web developer, mobile app developer, systems analyst, or database administrator. These jobs typically require knowledge of programming languages like Java, Python, or C++, and may involve working in teams, using development tools, and following project deadlines.

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 jobs can computer programmers get?

Computer programmers can work in roles such as software developers, application programmers, systems analysts, and web developers. They often work in industries like technology, finance, healthcare, and government, using programming languages such as Java, Python, or C++. Many positions require problem-solving skills, knowledge of development tools, and sometimes certifications or degrees in computer science.

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.

Is computer programming a good career?

Computer programming is a viable career that offers opportunities in various industries, with demand for skills in languages like Python, Java, and C++. Programmers often work in office or remote environments, and continuous learning is important due to evolving technologies. The field generally provides competitive salaries and growth potential for those with strong problem-solving skills and technical knowledge.
What are the most commonly searched types of Computer Programming jobs in Ottawa, ON? The most popular types of Computer Programming jobs in Ottawa, ON are:
What are popular job titles related to Computer Programming jobs in Ottawa, ON? For Computer Programming jobs in Ottawa, ON, the most frequently searched job titles are:
Infographic showing various Computer Programming job openings in Ottawa, ON as of July 2026, with employment types broken down into 1% As Needed, 83% Full Time, 13% Part Time, and 3% Contract. Highlights an 82% Physical, 1% Hybrid, and 17% Remote job distribution.

Platform & Infrastructure Engineer

Q-Block Computing

Ottawa, ON • On-site

$100K - $140K/yr

Full-time

Medical, Dental, Vision, Life

Posted 2 days ago


Job description

Location: Ottawa, ON (on-site)
Employment type: Full-time
Salary range: $100,000 - $140,000 CAD per year

About Q-Block Computing: Q-Block Computing builds quantum systems that operate in the real world. The company develops quantum timing, quantum-secure communications, and quantum computing platforms engineered for the performance, reliability, and environmental resilience that mission-critical applications demand - systems designed to be deployed, maintained, and trusted by operators who cannot afford ambiguity about whether the technology works.

The long-term vision is deeper than any single platform. Q-Block is pursuing a mission to decode Nature's foundational model - to build instruments of sufficient precision and coherence that they become tools for understanding the physical universe at its most fundamental level. Commercialization and science reinforce each other by design.

About this role: The Platform & Infrastructure Engineer will design, build, and maintain the distributed computing and networking backbone that ties Q-Block's control hardware into coherent, observable, manageable systems. The work spans embedded Linux platforms on ARM compute modules, tiered network architectures that carry real-time control traffic, and the web-based management layer that makes the whole thing operable at scale.

The successful candidate is an engineer who moves fluently across at least two of three worlds - embedded Linux, networking, and full-stack applications - and has the judgment to make each one serve the others. This is a role for someone who reaches for Yocto, a managed switch, and a frontend framework in the same week and does not treat any of them as someone else's problem. The role reports into the Technical Lead and offers real ownership of the platform that every other system depends on.

Responsibilities

  • Design, build, and maintain embedded Linux system images for ARM-based compute modules using Yocto, Buildroot, or comparable frameworks.
  • Architect and implement multi-tier LAN environments with isolated address spaces, managed Ethernet switching, VLANs, and QoS policies for reliable, low-latency delivery of control payloads.
  • Design and deploy core network services, including DNS, DHCP, NFS, and time synchronization, across tiered network topologies.
  • Design, develop, and maintain a web-based management application providing real-time device monitoring, topology visualization, and command distribution.
  • Develop Python, Bash, and Ansible automation for network provisioning, system deployment, and configuration management across a growing device fleet.
  • Implement monitoring and observability tools to track network health, device status, and overall system performance.
  • Develop and execute quality assurance procedures for infrastructure systems; validate throughput, latency, and failover behaviour under realistic load.
  • Write and maintain documentation for network topology, IP addressing schemes, switch configurations, system build procedures, and operational runbooks.
  • Participate in design reviews and contribute to the engineering standards of the platform team.
  • Collaborate across firmware, hardware, scientific, and systems teams to translate system-level requirements into reliable platform deliverables.
  • Contribute to a culture of continuous learning, rigorous engineering practice, and honest technical discussion.

Required qualifications

  • Bachelor's degree in Computer Science, Computer Engineering, Information Technology, Electrical Engineering, or a closely related field.
  • 4+ years of professional experience spanning at least two of: embedded Linux development, network infrastructure design, or full-stack web application development.
  • Strong Linux/UNIX systems expertise: kernel configuration, systemd, device trees, package management, and system image creation for embedded targets.
  • Working knowledge of network architecture: TCP/UDP, VLAN design, DHCP/DNS, managed switch configuration, and baseline security hardening.
  • Full-stack web development fluency: proficiency in at least one modern frontend framework and one backend framework.
  • Strong Python proficiency; ability to design clean, maintainable automation and infrastructure code.

Preferred qualifications

  • Hands-on experience with Yocto or Buildroot BSP development for ARM SoMs.
  • Experience deploying and operating HPC clusters, including scheduler frameworks (Slurm, PBS, or comparable), parallel filesystems, and provisioning at node-count scale.
  • Experience with MPI-based workloads, including tuning for message-passing performance, collective operations, and multi-node job orchestration.
  • Familiarity with low-latency, high-bandwidth interconnects (InfiniBand, RoCE, OmniPath) and the diagnostic tooling that goes with them.
  • Experience with scientific computing workflows, high-throughput distributed systems, or hardware-in-the-loop compute environments.
  • Experience with infrastructure-as-code tools, container platforms, or systems automation frameworks.
  • Familiarity with virtualization and storage platforms (bare-metal hypervisors, Ceph, or comparable).
  • Exposure to precision timing protocols (PTP, NTP, white rabbit hardened deployments) or deterministic networking.
  • Experience building observability stacks (Prometheus, Grafana, or comparable) in a production setting.
  • Working familiarity with NIST SP 800-171 controls and the documentation practices required to demonstrate compliance in an R&D environment.
  • Exposure to FIPS 140-validated cryptographic modules, FIPS-compliant system configuration, or equivalent high-assurance cryptographic deployment experience.
  • Familiarity with NIST SP 800-53, CMMC, or ITSG-33 control frameworks as applied to engineering infrastructure.
  • Experience implementing access control, audit logging, or secure boot/secure provisioning practices in a regulated environment.
  • Experience in scientific, defense, or deep-tech hardware environments.

    Security and compliance requirements

    • Must be eligible to obtain and maintain Government of Canada security clearance, if required for assigned projects.
    • Must be eligible to comply with requirements of the Controlled Goods Program, if required for assigned projects.
    • Must be willing to participate in background screening, documentation, and compliance processes associated with security-sensitive work.
    • Must be willing to follow secure infrastructure, access control, and documentation practices in support of security-sensitive programs.

    Skills and attributes

    • Strong attention to detail, authenticity, and a sense of responsibility in all tasks.
    • Critical thinking and a problem-solving mindset grounded in measurement and evidence.
    • Clear written and verbal communication; ability to produce platform documentation that holds up under rigorous review.
    • Strong interpersonal skills and the ability to work collaboratively in a dynamic, multidisciplinary team.

    Benefits

    • Extended health care (including dental and vision)
    • Life insurance

    Equal opportunity

    Q-Block Computing is an equal opportunity employer. We are committed to treating all employees and applicants with respect and dignity. Accommodations are available on request during the application and recruiting process.

    Canadian citizens and permanent residents are strongly encouraged to apply. All interested candidates are encouraged to apply.

    Employment Type: FULL_TIME