Our Purpose
We work to connect and power an inclusive, digital economy that benefits everyone, everywhere by making transactions safe, simple, smart and accessible. Using secure data and networks, partnerships and passion, our innovations and solutions help individuals, financial institutions, governments and businesses realize their greatest potential. Our decency quotient, or DQ, drives our culture and everything we do inside and outside of our company. We cultivate a culture of inclusion for all employees that respects their individual strengths, views, and experiences. We believe that our differences enable us to be a better team – one that makes better decisions, drives innovation and delivers better business results.
Title and Summary
Lead Software EngineerOverview
• Responsible for the analysis, design, development and delivery of software solutions
• Defines requirements for new applications and customizations, adhering to standards, processes and best practices
Responsibilities
• Own complex problems having dependency across services and facilitate cross-functional team interactions to drive resolution
• Write code to build and enhance applications/services and promote code-reviews, code scanning, and other standard development practices to deliver high-quality artifacts to production.
• Define, design, and develop procedures and solutions at a service level to meet the business requirements/enhancements
• Drive prioritization decisions and trade-offs in working with product partners
• Identify opportunities and build roadmaps to enhance primary service/function
• Automate and simplify all aspects of software delivery and development actively evangelizing the need to automate and simplify where needed.
• Drive seamless integration across all connected services to meet end-user expectations
• Drive blameless postmortems culture to identify root causes of incidents and implement learnings
• Introduce new technologies and architecture by following enterprise guidelines
• Advocate for engineering principles outside of current organization/platform
• Provide development and architecture guidance to team members
• Build relationships and effective partnerships across organizations
• Write and evaluate recommendations for job promotions based on an unbiased view of one's accomplishments
• Conduct technical interviews for hiring engineering staff and raising the performance bar
• Lead by example with hands-on approaches to demonstrate engineering excellence
• Encourage staff to share and seek knowledge within their Guild/Program to drive reuse of patterns/libraries/practices and enhance productivity
Experiences
• Has the ability to write secure code in three or more languages (e.g., C, C+, C#, Java, JavaScript) and familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerabilities
• Has skills in building applications using open frameworks to achieve reuse and reduce development times (e.g., Spring Boot, Steeltoe, Angular, DXP, others)
• Understands internals of operating systems (Windows, Linux) to write interoperable and performant code
• Able to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errors
• Has skills to document and coach team on the development practices and coding guidelines (e.g., branching, peer reviews, library use, logging, scanning rules, test-driven development, error handling)
• Understands use cases for advanced design patterns (e.g., service-to-worker, MVC, API gateway, intercepting filter, dependency injection, lazy loading, all from the gang of four) to implement efficient code
• Has skills to undertake a technical review of code across applications and their dependencies to look for anti-patterns and promote continuous refactoring
• Understands and elaborates technical debt and operational issues to drive prioritization discussions with stakeholders to improve the run experience
• Understands system architecture to plan for platform and infrastructure capacity (e.g., database, compute, network, storage) and drives the dependency prioritization to reduce the delivery lead time
• Has skills to understand customer journeys and ensure a Mastercard good experience by continuously reducing Mean time to mitigate (MTTM) for incidents and ensuring high availability (99.95% as a starting point)
• Has skills to simplify deployment and eliminate software and infrastructure snowflakes using standardized platforms, ephemeral instances, and automation
• Has skills to orchestrate release workflows and pipelines and apply standardized pipelines via APIs to achieve CI and CD using industry-standard tools (e.g., Jenkins, Bamboo, AWS/Azure pipelines, XL Release, others)
• Able to configure rules and build automation for code with vulnerability scanning and software composition analysis using standard tools (e.g., Sonar, Checkmarx, Nexus, JFrog XRay, Veracode, others)
• Has skills to define, organize, and report on test runs for major, minor, and hotfix releases (including unit, component level, system level, customer journeys, past customer issues, and regulatory controls)
• Has skills to conduct various performance tests (e.g., load, spike, breakpoint, endurance) to Understands application/service limits and behaviors
Corporate Security Responsibility
All activities involving access to Mastercard assets, information, and networks comes with an inherent risk to the organization and, therefore, it is expected that every person working for, or on behalf of, Mastercard is responsible for information security and must:
Abide by Mastercard’s security policies and practices;
Ensure the confidentiality and integrity of the information being accessed;
Report any suspected information security violation or breach, and
Complete all periodic mandatory security trainings in accordance with Mastercard’s guidelines.