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
  • DESCRIPTION: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.

Forgot Password

Job Quick Search