Lead Software Engineer
Overview:
? 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. Team Overview: Transfer Solutions is responsible for driving Mastercard s expansion into new payment flows such as Disbursements & Remittances. The team is working on creating a market-leading money transfer proposition, Mastercard Move, to power the next generation of payments between people and businesses, whether money is moving domestically or across borders, by delivering the ability to pay and get paid with choice, transparency, and flexibility. The Product & Engineering teams within Transfer Solutions are responsible for designing, developing, launching, and maintaining products and services designed to capture these flows from a wide range of Customer segments. By addressing Customer pain points for domestic and cross-border transfers, the goal is to scale Mastercard s Disbursements & Remittances business, trebling volume over the next 4 years. If you would like to be part of a global, cross-functional team delivering a highly visible, strategically important initiative in an agile way, this role will be attractive to you. 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 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 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 Identify opportunities and build backlogs 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. Lead by example with hands-on approaches to demonstrate engineering excellence. Able to troubleshoot and refactor existing code for exceptional code quality. 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 ones accomplishments Conduct technical interviews for hiring engineering staff and raising the performance bar Experience working in cross-functional and large projects with globally dispersed development resources All About You and What you need to bring: Able to write secure code in three or more languages (e.g., Java, JavaScript, SQL) 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. 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 behaviour 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 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 sign-offs 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)