Location: Hybrid in Ottawa is preferred but open to other locations within Canada – supporting EST time

Contract duration: 18 months

Main profile requirements:

  • Strong C/C++ developers.
  • ARM CPU, Linux kernel configuration and drivers
  • TCP/IP networking, REST, gRPC, micro-services
  • Containers and virtual machines
  • Cryptography or / and security protocols
  • Familiarity with RUST or GO would be a plus as well
  • Familiar with Jira & agile methodologies
  • Python and shell scripting

    Principal Software Development Engineer
    Our client has been the number one vendor in the HSM (Hardware Security Module) market for years. A successful candidate will join the Ottawa-based engineering team that designs the next generation, cloud-native, multi-tenant HSM product, which will further advance their leading position in the HSM market.

    Key Responsibilities:
    · You will architect, design, code, test, debug, and document the Linux-based embedded HSM software and the host-side software, which interfaces with the embedded HSM software
    · You will be exposed to all areas of cloud-native, Linux-based embedded designs from boot-loaders to high-level applications to containers and virtual machines to crypto algorithms to device drivers to low-level hardware interfaces to test tools.
    · You will work on new features and products. You will also integrate with the third party software and, as needed, maintain the existing code base
    · You will participate in requirements analysis, architecture/design discussions, planning sessions and effort estimates.
    · You will heavily invest in documenting and testing your designs including test
    · You will work in a very dynamic environment and will interact other teams.
    · You will mentor and guide more junior team members

    Required Skills and Experience:
    · At least 10 years of related work-place experience

    · Mandatory skills
    · Solid work experience in embedded software development in
    performance-demanding, resource-constrained Linux environments
    · Very strong C, reasonable C++
    · Strong understanding of multi-threading, inter process communication,
    operating systems and hardware interfaces
    · Ability to design complex systems and write architectural, functional, and
    design specifications

    · Preferred skills
    · Knowledge and experience in several of the following:
    · ARM CPU, Linux kernel and drivers
    · TCP/IP networking, REST, gRPC, micro-services

Tagged as:

Print Job Listing
We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Sign in

Sign Up

Forgot Password

Job Quick Search