Job Specifications
Role: Lead Principal Software Engineer
Location: Remote
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.