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 engineers 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. 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 GPU libraries like CUDA and ROCm is huge plus Clear Communication: Clear written and verbal communication skills in English is 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 GPU libraries like CUDA and ROCm is huge plus Clear Communication: Clear written and verbal communication skills in English is required.
Job Title
Software Engineer (C/C Developer)