Senior Software Engineer
Job Description
Senior Software Engineer role focused on owning critical Windows native-code systems and modernizing a mature C/C++ codebase.
Responsibilities
- Own and maintain critical areas of a large, established Windows C/C++ codebase.
- Modernize legacy components using C++17/20, RAII, smart pointers, STL, and safer resource-management practices.
- Identify and prioritize technical debt, architectural risks, obsolete dependencies, and maintainability gaps.
- Refactor tightly coupled or complex modules while preserving existing behavior and compatibility.
- Diagnose crashes, memory corruption, leaks, deadlocks, race conditions, and performance problems using Visual Studio, WinDbg, and Windows diagnostic tools.
- Improve automated testing, static analysis, logging, and CI/CD practices for existing components.
- Manage compiler, SDK, library, and third-party dependency upgrades.
- Establish and promote modern C++ coding, architecture, and code-review standards.
- Mentor engineers working in complex or unfamiliar areas of the codebase.
- Partner with engineering leadership to balance feature delivery, modernization, reliability, and technical-debt reduction.
Requirements
- 7+ years of professional C/C++ software development experience.
- Demonstrated experience refactoring and modernizing large legacy C++ codebases.
- Strong knowledge of modern C++: RAII, smart pointers, STL, concurrency, object lifetime, and resource management.
- Strong knowledge of Win32 APIs, Windows processes/threads, DLLs, synchronization, IPC, services, and file I/O.
- Experience developing and debugging with ATL, COM.
- Windows crash-dump and performance analysis.
- Experience debugging complex native-code issues with Visual Studio and WinDbg.
- 1-2 years experience managing projects.
- Strong analytical approach: ability to dive into data, analyze large data sets, and recognize patterns.
- Ability to influence and impact others.
- Ability to manage time effectively; high levels of responsibility, organization, and proactive execution.
- Ability to train and mentor others.
- Strong communication skills.
- Authorization to work in the United States without current or future sponsorship.
Technologies
- C++, C++17, C++20, RAII, smart pointers, STL
- Visual Studio, WinDbg
- Win32 APIs, ATL, COM
- Jenkins, Azure DevOps, GitHub Actions, Google Test
- CI/CD, Windows diagnostic tools, Windows crash-dump analysis
Location and Salary
- Reston, VA (hybrid)
- USD 170,000 - 195,000 per year