Software Engineer (C / C++ Developer)

Offre publiée le 2025-02-24

Infotek Consulting Inc.

Software Engineer – (C C++ Developer)

Prospective Start Date: 20 Jan 2025

Prospective End Date: 18 Jul 2025

Location: Toronto ON, Canada

Physical Presence: Remote (Canada or USA)

Job Description:

Our Client is looking for a talented software engineer who can help drive next generation data center and AI compute blades to join our team. The candidate will be responsible for designing, developing, and testing software that drives high density data center compute racks including GPUs, CPUs and AI accelerators.

Responsibilities:

  • Software Development:
    • Design and implement drivers, application software that drive next generation CPU and GPU
    • Develop, augment and maintain software libraries for computing on GPU
    • Optimize code for performance, efficiency, and low latency
  • Hardware Integration:
    • Board bring up and validation of all low-level interactions with hardware
    • Drivers to monitor the health of the board
    • Troubleshoot and resolve hardware-software interaction issues
    • Diagnostics code that will maintain manufacturing quality
  • Security:
    • Design and implement features for verification of trusted software like secure boot
    • Stay up-to-date on security best practices and vulnerability remediation
  • Collaboration:
    • Work effectively in a team environment, collaborating with engineers and peer functional leads from different disciplines to innovate solutions, triage issues and speed execution
    • Work across geographical time zones

Strong Programming Skills:

  • Proficiency in C, C++ and other low-level programming languages. Operating system knowledge: Experience with Linux driver kernel development is a must. Candidate should have strong experience in Linux kernel memory management, interrupts, IOMMU.
  • Hardware experience: Familiarity with main elements of CPU, DPU, memory, NICs, board monitoring elements is a must.
  • Debugging and testing skills: Ability to identify and resolve software and hardware issues.
  • Problem-solving skills: Strong analytical and problem-solving abilities.
  • Experience with data center deployments: Prior experience in data center architectures, developing and maintaining software for deployments is a plus.
  • Experience with GPU programming: Prior experience with GPU libraries like CUDA and ROCm is a huge plus.
  • Clear Communication: Clear written and verbal communication skills in English are required.

Must Have Skills:

  • Strong programming skills: Proficiency in C, C++ and other low-level programming languages.
  • Operating system knowledge: Experience with Linux driver kernel development is a must. Candidate should have strong experience in Linux kernel memory management, interrupts, IOMMU.
  • Hardware experience: Familiarity with main elements of CPU, DPU, memory, NICs, board monitoring elements is a must.
  • Debugging and testing skills: Ability to identify and resolve software and hardware issues.
  • Problem-solving skills: Strong analytical and problem-solving abilities.
  • Experience with data center deployments: Prior experience in data center architectures, developing and maintaining software for deployments is a plus.
  • Experience with GPU programming: Prior experience with GPU libraries like CUDA and ROCm is a huge plus.
  • Clear Communication: Clear written and verbal communication skills in English are required.