Software Development Engineer 2 - DirectX 12 Performance Analysis
Triage and diagnose DirectX 12 game performance issues by collecting GPU/CPU traces and comparing performance differences between Windows and Linux graphics stacks. Communicate clear findings and recommended next steps to graphics driver and runtime engineers. Partner with graphics driver and runtime engineers to validate hypotheses, test fixes, and confirm performance improvements and regressions.
Key Highlights
Key Responsibilities
Technical Skills Required
Benefits & Perks
Job Description
Job Title: Software Development Engineer 2
Location: 100% Remote
Top IT Firm
Duration: 18 months
Contract on W2
Typical Day in the Role
• Purpose of the Team: The purpose of this team is to perform first‑level performance triage and analysis, including trace collection and identification of graphics-related bottlenecks
• Key projects: N/A.
Candidate Requirements
• Disqualifiers: Candidates with a lack of graphics experience, who have a background limited to generic or non‑graphics software engineering, who do not have experience with graphics or performance analysis tooling, or who do not meet at least two of the required hard skills will not be eligible for the role.
• Best vs. Average: The ideal resume would contain hands‑on graphics experience, familiarity with graphics and performance analysis tooling, hardware architecture knowledge, and experience identifying performance bottlenecks through trace collection and analysis.
Hard Skills Assessments
• Expected Dates that Hard Skills Assessments will be scheduled: ASAP
Interested in remote work opportunities in Development & Programming? Discover Development & Programming Remote Jobs featuring exclusive positions from top companies that offer flexible work arrangements.
• Hard Skills Assessment Process: The assessment process will include one round with the sponsor and FTE.
• Required Candidate Preparation: N/A
Top Skills:
1. GPU Architecture Knowledge
2. DX12 Knowledge, especially with respect to shaders (HLSL, SPIRV,ISA)
3. Tools experience with GPUView, PIX, Radeon GPU Profiler (RGP)
Summary:
This role’s main responsibility is to triage and diagnose DirectX 12 game performance issues by collecting GPU/CPU traces and comparing performance differences between Windows and Linux graphics stacks (runtime, drivers, and compilers), then communicating clear findings and recommended next steps to graphics driver and runtime engineers.
Job Responsibilities:
• Reproduce reported DirectX 12 performance issues from data produced by our testing lab.
• Capture GPU/CPU profiles and traces using tools such as PIX (timing captures), GPUView/ETW, and vendor profilers (e.g., Radeon GPU Profiler) to identify bottlenecks (GPU-bound vs. CPU-bound, synchronization, shader occupancy, pipelining, etc.).
• Analyze traces and performance counters to isolate the likely root cause and propose actionable next steps.
• Create clear performance write-ups with reproduction steps, captures, metrics, and a concise summary of suspected hotspots.
• Partner with graphics driver and runtime engineers to validate hypotheses, test fixes, and confirm performance improvements and regressions.
Browse our curated collection of remote jobs across all categories and industries, featuring positions from top companies worldwide.
Skills:
• Understanding of real-time rendering fundamentals and the GPU graphics pipeline (draw calls, state changes, shaders, textures, buffers).
• Understanding of GPU architecture basics (waves/warps, occupancy, caches, memory bandwidth) and shader ISA at a high level.
• DirectX 12 familiarity (core concepts such as command queues/lists, descriptor heaps, resource states/barriers) and basic shader concepts in HLSL & SPIRV.
• Hands-on experience with profiling tools (PIX, RGP, GPUView, WPA/WPR) and interpreting timing/counter data.
• Programming skills in C/C++ with ability to read and reason about performance-sensitive code.
• Comfortable working in Windows environments (command line basics, driver/runtime builds) and strong written communication for bug reports and triage summaries.
• Comfortable working in Linux (shell, services, and basic scripting).
• Scripting for automation (Python, PowerShell, or Bash) and basic data analysis (CSV, spreadsheets, simple plots).
• Exposure to Windows graphics stack and debugging concepts (WDDM, DXGI, ETW providers, driver symbol debugging)
Education/Experience:
• Bachelor's degree in computer science, software engineering or relevant field required.
• 2-4 years experience required.
Please let me know if this is something you would love to do, and help me with your updated resume. Feel free to reach out at Harshiv@ifgpr.com if you have any questions.
Thanks
Similar Jobs
Explore other opportunities that match your interests
Senior Technical Support Engineer
Aiwyn
K1X, Inc.