Lead Software Engineer (C/C++)
Mastercard · O'Fallon, Missouri
onsitefull-time6-10 years
posted 16h
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 (C/C++) This is an exciting opportunity for you to join Mastercard on the global credit card authorization team. The system facilitates billions of transactions among issuers, acquirers, and service providers. You will have the opportunity to lead projects that enhance this system with each release. We are looking for engineers who are passionate about software design and development, with a constant focus on quality, performance, security, reliability, and engineering excellence. This role will help drive technical direction and ensure solutions are scalable, resilient, observable, and operationally ready. Responsibilities Partner with Product Management to elaborate features, user stories, technical requirements, and test strategies for each initiative. Create technical designs, provide technical direction, and assign work to developers. Develop complex stories in C and write unit tests in C++ using Google Test. Apply secure coding practices throughout the software development lifecycle and help identify and mitigate security risks. Design and develop high-performing, scalable, and resilient software solutions, with a focus on performance engineering and system efficiency. Apply strong knowledge of data structures and algorithms to solve complex technical and performance challenges. Serve as a quality gate by leading code reviews, design reviews, and technical assessments. Collaborate with other Principals and Leads to define interfaces, dependencies, and interactions between systems. Provide technical leadership and contribute to software architecture governance by ensuring solutions align with established architectural principles, standards, and long-term technology strategies. Advise on implementation strategies to support successful, secure, and reliable deployments. Drive observability and operational readiness by helping define appropriate logging, monitoring, alerting, diagnostics, and production support capabilities. Implement development process improvements, automation, and CI/CD capabilities to improve engineering efficiency and software quality. Coach, mentor, and develop junior engineers while helping establish and reinforce engineering best practices. Deliver department-level and external technical presentations. All About You Have you written many lines of production code in C or C++? Do you enjoy solving complex technical challenges using strong data structures and algorithms fundamentals? Have you set technical direction for your team and mentored junior engineers? Do you have experience designing and developing software with a focus on performance engineering, scalability, and efficiency? Do you have experience applying secure coding practices and identifying potential security risks in software designs and implementations? Do you have experience with automation and CI/CD? Have you developed software for Linux operating systems? Do you have experience designing or contributing to the architecture of complex, distributed systems? Have you contributed to software architecture governance, including adherence to architectural standards, design principles, and technical guardrails? Do you have experience building observability and operational readiness into applications through logging, monitoring, alerting, and production support practices? Have you worked on embedded, real-time, or distributed systems? Do you have experience and prefer working on an Agile team? Are yo