This job board retrieves part of its jobs from: Emploi Étudiant | Toronto Jobs | Work From Home

Tech jobs every day in Canada!

To post a job, login or create an account |  Post a Job

   Canadian Tech jobs   

Website updated every day with fresh jobs in the IT industry

previous arrow
next arrow


Senior systems software developer – core safety


This is a Full-time position in Ottawa, ON posted January 14, 2020.

Worker Sub-Type:Regular Job Description:Are you interested in working with an elite team that is at the core of everything we do?

The core safety team has positions available for talented individuals with a mind for details and creative thinking.

You will work at the heart of the most reliable and secure operating system in the world.

You can contribute directly to an OS that controls systems in everything from automobiles to internet, from medical devices to space systems, from manufacturing to nuclear power plants, and of course, in the world’s most advanced smartphones.Responsibilities include features and improvements to kernel, OS services and key libraries to facilitate certification under industry safety standards.

Although an asset, previous kernel development experience is not a requirement.

The ideal candidate is an individual with an understanding of how processes work below the covers, has a range of knowledge with multiple operating systems, can solve complex problems, and has the ability to bring new ideas and innovation to the table.ESSENTIAL DUTIES AND RESPONSIBILITIES:Work on all levels of the core operating systemMaintain and continually improve the high standards for system reliability, security, and performanceProvide technical leadership for QNX kernel and core OS research and development.Create and document software specifications and designs that address the needs of our customers.Conduct reviews with technical peers to ensure that design guidelines are achieved.Write code and complete programming according to specifications.Create and execute automated unit tests.Identify, analyze and resolve complex software inadequacies.Provide project estimates for requirement, design, implementation, and test efforts.EXPERIENCE REQUIRED:Strong C programming skills, especially on resource-constrained devices and platformsKnowledge of POSIX based operating system architecturesUnderstanding of how user level processes work across each layer of the operating system, including process and thread life cycles, memory management, system calls, and inter-process communicationUnderstanding of operating system concepts, including scheduling, concurrency and resource managementUnderstanding of multi-cpu, multithreaded architectures and real-time systemsStrong problem solving and debugging skillsExcellent communication skills including verbal, written, and interpersonalHigh degree of motivation and ability to work both independently and in a team environmentAdditional AssetsSystem-level QNX and BB10 experience – developing resource managers, build/development tools, etc.Experience writing software to standards such as ISO26262 or IEC61508.Experience with hypervisorsExperience with performance, memory, and post-mortem analysisExperience with SVN and gnu toolsetExperience in the development of automated testingExperience in low-level Assembly and register-level programming with one of more of the following processors; ARM x86, PowerPCExpertise in embedded and real-time systems developmentFilesystem expertiseCompiler expertiseTechnical knowledge of software analysis and design techniquesEDUCATIONBachelor’s degree in Electrical Engineering/Computer Science/Computer Engineering or equivalent#LI-TT1Job Family Group Name:Product DevelopmentScheduled Weekly Hours:40