VBA Developer
- Contract
Job Description
We are seeking a highly experienced C# / C++ Developer with proven, hands-on expertise in migrating legacy VBA applications (typically Excel/Access-based) to modern C# (.NET) solutions. This role focuses on legacy system modernization: deeply analyzing complex VBA codebases, reverse-engineering business logic, redesigning and reimplementing it in clean, performant C# code, and delivering functionally equivalent, maintainable applications. The ideal candidate has successfully led or significantly contributed to multiple VBA-to-C# migration projects and excels at bridging old procedural code with object-oriented best practices.
Key Responsibilities:
- Analyze and understand existing VBA (Visual Basic for Applications) code in Excel macros, Access databases, and related legacy systems
- Reverse-engineer business rules, workflows, and data processing logic from VBA
- Redesign and refactor the logic into efficient, scalable C# (.NET Framework / .NET Core / .NET 6+) applications
- Improve performance, reliability, and maintainability compared to the original VBA implementation
- Ensure complete functional parity through rigorous testing and validation against the legacy system
- Handle debugging of complex legacy VBA issues and translate them into modern C# equivalents
- Collaborate with stakeholders to clarify requirements and edge cases hidden in VBA logic
- Perform code reviews, write unit/integration tests, and create technical documentation for migrated components
- Work with legacy systems integration points (e.g., COM interop if needed during transition)
Qualifications
- 8+ years of hands-on software development experience
- Strong proficiency in C# (.NET) – advanced object-oriented design, async programming, LINQ, etc.
- Solid experience with C++ (beneficial for performance-critical components or interop scenarios)
- Proven track record of successfully migrating legacy VBA applications (Excel/Access macros, forms, reports) to C#/.NET – please highlight specific project examples
- Deep understanding of legacy system modernization challenges, including dealing with undocumented code, spaghetti logic, and macro-heavy workflows
- Excellent debugging and troubleshooting skills across both VBA and C# environments
- Strong testing practices (unit, integration, regression) and experience ensuring parity in migrated systems
- Familiarity with refactoring techniques, code quality tools, and documentation best practices
- Ability to work independently in a remote setting with strong problem-solving and analytical skills
Nice-to-Have Skills:
- Experience with VB6 to .NET migrations (as many VBA codebases originate from VB6 patterns)
- Knowledge of .NET desktop (WinForms/WPF) or web (ASP.NET) targets for migrated apps
- Exposure to database migration (Access → SQL Server/PostgreSQL/etc.) or data layer refactoring
- Familiarity with COM/.NET interop or gradual migration strategies
Additional Information
All your information will be kept confidential according to EEO guidelines.