Embedded Software Engineer

Company:  OnX Canada
Location: Ontario
Closing Date: 01-08-2024
Hours: Full Time
Type: Permanent
Job Requirements / Description
Position: Senior Systems Software Developer, KernelWe are looking for resources that can work onsite.Must have Embedded Systems experienceResponsibilities include kernel feature development, hypervisor feature development, memory management, process management, OS services, key libraries enhancements, power management, and performance optimizations, as well as safety and security impact analysis. Although a strong asset, previous kernel development experience is not a requirement. The ideal candidate is an individual with an understanding of how processes and threads work, how memory is managed, scheduling, 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.RESPONSIBILITIESWork on all levels of the core operating systemMaintain and continually improve the high standards for system reliability, security, safety, and performanceProvide technical leadership for 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.QUALIFICATIONSStrong C programming skills, especially on resource-constrained devices and platformsBachelor's degree in Computer Science/Computer Engineering/Electrical Engineering or equivalentKnowledge 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 (or similar) experience – developing resource managers, build/development tools, etc.Experience with performance, memory, and post-mortem analysisExperience with git, SVN and gnu toolsetExperience in low-level assembly and register-level programming on ARM and/or x86Expertise in embedded and real-time systems developmentFilesystem expertiseCompiler expertiseTechnical knowledge of software analysis and design techniques
Apply Now
Share this job
OnX Canada
  • Similar Jobs

  • Embedded Software Engineer

    Ontario
    View Job
  • Software Support Technician

    Ontario
    View Job
  • Software Support Technician

    Ontario
    View Job
  • MQ Engineer

    Ontario
    View Job
  • Professional Engineer

    Ontario
    View Job
An unhandled exception has occurred. See browser dev tools for details. Reload 🗙