Description
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
Principal Software Engineer Who 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. 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 Transfer Solutions 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.
The Role:
What's it all about and what we expect you to do day to day?
Technology leader who is hands-on & and can lead a team of engineers. Expected to spend 70% of time coding/on code related activities, and 30% coaching engineers on the team. This person is recognized as a team's authority and technical expert who drives innovation and organizational growth through their contributions.
· They get their adrenaline rush by coding away in IDEs. They spend majority of their time in writing non-feature code. They are hands all the time and collaborate by writing interfaces, tests (unit or acceptance) and architecture fitness functions, outside of meeting rooms. Tools like JDepend, ArchUnit, ADRs and NetArchTest make them feel at home.
· Domain driven design in their game. They code to enforce the contextual mappings and aggregates for each bounded context. They drive implementation of consumer driven contracts to allow for evolution and learning of the domain model with hyper speed while meeting our promises to other teams internally and customers alike.
· They are polyglot engineering gurus. they bring cutting edge engineering practices to life in multiple evolving frameworks – Feature flags, fitness functions and whatever is required to reduce the cost and increase the lifecycle value of next feature delivered by engineering teams.
· They love declarative paradigm and functional programming. No one can stop them from paying off technical debt and refactoring the code for better SDLC, performance and availability.
· Work on complex enterprise-wide initiatives spanning multiple services/programs and drives resolution
· Work with business/product owners to architect and deliver on new services to introduce new products and bundles
· Participate and contribute to team's agile process and decisions. Understand and contribute to Prioritization. Drive prioritization decisions and trade-offs in working with product partners
· Drive the architectural design, including dependent services, service interactions, and policies
· Contribute and lead Guild initiatives by engaging and mentoring Engineers at all levels to improve the craftsmanship of Software Engineering
· Simplify and improve the cost/benefit of a function/service/architecture strategy
· Venture beyond comfort zone to take on assignments across different areas of Software Engineering
· Take on organization-wide and public speaking engagements and publishes white papers and blogs on relevant and emerging technical topics
· Consult across teams and across organization lines to identify synergies and reuse opportunities
· Participate and contribute to Principal review architecture meetings and drive resolutions to enterprise-wide challenges and regulatory needs
· Write 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
All About You and What you need to bring:
· Expert in building highly resilient & scalable distributed systems. Has deep exposure to various database, messaging & caching technologies.
· Progressively grown career with proven design and development experiences in Java,,Springboot, Microservices, API, Distributed systems, event driven architecture, SQL, secure coding standards (e.g., OWASP, CWE, SEI CERT), and vulnerability management.
· Has an expert understanding and experience of DevOps best practices to guide developers and abstract application development from underlying hosting platforms and infrastructure. Infrastructure as code and cloud first software development knowledge experience preferred.
· Experienced in the skills required to implement advanced test set ups in production environment (e.g., A/B testing, canary releases, blue-green deployment, feature flags)
· Experience in Continuous Integration (CI) and Delivery (CD) concepts, and capabilities to support automation, pipelines, virtualization, and containerization
· Understands internals of operating systems (Windows, Linux, Mainframe) to write interoperable and performant code.
· Has skills to develop and evangelize on reference architecture and run principles to help teams adopt Engineering Principles from the start (poison pill, active/active/active, auto-scaling, self-healing, others)
· Understands use cases for advanced design patterns (e.g., service-to-worker, MVC, API gateway, intercepting filter, dependency injection, lazy loading, all from 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 engage engineers across Technology organization to promote standard software patterns and reuse of common libraries and services
· Has experience in leading and coaching teams to perform software planning and estimation for large scale complex programs
· Has skills to drive trade-off discussions to set right development capacity based on value drivers (e.g., regulatory, security, new business, market parity, technical debt)
· Has experience in design and execution of automation across multiple business areas and provides guidance on best methods and tools.
· Performance engineering experience to ensure applications are built to scale, run, and perform for varying demands
· Has skills to perform architecture and cost analysis for internal, hybrid, and public cloud environments
· Has skills to succinctly articulate architecture patterns of complex systems, with business and technical implications, to executive and customer stakeholders
· Has skills to define and drive advanced chaos and other operational testing practices to test points of failures, monitors, and system behaviors under adverse conditions (e.g., resource spikes, network congestion, component or infrastructure failure)
· Experienced in agile and modern SDLC practices (Scrum/Kanban/Continuous Delivery/DevOps/Quality engineering) and the delivery situations they are used for.
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