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
Software EngineerWho is Mastercard
Mastercard is a global technology company in the payments industry. We work to connect and power an inclusive, digital economy that benefits everyone, everywhere by making transactions safe, simple, smart and accessible.
Our mission is 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. With connections across more than 210 countries and territories, we are building a sustainable world that unlocks priceless possibilities for all.
Overview:
The Applications team was created to establish Mastercard as the frontrunner in the fast-evolving real-time payments space, and to position Mastercard to be able to incubate the development of new payment flows.
The team is responsible for designing, building, and operating the technology that powers Mastercard’s next generation payment applications – Domestic, Cross Border and Bill Payments.
Mastercard seeks to define a world beyond cash. To accelerate this mission, we are committed to building & scaling products & applications that transform payments of any type. Real time payment technology is central to this strategy.
• Do you like to be part of a team that is creating and executing strategic initiatives centered around digital payments?
• Do you look forward to developing and engaging with high performant diverse teams around the globe?
• Would you like to be part of a highly visible, strategically important global engineering organization?
The Role:
What’s it all about and what we expect you to do day to day
• Own software delivery tasks (code development, test, deployment, release, configuration and documentation) at an application/software component level
• Able to troubleshoot and refactor existing code for exceptional code quality.
• Adopt new languages and architecture patterns needed for the work.
• Participate and contribute to team’s agile process and decisions. Understand and contribute to Prioritization.
• Pull from backlog and deliver work after seeking guidance from experienced team members and in partnership with full scrum team.
• Automate build, operate, and run aspects of software
• Drive code/design/process trade-off discussions within their team when required
• Drive integration of services focusing on customer journey and experience
• Perform demos/acceptance discussions in interacting with Product owners
• Understands operational and engineering experience, actively works to improve experience and metrics in ownership area
• Develop complete understanding of end-to-end technical architecture and dependency systems.
• Drive adoption of technology standards and opinionated frameworks, and review coding, test, and automation work of team members
• Mentor and guide new and less-experienced team members
• Identify opportunities to improve an overall process and trim waste
• Share and seek knowledge within their Guild/Program to drive reuse of patterns/libraries/practices and enhance productivity
All About You and What you need to bring:
• Has ability to write secure code using Java application stack with spring boot
• Familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerability management
• Infrastructure as code and cloud first software development knowledge experience preferred.
• Understands and implements standard branching (e.g., Gitflow) and peer review practices. Move the team towards trunk based development
• Apply tools (e.g., Sonar, Zally, Checkmarx ) and techniques to scan and measure code quality and anti-patterns as part of development activity
• Has skills in test driven and behavior driven development (TDD and BDD) to build just enough code and collaborate on the desired functionality. Ability to keep the full testing pyramid healthy - Has skills to author test code with lots of smaller tests followed by few contract tests at service level and fewer journey tests at the integration level
• Understands the use of basic design patterns (e.g., factory, adaptor, singleton, composite, observer, strategy, inversion of control)
• 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
• Understands and implements Application Programming Interface (API) standards and cataloging to drive API/service adoption and commercialization and effort estimation
• Experienced in agile and modern SDLC practices (Scrum/Kanban/Continuous Delivery/DevOps/Quality engineering) and the delivery situations they are used for
• Has skills to elaborate and estimate non-functional requirements, including security (e.g., data protection, authentication, authorization), regulatory, and performance (SLAs, throughput, transactions per second)
• 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, AWS/Azure pipelines, XL Release, others).
• Familiar with different application patterns to implement different types of business processes (e.g., APIs, event-driven-services, batch-services, web-applications, big data)
• Experience in Continuous Integration (CI) and Delivery (CD) concepts, and capabilities to support automation, pipelines, virtualization, and containerization
• Has ability to write code (in languages such as Java, Python, Ruby, Bash, Perl, Groovy) to build automation tasks that are repeatable and efficient
• Able to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errors
• Has skills to conduct product demos and co-ordinate with product owners to drive product acceptance signoffs
• Has skills to Understands 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)
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.