Software Validation Engineer

Hcltech — Canada · Posted ~2 days ago

Senior

Skills

C C++ Systems programming Memory management Interrupt handling Race-condition debugging PCIe VFIO DMA Hardware-software debugging Firmware validation Build systems CI integration Rust CI

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Summary

Validate and debug low-level software at the hardware-software boundary. Work across firmware, high-speed device interconnects, memory and resource management, direct data transfer, streaming APIs, and build infrastructure while supporting multiple generations of specialized hardware.

Highlights

Deep systems role spanning firmware, hardware transport, userspace software, custom silicon validation, and shared infrastructure across multiple hardware generations.

Description

BMTC (Bare Metal Test & Control) Validation Software Engineer requiring expertise at the hardware-software boundary. The top critical skills are: · C/C++ Systems Programming — memory allocators, interrupt handling, race condition debugging, resource lifecycle management · PCIe & Hardware Interfaces — VFIO, BAR mapping, iATU, DMA (H2D/D2H/P2P), physical functions · Custom Silicon Validation — Core firmware, HDI protocol, SQ/CQ setup, multi-generation chip support · Streaming API Architecture — dynamic library loading, process separation, static-to-dynamic migration · Build System — constraint-based compilation, target management, CI integration The ideal candidate would be comfortable debugging issues that span firmware → PCIe transport → userspace, and able to maintain shared infrastructure across multiple chip generations. Rust is emerging as a skill need (for the streaming API shim layer) but is not yet dominant.