1

Research Assistant Software Developer Jobs in Ottawa, ON

... Software Developer Kit. * Engage in all stages of development from requirements gathering and analysis to high-level design, implementation, test and maintenance * Carry out research and prepare ...

... Software Developer Kit. * Engage in all stages of development from requirements gathering and analysis to high-level design, implementation, test and maintenance * Carry out research and prepare ...

Data Fusion and Analytics, Data Science, and Research and Engineering. Larus software products include the patented Total::Insight™ DSS, the Total::Perception™ Systems Simulation Engine (SSE ...

Software Engineer

Ottawa, ON · On-site

CA$85K - CA$135K/yr

Conduct independent research and provide new solutions to problems; * Interact with systems engineering on technical issues; * Debugging software problems for near real-time simulation; and * Conduct ...

Software Engineer

Ottawa, ON · On-site

CA$85K - CA$135K/yr

Conduct independent research and provide new solutions to problems; * Interact with systems engineering on technical issues; * Debugging software problems for near real-time simulation; and * Conduct ...

Developer - Entry Level

Ottawa, ON · Hybrid

CA$91K - CA$114K/yr

Advise and assist clients in support of the maintenance and enhancements to system and requirements ... Identifies opportunities and assists in the research and recommendation of forward-thinking ...

Software Engineer

Ottawa, ON · On-site

CA$65 - CA$70/hr

Software Engineer - Embedded Systems This role focuses on designing and implementing embedded ... Conduct independent research to identify and propose innovative solutions to technical challenges.

Showing results 21-40

Research Assistant Software Developer information

What is a research assistant software developer?

Research Assistant Software Developers are professionals who support research projects by developing, maintaining, and optimizing software tools and applications. They work alongside researchers, helping to design experiments, process data, and create algorithms or simulations necessary for the research. Their role bridges the gap between software engineering and academic research, ensuring that technical solutions meet the specific needs of scientific studies. This position often requires strong programming skills, familiarity with research methodologies, and the ability to collaborate in interdisciplinary teams.

What are some common challenges faced by research assistant software developers when working on interdisciplinary research projects?

Research Assistant Software Developers often collaborate with researchers from diverse academic backgrounds, which can introduce challenges in communication and aligning technical requirements with research goals. Adapting software solutions to evolving project needs and integrating new methodologies or datasets can require quick learning and flexibility. Balancing rigorous coding standards with rapid prototyping, especially under tight research deadlines, is another frequent challenge. However, this role provides valuable exposure to cutting-edge research and fosters strong problem-solving and teamwork skills.

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

A Research Assistant Software Developer should have solid programming skills, a background in computer science or a related field, and experience with software development methodologies. Familiarity with tools like Git, Python or Java, and data analysis libraries, as well as knowledge of research-specific platforms, is commonly required. Strong analytical thinking, attention to detail, and effective communication are valuable soft skills in this role. These skills ensure the development of robust research software, facilitate collaboration with research teams, and contribute to the advancement of scientific projects.

What is the difference between Research Assistant Software Developer vs Data Analyst?

AspectResearch Assistant Software DeveloperData Analyst
Required CredentialsBachelor's in CS, Software Engineering, or related fieldBachelor's in Statistics, Data Science, or related field
Work EnvironmentResearch labs, academic institutions, tech companiesBusiness, finance, healthcare, or tech industries
Employer & Industry UsageUniversities, research institutions, tech firmsCorporations, consulting firms, government agencies
Common Search & ComparisonYesYes

The main difference between a Research Assistant Software Developer and a Data Analyst lies in their focus areas. Research Assistant Software Developers primarily work on developing software tools for research purposes, often within academic or research settings. Data Analysts focus on interpreting data to inform business decisions. Both roles require programming skills and analytical thinking, but their end goals and work environments differ.

What are popular job titles related to Research Assistant Software Developer jobs in Ottawa, ON?

For Research Assistant Software Developer jobs in Ottawa, ON, the most frequently searched job titles are:

What job categories do people searching Research Assistant Software Developer jobs in Ottawa, ON look for?

The top searched job categories for Research Assistant Software Developer jobs in Ottawa, ON are:

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

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

Infographic showing various Research Assistant Software Developer job openings in Ottawa, ON as of August 2026, with employment types broken down into 1% As Needed, 83% Full Time, 13% Part Time, and 3% Contract. Highlights an 88% Physical, 4% Hybrid, and 8% Remote job distribution.

QNX Principal Systems Software Developer

BlackBerry Corporation

Ottawa, ON

CA$131K - CA$181K/yr

Full-time

Medical, Dental, Vision, Life, Retirement

Re-posted 19 days ago


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're looking for?

Do you want to work on the technology that powers some of the world's most advanced and trusted systems? Join the QNX Kernel Development Team, where you'll help build, innovate, and optimize the core of one of the world's most reliable, secure, and safety-certified operating systems. This is not application development. 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 elite Kernel Development Team, you'll tackle some of the most challenging problems in systems software, working on kernel architecture, memory management, process management, operating system services, power management, performance optimization, and foundational libraries. You'll collaborate with world-class engineers, influence the direction of the platform, and help deliver innovations that drive the next generation of embedded and real-time systems.

What You'll Do

  • Design, develop, and enhance core operating system technologies at the kernel and system level.
  • Drive innovation and provide technical leadership for QNX Kernel and Core OS research and development initiatives.
  • Influence the future direction of the operating system through architecture, design, and performance improvements.
  • Develop robust software specifications and designs that address complex customer and industry requirements.
  • Collaborate with fellow engineers through design and code reviews to maintain world-class engineering standards.
  • Implement high-quality, performant, and reliable code across critical OS subsystems.
  • Develop and execute automated unit tests to ensure software quality and maintainability.
  • Troubleshoot, analyze, and resolve complex system-level issues across hardware and software layers.
  • Contribute to continuous improvements in system reliability, security, safety, scalability, and performance.
  • Help estimate and plan development efforts across requirements, design, implementation, and testing activities.

What You Bring

  • Strong expertise in C programming, particularly in resource-constrained and embedded environments.
  • Deep understanding of operating system fundamentals, including: Process and thread lifecycles
  • Memory management
  • System calls
  • Inter-process communication (IPC)
  • Scheduling and concurrency
  • Resource management
  • Experience working with POSIX-based operating systems.
  • Understanding of multicore, multithreaded, and real-time system architectures.
  • Exceptional debugging, troubleshooting, and problem-solving skills.
  • Strong verbal and written communication skills.
  • Self-starter mindset with the ability to work independently while collaborating effectively within a team.
  • Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent experience.

If you have any of these then that would be great

  • Experience developing system-level software on QNX, including resource managers, system services, or development tools.
  • Expertise in performance tuning, memory analysis, profiling, and post-mortem debugging.
  • Experience with Git, SVN, and GNU development toolchains.
  • Low-level programming experience in Assembly and register-level hardware interaction.
  • Experience with ARM and/or x86 architectures.
  • Deep expertise in embedded and real-time operating systems.
  • Knowledge of compiler technologies and optimization techniques.
  • Strong understanding of software architecture, analysis, and design methodologies.

Scheduled Weekly Hours:

40

Compensation Hiring Base Salary Range:

$131,250.00 - $181,250.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.