Software Developer C++/C
Software Developer C++/C#
Guildford, Surrey (Hybrid, 2 days per week onsite)
Permanent, £45k-£60k per annum
In this role you will be working for a well-established manufacturer of medical imaging devices. You’ll be developing code for beneficial products and will be part of an exceptionally friendly and highly skilled engineering team.
Job Summary:
We are seeking a skilled Software Developer with experience in C++ and C# development using Visual Studio 2019/2022, with a strong emphasis on COM (Component Object Model) interop. This role involves maintaining and developing applications that bridge managed and unmanaged code, integrating C# .NET applications with legacy or third-party COM components, and ensuring high performance and stability.
Key Responsibilities:
- Design, develop, and maintain applications in C++ and C# using Visual Studio 2019/2022.
- Implement and maintain COM Interop between managed (.NET) and unmanaged (native C++) code.
- Analyse and debug issues involving interop boundaries, memory leaks, and marshalling problems.
- Develop and consume COM interfaces and ensure proper registration, activation, and lifecycle management.
- Collaborate with other developers, testers, and product owners to deliver reliable, maintainable, and high-performance software.
- Write and maintain clear technical documentation for interop designs, interfaces, and processes.
- Participate in code reviews and enforce coding standards, particularly for interop safety and performance.
Required Skills & Experience:
- Strong proficiency in C++ (including COM development) and C# (.NET Framework).
- Proven experience working with Visual Studio 2019/2022.
- Development of GUI’s using WPF optionally (WinUI or other Windows GUI frameworks).
- Solid understanding of COM fundamentals: interface definitions (IDispatch, IUnknown), reference counting, threading models, and COM registration.
- Hands-on experience with P/Invoke, RCW/CCW, and .NET attributes for COM Interop ([ComVisible], [Guid], etc.).
- Ability to analyse interop issues, including memory management, threading, and performance.
- Experience integrating with or maintaining legacy Windows applications.
Desirable Skills:
- Experience with .NET Framework 4.x or .NET 6+ migration.
- Familiarity with ATL, MFC, or Win32 API.
- Understanding of unit testing and automated builds for mixed-language projects.
- Familiarity with tools such as Process Monitor, Dependency Walker, or WinDbg for low-level debugging.
- Knowledge of software development best practices and Agile methodologies.
Qualifications:
- Bachelor’s degree in Computer Science, Engineering, or a related field (or equivalent experience).
- Industry experience in a similar role with relevant technical responsibilities.
- Company
- Mage Global Ltd
- Location
- Guildford, Surrey, United Kingdom
- Employment Type
- Permanent
- Salary
- £45000 - £60000/annum
- Posted
- Company
- Mage Global Ltd
- Location
- Guildford, Surrey, United Kingdom
- Employment Type
- Permanent
- Salary
- £45000 - £60000/annum
- Posted