Job Description:
Profile Description – Senior Legacy Software Engineer / C/C++ Migration Specialist
We are looking for a highly experienced Senior Legacy Software Engineer with a strong background in low-level Windows development, reverse engineering, and modernization of legacy C/C++ applications. The candidate will play a key technical role in migrating a complex legacy application to a modern Windows environment by identifying, analyzing, and replacing obsolete hardware dependencies while preserving existing application functionality.
The ideal candidate combines hands-on experience with legacy Windows technologies and system-level programming with the ability to implement modern software interfaces and compatibility solutions. This is a specialized engineering role requiring a combination of historical Windows knowledge and contemporary C/C++ development skills.
Legacy System Forensics and Dependency Analysis
The candidate must be able to analyse how legacy Win32 code, custom drivers, and OCX components originally operated and understand how their dependencies have been carried forward through successive migrations to newer environments.
Experience investigating undocumented or partially documented applications without access to the original source code is essential. The candidate must be proficient in identifying runtime dependencies, tracing system interactions, and determining how legacy software communicates with hardware and operating system components.
Daily experience with tools such as Dependency Walker, Process Monitor, and other dependency analysis and reverse engineering tools is required. The candidate must be capable of mapping dependencies, identifying obsolete interfaces, and establishing how these can be isolated or replaced without compromising existing functionality.
Shim and Stub Development
The candidate must have demonstrable experience developing shim DLLs and stub components to reproduce or emulate legacy interfaces in modern environments. This includes implementing compatibility layers that mimic obsolete driver interfaces and allow existing application components to continue functioning without direct dependencies on the original hardware or drivers.
A strong understanding of Windows internals, DLL interactions, legacy APIs, and hardware-software interfaces is essential.
HAL Implementation and Modern C/C++ Development
Working under the architectural direction of the Lead Architect, the candidate will implement Hardware Abstraction Layer (HAL) interfaces in C or C++. This involves developing modern replacements for identified hardware calls, implementing the interfaces required to decouple the application from legacy hardware, and ensuring that existing functional logic remains intact.
The candidate must have experience with controlled replatforming of legacy C/C++ code into a modern Windows build environment. This includes addressing deprecated API calls, resolving compatibility issues, and adapting legacy code to contemporary development toolchains while minimizing functional changes and operational risk.
The resulting implementation must be maintainable, well documented, and suitable for long-term management and further development by the Dutch Ministry of Defense.
Additional Qualifications
Experience with industrial communication protocols, such as Modbus and serial communication, or integration with PLC systems is considered an advantage. A background in embedded systems, firmware, or hardware-level programming would also be highly beneficial, particularly where software interacts directly with physical interfaces or specialized equipment.
Availability and Security Requirements
The candidate must be willing and eligible to undergo the applicable Dutch Ministry of Defense security screening, including a VOG or any additional screening required for the assignment.
Key Requirements
Fluent in the Dutch and English language, both spoken and written.
Proven experience with legacy Windows development,…