Description
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 Engineer (Full Stack) OverviewReal-Time Payments (RTP) offer immediate transfer and detailed messaging options for A2A (Account to Account) payments and are critical on Mastercard's journey for Multi-Rail Payments. Real Time Payments are categorized as Critical National Infrastructure for respective countries' and requires high benchmark of resilience, availability, quality, and scalability.
The Real Time Payments team is looking for a Lead Software Engineer with proven experience in leading a squad, including coaching and mentoring. Are you:
A self starter who is able to take understand and take control of code without much need for knowledge transfer/training.
Train and mentor a team of people without direct supervision and be a driver to implement best practices ensuring code quality.
An influencer who is able to get business objectives delivered without line management using informal ways and inpiring people within and outside of direct peers/teams.
Role
All staff at Mastercard are expected to demonstrate 'Mastercard Way' every day – create value for our customers, partners and colleagues; grow together to achieve our goals and move fast on what matters most for our customers and Mastercard.
As Lead Software Engineer, you will:
own complex problems having dependency across services and facilitate cross-functional team interactions to drive resolution.
be responsible for the analysis, design, development and delivery of software solutions.
write code to build and enhance applications/services and promote code-reviews, secure code, whilst adhering to standards and best practices resulting in the deliver high-quality artifacts through 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 technical 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.
promote a blameless postmortem 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.
architect monitoring, logging, and alerting to provide end-to-end observability.
encourage staff to participate, share and gain knowledge within their Guild/Program to drive reuse of patterns/libraries/practices and enhance productivity.
All About You
The ideal candidate for this position should have:
experience in working with fast paced, modern architecture using Java, Spring Boot, Oracle RDBMS, SQL, Flyway, Kafka or similar messaging technologies.
experience in UI technologies and practices using JavaScript, Typescript, React, etc.
experience in designing and implementing data models, data migration, and data streams.
experience working in cross-functional and large projects with globally dispersed engineering teams.
the ability to write secure code and be familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT) and the detection and remediation of security vulnerabilities.
the skills in building applications using opensource frameworks to achieve reuse and reduce development times (e.g., Spring Boot, React, others).
the ability to configure rules and build automation for code with vulnerability scanning and software composition analysis using standard tools (e.g., SonarQube, Checkmarx, JFrog XRay, Blackduck, others)
the skills to conduct various performance tests (e.g., load, spike, breakpoint, endurance) in order to assess if the design and implementation meets the non-functional requirements.
skills to document and coach team on the development best practices and coding guidelines (e.g., branching strategies, peer reviews, library use, logging, scanning rules, test-driven development, error handling).
proven history of designing enterprise-grade applications utilizing Domain Driven Design principles, microservices, event driven systems, 12 factor principles for cloud native applications, REST and GRPC API design, CAP Theorem, etc.
a good understanding of distributed systems design and implementation.
the ability to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errors.
the proficiency in Software Development Best Practices (TDD/BDD, Unit test, Continuous Integration and Delivery)
the 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, Ansible, others)
practitioner of automation/configuration management, deployment strategies (blue/green, canary, A/B testing, feature flags).
experience and comprehensive understanding of software/application observability (logging, tracing, metrics, etc), and health and liveliness features, which enable improved R&A and operational monitoring.
skills to undertake a technical review of code across applications and their dependencies to look for anti-patterns and promote continuous refactoring.
a passion for software engineering and technology
very good analytical and problem solving skills.
the desire to stay abreast of advances in software engineering practices, technologies, and tooling.
very good inter-personal skills and ability to work in a collaborative environment
effective communication and interpersonal skills, with an ability to express design ideas to a development team and senior management.
the ability to understand and elaborate technical debt and operational issues to drive prioritization discussions with stakeholders to improve the operational experience.
the ability to understand system architecture and be able to plan for application, platform, and infrastructure capacity (e.g., database, compute, network, storage) and drives the dependency prioritization to reduce the delivery lead time
the skills to simplify deployment and eliminate software snowflakes using standardized platforms, ephemeral instances, and automation.
the 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).
the ability to practice sustainable incident response and blameless postmortems.
Nice to have:
Experience in building and maintaining critical national infrastructure.
Experience working in payments industry.
Good understanding of private and public cloud eco systems.
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.
Apply on company website