Role Purpose
We are looking for a highly experienced Principal Software Engineer with mastery in C++ (modern standards), C#, and Java to lead large-scale code refactoring and modernization initiatives. This role is for someone who has spent years working in complex, performance-critical systems and can transform legacy, monolithic codebases into clean, modular, high-performance applications.
⸻
Core Responsibilities
• Code Refactoring & Modernization
• Lead large-scale refactoring of legacy systems in C++, C#, and Java.
• Apply modern language features (C++17/20, C# 10+, Java 11/17) to improve performance, readability, and maintainability.
• Eliminate technical debt, dead code, and anti-patterns through structured refactoring.
• Redesign monolithic applications into modular, service-oriented architectures.
• Performance & Scalability
• Optimize memory usage, threading, and concurrency models.
• Profile and fine-tune JVM, CLR, and native C++ runtime performance.
• Apply low-level debugging and optimization techniques in high-performance environments.
• Architecture & Standards
• Implement SOLID, clean code, and design pattern practices.
• Introduce coding guidelines, automated static/dynamic analysis tools (SonarQube, Coverity, clang-tidy).
• Ensure all modernized code is testable, maintainable, and CI/CD-ready.
• Collaboration & Mentorship
• Partner with architects and technical leads to align modernization with long-term product strategy.
• Mentor developers in advanced refactoring strategies, performance tuning, and clean architecture.
• Conduct deep technical code reviews and enforce engineering best practices.
⸻
Required Technical Expertise
• 10+ years of professional development across C++, C#, and Java with extensive cross-language exposure.
• C++:
• Advanced mastery of C++11/14/17/20 features (smart pointers, lambdas, move semantics, constexpr).
• Strong knowledge of STL, Boost, multithreading, templates, and memory management.
• Hands-on with low-level debugging, profiling tools (Valgrind, Perf, VTune).
• C# / .NET:
• Deep expertise in .NET 6+, .NET Core, and legacy .NET frameworks.
• Strong understanding of CLR internals, async/await, threading, LINQ, and GC tuning.
• Experience refactoring monolithic .NET applications into modular or microservice-based systems.
• Java:
• Advanced knowledge of Java 8–17 features (streams, lambdas, records, modules).
• JVM tuning, garbage collection strategies, and threading/concurrency frameworks.
• Experience in Spring / Spring Boot modernization and service decomposition.
• Cross-Cutting Skills:
• Strong background in design patterns, refactoring techniques, and code smells elimination.
• Expert in unit testing, TDD, and regression-safe refactoring.
• Familiarity with CI/CD pipelines, Git workflows, containerization (Docker, Kubernetes).
• Hands-on with profiling & static analysis tools across all three languages.
Being an industry leader also means investing in our employees. Let us help you cultivate your skills and push boundaries together.
We take pride in being a multicultural, international company that encourages freedom of self, creed and culture!