Job Summary
We are seeking a Senior Software Engineer with strong C++ and Java development experience to join an enterprise engineering team responsible for modernizing mission-critical insurance technology platforms. The team is migrating legacy C++ applications and services to a modern, cloud-native architecture using Java, Spring Boot, and Microsoft Azure. The ideal candidate will have hands-on experience supporting complex C++ applications and the Java development skills required to design, build, and transition functionality into scalable microservices. This is a hands-on technical role offering the opportunity to contribute to a long-term modernization initiative and collaborate with senior architects and engineering leadership.
Key Responsibilities
• Maintain, troubleshoot, and enhance existing enterprise applications and services developed in C++.
• Participate in modernizing and migrating legacy C++ functionality into Java-based microservices.
• Design, develop, and maintain backend services using Java, Spring Boot, and RESTful APIs.
• Analyze existing C++ codebases, understand business logic and system dependencies, and translate functionality into modern application architectures.
• Develop scalable, secure, and high-performing applications deployed within Microsoft Azure.
• Collaborate with architects, technical leads, and cross-functional engineering teams to establish modernization strategies.
• Support integration between legacy systems, data-processing platforms, and modern microservices.
• Troubleshoot complex production issues, identify performance bottlenecks, and implement long-term solutions.
• Participate in code reviews, technical design discussions, automated testing, and CI/CD improvements.
• Contribute to application reliability, observability, security, and platform stability throughout the migration.
Required Qualifications
• 7+ years of professional software development experience, preferably in complex enterprise environments.
• Strong hands-on C++ development experience, including debugging, maintaining, and enhancing existing production applications.
• Professional Java development experience, including object-oriented programming and backend application development.
• Experience with Spring Boot, REST APIs, and microservices architecture.
• Strong understanding of software engineering fundamentals, including data structures, algorithms, design patterns, and multithreading/concurrency.
• Experience modernizing, refactoring, or migrating legacy applications.
• Familiarity with cloud-native development and containerization technologies such as Docker and Kubernetes.
• Experience troubleshooting production applications and diagnosing performance or reliability issues.
• Strong understanding of CI/CD practices, source control, automated testing, and secure coding principles.
• Ability to independently analyze complex systems, understand existing application behavior, and recommend technical improvements.
• Excellent communication and collaboration skills, including the ability to explain technical decisions and trade-offs.
Preferred Qualifications
• Hands-on experience with Microsoft Azure, particularly Azure Kubernetes Service (AKS).
• Experience with Azure Service Bus or other asynchronous messaging technologies.
• Experience migrating monolithic or legacy applications into distributed microservices.
• Familiarity with GitHub Actions and modern deployment pipelines.
• Experience with high-volume transaction processing, data-intensive applications, or enterprise integration platforms.
• Experience with HPCC Systems, Roxy, or similar large-scale data-processing technologies.
• Knowledge of distributed systems, application observability, and performance optimization.
• Experience in insurance, financial services, or other complex enterprise technology environments.
• Previous experience mentoring developers or contributing to architectural decisions.