Our client is Canadian Tech group in the Graphics/Imaging sector providing entire software and hardware IP platform solutions that enable safety critical applications.
This can be fully remote!!! Virtually anywhere in the world.
You are pushing boundaries that literally have not been pushed before in critical graphics, video drivers, and "program ready" embedded graphics processors , their products are being used in the aerospace include automotive, unmanned vehicle, and internet of things markets.
Graphics Software Engineer , your main responsibilities in develop, integrate, debug, and certify graphics processing unit (GPU) drivers that implement Vulkan SC across a compliment of GPUs in the Company's portfolio.
Develop, integrate, debug, and certify products that are based on Vulkan SC.
Ensure compliance to Khronos based conformance test suites for all open standard interfaces.
Develop internal, robust test suites for both Vulkan SC drivers and derived products in support of quality assurance.
Develop baseline drivers and product compliment on Windows/Linux that will ultimately be deployed on safety critical operating systems and targets.
Adhere to regulatory guidelines and generate pertinent artifacts in support of certification activities.
Comply with defined coding standards and execute in alignment with defined end-to-end development lifecycle: proof of concept, in addition to the formal design and review of all software components (architecture capture, high / low Level requirement creation and code implementation).
Preferred Skills & Experience
Working experience of open standard graphics and compute FACE/Khronos Interfaces (OpenGL SC 1.0, OpenGL SC 2.0, Vulkan SC, OpenCL, SYCL, OpenVX, BLAS/FFT, NNEF, H.264/H.265 Video Encode / Decode).
Working experience with industry pertinent coding languages (C/C++, GLSL, ESSL, SRIR-V, GPU-ISA, Graphics and Compute Shaders, CUDA, Python).
Recent experience with ARM, Imagination Technologies or Intel IrisXE GPUs.
General Architectural Construct Knowledge (safety critical embedded real time graphics driver development, Real Time Operating Systems (RTOS), hypervisors, multicore CPU configurations, inter-process communication, interrupt management, CPU/GPU synchronization methods, multi-threaded / multi-partitioned frameworks, virtualization mechanisms, robust time & space partitioning).
Experience with embedded operating systems (LynxOS, VxWorks, Integrity, Deos, QNX, etc.).
Experience with certification compliance artifacts and audit support (SLR/HLR/LLR requirement generation and traceability, structural/MCDC/statement coverage, control and data coupling assessment compliance, and MISRA coding standards).
Adept at working in geographically distributed development teams.
Proficiency with development tools and supporting framework (CodeBeamer, DOORS, RTC, RTRT, Git, GitHub, Jira), as well as the Microsoft Office tool suite, including Visio, SharePoint, OneDrive, and Teams.
Experience working with both waterfall and agile processes (scrum master certification a plus).
Experienced with Six Sigma, Lean principles, CMMI, OKRs (Objectives & Key Results).
Experience with DO-178 and ISO 26262 is a plus.
Requirement
Bachelor's in Software Engineering, Computer Engineering, Electrical Engineering, or Mathematics.
Prior professional level experience: 8+ years for Principal post, 4-8 years for Senior post, and 1-4 years for entry level post, as a software developer with accelerated graphics and compute platforms (embedded safety critical is a plus).
Exceptional organizational, communication, collaboration, and team building skills.
Diligent, tenacious, high integrity, strong work ethic, and sound problem-solving skills.
Excellent C/C++ programming skills.
Experience programming and optimizing GPU & compute drivers and applications.
3D graphics & compute API knowledge and experience (OpenGL, and/or Vulkan).
3D GPU & compute driver knowledge and experience.
Windows / Linux development proficiency.
Experience with multi-threading and concurrent programming (multicore work distribution a plus).
Familiarity with performance analysis tools and strong debugging skills.