Senior Software Engineer
Mastercard
Mastercard
Mastercard is a global leader powering economies and empowering individuals across more than 200 countries and territories. We are committed to fostering a sustainable economy where everyone can thrive.
Our technology, innovation, and partnerships converge to deliver exceptional products and services, enabling individuals, businesses, and governments to achieve their full potential through secure, simple, smart, and accessible digital payment solutions.
As a Senior Software Engineer, you will be instrumental in the entire software development lifecycle, from initial analysis and design to development and successful delivery.
Key duties include defining requirements for new applications and customizations while strictly adhering to established standards, processes, and best practices. You will actively participate in team prioritization discussions with product and business stakeholders, taking ownership of delivery tasks including design, development, testing, deployment, configuration, and documentation to meet business needs. Automating build, operate, and run aspects of software, driving code and design trade-off discussions, and reporting status while managing risks within your application or service are also core responsibilities. You'll also drive service integrations with a focus on customer journeys and experience, and conduct demos and acceptance discussions with product owners.
We are seeking experienced engineers proficient in writing secure code in at least three programming languages, such as Java, and well-versed in secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerability management.
A strong understanding of fundamental engineering principles for building and operating mission-critical software is essential, covering security, customer experience, testing, operability, simplification, and service-oriented architecture. Familiarity with operating system internals (Windows, Linux) is required for writing interoperable and performant code. Proficiency in debugging and troubleshooting complex issues, including analyzing core, heap, and thread dumps, is expected. Experience with standard branching strategies like Gitflow and peer review practices is also necessary.
Skills in Test-Driven Development (TDD) and Behavior-Driven Development (BDD) are crucial for efficient coding and collaborative functionality development. You should understand and apply advanced design patterns (e.g., service-to-worker, MVC, API gateway) and implement Application Programming Interface (API) standards for service adoption. The ability to author comprehensive test code, following the Test Pyramid concept, is vital. Experience with code quality tools (e.g., Sonar, Zally, Checkmarx) and techniques for scanning and measuring code quality is required.
Collaboration with team members and business stakeholders to estimate requirements and prioritize based on business value is expected. You must be skilled in elaborating and estimating non-functional requirements, including security, regulatory, and performance aspects. Experience orchestrating release workflows and pipelines for CI/CD using industry-standard tools (e.g., Jenkins, AWS/Azure pipelines) is a must. The capacity to understand, report, and optimize delivery metrics for continuous improvement, along with documenting and driving 'definition-of-done' for requirements, is essential.
Furthermore, you should be adept at building robust tests to minimize defect leakage through regression, performance, deployment verification, and release testing. Conducting product demos and coordinating with product owners for acceptance signoffs are key. A deep understanding of customer journeys and a commitment to ensuring a positive Mastercard experience by reducing Mean Time To Mitigate (MTTM) for incidents, while maintaining high availability, are paramount. This role also involves mentoring and guiding less experienced team members and identifying opportunities for process improvement.
MasterCard
Financial Services