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 \- Java Backend
Overview
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
Experience
Overall career experience of 8\-13 years into Software Development
Profound experience developing scalable, high performing application real\-time and batch processing.
Design and Architecture patterns – APIs, event\-driven\-services, batch\-services, messaging systems
Programming – Java, REST API, Micro\-services, Spring boot, Spring Batch and Kafka
Cloud and DevOps Architecture – Kubernetes, Docker, Chef, Azure, AWS
Has ability to write secure code Java and familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerability management
Understands the basic engineering principles used in building and running mission critical software capabilities (security, customer experience, testing, operability, simplification, service\-oriented architecture)
Able to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errors
Understands and implements standard branching (e.g., Gitflow) and peer review practices
Responsibilities
Participate in team prioritization discussions with Product/Business stakeholders
Estimate and own delivery tasks (design, dev, test, deployment, configuration, documentation) to meet the business requirements
Automate build, operate, and run aspects of software
Drive code/design/process trade\-off discussions within their team when required
Report status and manage risks within their primary application/service
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
Qualifications
Education \& Experience
Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent experience).
Proven track record of coding for complex software systems at scale in a fast\-paced environment.
*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.
Has skills in test driven and behavior driven development (TDD and BDD) to build just enough code and collaborate on the desired functionality
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
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 (Test Pyramid concept)
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 to collaborate with team and business stakeholders to estimate requirements (e.g., story pointing) and prioritize based on business value
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).
Has skills to understand, report, and optimize delivery metrics to continuously improve upon them (e.g., velocity, throughput, lead time, defect leakage, burndown)
Has skills to document and drive definition\-of\-done for requirements to meet both business and operational needs
Understands how to build robust tests to minimize defect leakage by performing regression, performance, deployment verification, and release testing
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)
Share and seek knowledge within their Guild/Program to drive reuse of patterns/libraries/practices and enhance productivity