1

Software Developer Jobs in Ottawa, ON (NOW HIRING)

QNX Systems Software Developer II

Ottawa, ON · On-site

CA$90K - CA$132K/yr

As a Systems Software Developer on our Middleware team, you will design, implement, and maintain VirtIO virtual devices - including virtual sockets, shared input, shared filesystems, and shared ...

Software Developer (Junior)

Kanata, ON · On-site

CA$85K - CA$105K/yr

About the Role This position is for a Junior Software Developer to join our API & Applications team, developing multi-language SDK client libraries (Java, Python, C, C#, JavaScript, Go) that power ...

We are seeking a Senior Software Engineer with a strong backend focus to design, deliver, and support Java-based, cloud-native services. In this role, you will own complex features end-to-end ...

We need talented software developers to further the tremendous success of the Service Router product family (including the 7950, 7750, and 7250). We are #2 in carrier edge routing worldwide, with ...

Software Developer Co-op/Intern Number of Position(s): 1 Duration: 4 Months Date: Winter Term Jan 4th - Apr 30th, 2027 Location: Hybrid in Ottawa EDUCATIONAL RECOMMENDATIONS Currently a 2nd year ...

Software Developer Co-op/Intern Number of Position(s): 1 Duration: 4 Months Date: Winter Term Jan 4th - Apr 30th, 2027 Location: Onsite in Ottawa Education Recommendations: Currently a 2nd year ...

The Android Software Engineer contributes to mobile technology strategy, architecture, best practices, and choice of tools and technology stack across Android app platforms, supporting mobile backend ...

Who you are: You're a passionate software developer who wants your work to make a difference. You have a strong background in cybersecurity and an interest in DNS and networking technologies. You're ...

As a Software Developer - Core User Plane as a Service, you will join a seasoned and highly collaborative User Plane development team responsible for delivering scalable, resilient, and high ...

Who you are: You're a passionate software developer who wants your work to make a difference. You have a strong background in cybersecurity and an interest in DNS and networking technologies. You're ...

This is engineering at the foundation of the software stack, where every optimization, architectural decision, and line of code can impact millions of devices around the globe. As a member of our ...

We are looking for an Android Automotive Software Developer to support the design, development, integration, and maintenance of embedded software for complex vehicle platforms. This role will focus ...

Strong C/C++ programming skills and experience with software configuration management tools in Git/Gerrit * Strong problem-solving and debugging skills What will make us REALLY love you * Strong ...

Showing results 41-60

Software Developer information

What is a software developer?

A Software Developer is a professional who designs, builds, tests, and maintains computer programs or applications. They use programming languages to create software solutions that meet user needs, whether for desktop, mobile, or web platforms. Software Developers work closely with other team members such as designers, analysts, and testers to ensure the final product is functional, reliable, and user-friendly. Their responsibilities can range from writing code and fixing bugs to collaborating on system architecture and deploying updates.

What do software developers do?

Software developers design and create computer software programs and systems for their employer or client. Their job is to apply the principles of engineering, analytics, and computer science toward the development and testing of all kinds of software and applications. On a day-to-day basis, a software developer helps create and test software from start to finish. They discuss and analyze user requests and requirements, then research and brainstorm practical solutions to meet those needs, and determine the best course of action to create the application. As a software developer, you may develop an entirely new program or improve an existing one; you are responsible for a program’s overall framework and must design precise workflow charts that explain to programmers what code is needed for different aspects of the program.

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

To thrive as a Software Developer, you need strong programming skills in languages like Java, Python, or JavaScript, as well as a solid understanding of computer science fundamentals and a relevant degree or equivalent experience. Familiarity with development tools such as Git, integrated development environments (IDEs), and frameworks like React or .NET is typically required, along with knowledge of agile methodologies or certifications. Problem-solving ability, attention to detail, teamwork, and effective communication are essential soft skills that help you excel in collaborative and fast-paced environments. These skills ensure you can build reliable, maintainable software and adapt to evolving project requirements and technologies.

What are some common challenges software developers face when working on team-based projects?

Software developers often encounter challenges such as coordinating with team members across different time zones, managing code integration from multiple contributors, and maintaining clear communication about project requirements. Effective use of version control systems like Git and regular participation in code reviews can help mitigate these issues. Additionally, adapting to evolving project goals and balancing technical debt with feature development are common hurdles that require strong collaboration and problem-solving skills.

What is the difference between Software Developer vs Software Engineer?

AspectSoftware DeveloperSoftware Engineer
CredentialsBachelor's degree in CS or related field; coding certificationsBachelor's or higher in CS or Software Engineering; certifications may vary
Work EnvironmentDevelops, tests, and maintains software applicationsDesigns and develops software systems; often involved in architecture
Industry UsageCommonly used in tech companies, startups, and IT firmsUsed interchangeably with Software Developer in many organizations

While the roles often overlap, Software Developers focus on coding and building applications, whereas Software Engineers typically work on designing and architecting complex systems. Both roles require similar credentials and are integral to software creation, but their scope and responsibilities can differ based on project size and company structure.

Is a software developer still in demand?

Yes, software developers are in high demand due to ongoing digital transformation across industries. Skills in programming languages like Java, Python, and experience with cloud platforms increase employability, and the role is expected to grow as technology continues to advance.

What are the most commonly searched types of Software Developer jobs in Ottawa, ON?

The most popular types of Software Developer jobs in Ottawa, ON are:

What cities near Ottawa, ON are hiring for Software Developer jobs?

Cities near Ottawa, ON with the most Software Developer job openings:

Infographic showing various Software Developer job openings in Ottawa, ON as of August 2026, with employment types broken down into 71% Full Time, 27% Part Time, and 2% Contract. Highlights an 88% Physical, 3% Hybrid, and 9% Remote job distribution.

QNX Systems Software Developer II

AtHoc

Ottawa, ON • On-site

CA$90K - CA$132K/yr

Full-time

Medical, Dental, Vision, Life, Retirement

Re-posted 2 days ago


Key responsibilities

  • Design, implement, and maintain VirtIO virtual devices to expose virtualized hardware to guest operating systems.

  • Collaborate with hardware vendors and Android AOSP teams to co-design device drivers, memory mappings, and interrupt handling for virtual devices.

  • Partner with customers and field engineering teams to provide integration support, troubleshoot deployment issues, and deliver tailored middleware solutions.


Job description

Worker Sub-Type:

Regular

Job Description:

QNX enhances the human experience and amplifies technology-driven industries, providing a trusted foundation for software-defined businesses to thrive. The business leads the way in delivering safe and secure operating systems, hypervisors, middleware, solutions, and development tools, along with support and services delivered by trusted embedded software experts. With a focus on reducing hardware dependency and increasing efficiency, QNX empowers organizations to unlock new possibilities in areas like high-performance computing at the edge, standards-based virtualization technologies, and cloud enablement. QNX technology has been deployed in the world's most critical embedded systems, including more than 275 million vehicles on the road today. QNX software is trusted across industries including automotive, medical devices, industrial controls, robotics, commercial vehicles, rail, and aerospace and defense.

Are you the person we are looking for?

At QNX, we are building the next generation of middleware that powers virtualization and real-time performance across a wide range of platforms.

As a Systems Software Developer on our Middleware team, you will design, implement, and maintain VirtIO virtual devices - including virtual sockets, shared input, shared filesystems, and shared messaging systems.

In this role, you will also play a key part in the functional safety lifecycle, ensuring software complies with rigorous industry standards like ISO 26262 (ASIL D). Additionally, you will directly support our customers,

delivering specialized engineering services, integration support, and custom solutions to help launch their mission-critical products into production.

If you're an early-career systems engineer who thrives on lowlevel systems work, has a strong foundation in C/C++ and realtime concepts, and is passionate about pushing the limits of embedded middleware, this is the role for you.

You will

  • Develop VirtIO virtual devices that expose virtualized hardware to guest operating systems, ensuring lowlatency and highthroughput communication.
  • Collaborate with hardware vendors and Android AOSP teams to codesign device drivers, memory mappings, and interrupt handling for virtual devices.
  • Partner directly with customers and field engineering teams to provide specialized integration support, troubleshoot deployment blockers, and deliver tailored middleware solutions.
  • Optimize realtime performance across the stack, from kernelspace drivers to userspace libraries and conduct rigorous profiling and tuning.
  • Stay ahead of industry trends in virtualization and embedded security, and contribute directly to product roadmap and design discussions.

You will have:

  • Strong foundational knowledge of software development, with a proven proficiency in C/C++ programming and real-time systems concepts gained through relevant internships, academic coursework, or complex personal projects.
  • Familiarity or exposure to QNX RTOS (kernel, device drivers, IPC, memory management).
  • Understanding of or exposure to virtualization concepts (VirtIO, hypervisors) or Android AOSP framework layers is a strong plus.
  • Basic understanding of hypervisors such as QEMU and Xen is desirable.
  • Foundational exposure to lowlevel programming (DMA, interrupts, memory mapping, device driver architecture).
  • Excellent communication skills and the ability to work collaboratively across hardware, OS, and application teams.
  • A passion for experimentation - you love prototyping, testing new ideas, and turning them into productiongrade code.
  • Bachelor's (or higher) degree in Computer Science, Software Engineering, or Computer Engineering.

If you are looking to make a real impact, then we'd love to hear from you!

#LI-KH1

Scheduled Weekly Hours:

40

Compensation Hiring Base Salary Range:

$90,000.00 - $132,000.00

Please be advised that the compensation hiring range indicated herein is provided solely as a good-faith estimate of expected base compensation for the position. The actual compensation offered will be determined at the time of hire and is contingent upon multiple factors, including but not limited to the candidate's qualifications, relevant experience, demonstrated skills, and results of assessments conducted during the hiring process.

Bonus:

The BlackBerry Variable Incentive Pay (VIP) program is an organization-wide bonus incentive program which aims to reward full-time eligible employees for their contribution to BlackBerry's success. VIP payments are made in addition to base salary and factor in company's performance as a way for employees to share in BlackBerry's achievements.

Benefits:

The BlackBerry Employee Benefits programs offer a wide range of benefits that support your physical, financial and personal well-being. BlackBerry remains committed to offering affordable benefits including coverage for medical, dental, vision, life, disability insurance, retirement, employee share purchase program and paid-time-off to those that meet the eligibility requirements.

Disclosure of Position Status:

This is an active opening. We are seeking to fill this position immediately

Disclosure of Artificial Intelligence:

We donot use artificial intelligence (AI)to screen, assess, or select applicants at any stage of our recruitment process. All applications are reviewed and evaluated by our hiring team.