Lead Software Engineer - C/C++, Unix/Linux, ARQC, ARPC, HSM
Mastercard
Mastercard
Join Mastercard, a global leader empowering economies across 200+ countries and territories. We are building a sustainable digital economy where everyone can prosper. Our secure, simple, and smart payment solutions leverage cutting-edge technology, partnerships, and extensive networks to help individuals, businesses, and governments reach their full potential.
We are seeking a Lead Software Engineer to drive innovation in our technology division. This role is crucial in shaping the future of the digital economy through revolutionary and inclusive technologies. You'll be part of a diverse and collaborative culture that celebrates individual strengths and offers flexibility for career growth across disciplines and continents.
As a Lead Software Engineer, you will spearhead the design, development, and leadership of high-performance, scalable, and secure enterprise applications. You will provide hands-on technical leadership, own architectural decisions, and foster cross-team collaboration to deliver mission-critical systems.
Key responsibilities include: - Leading complex problem-solving and driving architectural decisions. - Mentoring engineering teams and ensuring the delivery of high-quality software. - Designing and developing low-latency systems on Unix/Linux platforms using C/C++. - Owning end-to-end architecture for services, ensuring scalability and resiliency. - Introducing modern design patterns and best practices. - Leading design, development, testing, and deployment activities. - Writing efficient, maintainable, and secure C/C++ code. - Driving automation for build, test, and deployment pipelines. - Troubleshooting complex production issues to ensure system stability. - Architecting systems for high throughput, fault tolerance, and performance optimization. - Performing performance tuning, memory optimization, and multithreading enhancements. - Ensuring high system reliability and availability. - Collaborating with product, QA, and operations teams. - Driving design discussions and cross-functional decisions. - Coordinating with geographically distributed teams. - Mentoring developers and promoting best practices like code reviews and TDD. - Conducting technical interviews to build high-performing teams. - Leading post-incident reviews and continuous improvement initiatives.
We are looking for a Lead Software Engineer with strong C/C++ and Unix/Linux expertise. A solid background in cryptography within the payment cycle, including session key derivation, Triple DES, and AES, is essential.
Technical requirements include deep understanding of Thales or equivalent Payment Validation HSM modules and their commands. You should possess strong programming expertise in C and C++, with a profound understanding of Unix/Linux systems, shell scripting, and system internals. Experience with multithreading, memory management, performance tuning, socket programming, and IPC mechanisms is crucial.
Familiarity with data structures, algorithms, and design patterns is required. Experience with build tools (Make/CMake), debugging tools (gdb), gtest, and profiling tools is necessary. Proficiency with GitHub and GitHub Copilot, including their use with MCP servers, is expected.
Ideal candidates will have a Bachelor's or Master's degree in Computer Science, Engineering, or a related field, or equivalent experience. Experience with Agile methodologies, DevOps practices, and CI/CD pipelines is beneficial. A background in designing distributed systems or high-scale enterprise applications, coupled with exposure to security standards and payment systems, is highly desirable. Knowledge of Java or Python is a plus. Strong problem-solving skills, the ability to drive decisions, and excellent communication and stakeholder management are key.
MasterCard
Financial Services