Software Engineer
Software Engineer – Legacy Modernization & API DevelopmentWe are seeking an experienced Software Engineer to help modernize legacy applications and transform them into scalable, maintainable software solutions. In this role, you will analyze existing codebases, understand legacy business logic, and rebuild critical functionality as modern, API-driven services. You will work closely with architects and senior engineers while leveraging AI-powered development tools to accelerate code analysis, testing, and modernization efforts.Key ResponsibilitiesModernize legacy Windows and Fortran-based applications into modern, maintainable solutions.Design, develop, and support APIs that expose existing computational capabilities to modern platforms and consumers.Create characterization, regression, and automated tests to ensure modernized applications maintain expected functionality.Utilize AI-assisted development tools for code comprehension, translation, test generation, and productivity enhancement.Follow established modernization frameworks, architectural standards, and engineering best practices.Collaborate with architects, senior engineers, and business stakeholders to deliver high-quality software solutions.Required Qualifications7+ years of professional software engineering experience.Strong proficiency in at least one enterprise or systems programming language such as:C++C# /.NETJavaExperience working with APIs and service-oriented architectures.Demonstrated experience writing automated tests and validating behavior-sensitive code changes.Hands-on experience using AI coding assistants within software development workflows.Experience working in Agile environments and familiarity with emerging AI-enabled development methodologies, including Spec-Driven Development and AI Development Life Cycle (AIDLC).Preferred QualificationsExposure to Fortran or other legacy programming languages.Experience deploying applications in AWS and/or Azure environments.Familiarity with AI frameworks and orchestration tools such as:LangChainLangGraphDeepAgentsExperience working with scientific, engineering, or numerical software applications.Success FactorsBe an effective communicator who can clearly explain complex technical concepts and legacy system behaviors.Thrive in situations involving ambiguity, undocumented systems, and evolving requirements.Demonstrate strong analytical and problem-solving skills with an investigative mindset.Enjoy reverse-engineering and understanding complex legacy applications.Balance engineering rigor with practical delivery objectives.Collaborate effectively with technical teams and API consumers to deliver business value.