Our Purpose Mastercard powers economies and empowers people in 200+ countries and territories worldwide. Together with our customers, we’re helping build a sustainable economy where everyone can prosper. We support a wide range of digital payments choices, making transactions secure, simple, smart and accessible. Our technology and innovation, partnerships and networks combine to deliver a unique set of products and services that help people, businesses and governments realize their greatest potential. Title and Summary Lead Software Engineer Overview: Mastercard's Global Credit Authorization team is seeking a Lead Software Engineer to design, build, and validate mission-critical, highly available systems that process secure financial transactions at global scale. In this role, you'll combine hands-on software engineering with deep quality engineering expertise to define and execute comprehensive validation strategies across functional behavior, transaction integrity, resiliency, performance, failover, recovery, monitoring, and production readiness. You'll develop software and automation using Java and/or Python, build and maintain representative test environments, and validate complex distributed systems under real-world traffic and failure conditions. Working closely with software engineers, architects, operations teams, and cross-functional stakeholders, you'll troubleshoot software and networking issues, analyze defects, and ensure changes meet high standards for quality, reliability, performance, and operational readiness before production deployment. You'll thrive in a collaborative, fast-paced Agile environment where software engineering, automation, resiliency, and continuous improvement are foundational to how we deliver technology. This is a hybrid position based in O'Fallon, MO, requiring three days per week onsite. Role: • Design, develop, and enhance software, test applications, utilities, and automation solutions using Java and/or Python to support system validation and engineering objectives. • Define and execute comprehensive validation strategies covering functional behavior, transaction integrity, performance, resiliency, failover, recovery, monitoring, and production readiness. • Build, configure, maintain, and troubleshoot lab and lower-level test environments that replicate production architecture, network configurations, traffic patterns, and system dependencies. • Apply knowledge of TCP/IP, persistent TCP connections, proxies, load balancers, routing, and network services to validate application and infrastructure behavior. • Develop and execute end-to-end functional, integration, regression, negative, failover, recovery, load, soak, and capacity testing for highly available distributed systems. • Design and implement automated testing frameworks and tools to improve quality, test coverage, repeatability, and engineering efficiency. • Validate traffic movement, transaction integrity, proxy bypass, rollback, and recovery procedures during maintenance, infrastructure changes, deployments, and failure scenarios. • Reproduce and troubleshoot complex issues by analyzing application code, logs, traces, metrics, network traffic, and packet captures, partnering with engineering teams to drive root-cause analysis and resolution. • Evaluate system performance, scalability, resiliency, capacity, and operational readiness under production-like workloads and failure conditions. • Define acceptance criteria, test evidence, certification documentation, validation reports, and production-readiness recommendations. • Collaborate with software engineers, architects, product owners, and operational teams throughout requirements analysis, design reviews, Agile ceremonies, testing, certification, and deployment activities. • Champion software engineering, quality, automation, and continuous-improvement best practices, identifying opportunities to strengthen tooling, environments, processes, and overall system reliability. All About You: • Previous experience as a Senior or Lead Software Engineer, Software Developer, or Software Development Engineer in Test (SDET) working on complex enterprise systems. • Strong hands-on software development experience, including designing, developing, debugging, and maintaining production-quality applications, services, utilities, or automation. • Hands-on programming experience with Java and/or Python, including developing backend services, automation, test utilities, or frameworks. • Experience building, configuring, and troubleshooting test, lab, development, or lower-level environments for distributed applications. • Strong understanding of TCP/IP networking, persistent connections, routing, proxies, load balancers, DNS, ports, and network troubleshooting. • Experience analyzing packet captures, logs, traces, metrics, and operational telemetry to troubleshoot complex software and network issues. • Strong experience with functional, integration, resiliency, performance, and end-to-end testing of distributed or highly available systems. • Strong understanding of transaction-processing systems and validation of business-critical workflows and transaction integrity. • Proven experience with failover, recovery, disaster recovery, and business continuity testing for mission-critical systems. • Hands-on experience developing and using automated test frameworks, failure-injection methodologies, and performance testing tools. • Experience with load, stress, soak, scalability, and capacity testing for high-throughput applications and services. • Strong understanding of software engineering and quality practices, including test planning, certification, production readiness, and defect lifecycle management. • Demonstrated ability to perform root-cause analysis across software, infrastructure, and network layers and drive complex technical issues to resolution. • Strong analytical, problem-solving, technical documentation, and communication skills, with th
Skills: authorization software engineering java python distributed systems production deployment agile continuous improvement automated testing system reliability