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.
This is a remote role for individuals located in the United States of America.
About the Company
SmarTek21, founded in 2006, is an innovative digital transformation leader dedicated to empowering organizations through design-led, data-centric solutions. We believe that exceptional user experiences and intelligent data-driven insights are pivotal in shaping the future of business.
SmarTek21 is committed to fostering a diverse and inclusive environment. We encourage applications from individuals of all backgrounds and experiences.