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 Who is Mastercard?Mastercard is a global technology company in the payments industry. 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 MDES team is looking for a Lead, Software Development Engineer who can lead development of microservices based Enterprise applications using Java J2EE stack. Also, development of Portals which would be either used by customer care, end user, customer representatives etc.. The ideal candidate is the one who is passionate about driving engineering practices for a highly scalable, highly available enterprise grade payment application.
Role
Technically lead project both from client (Android & IOS) and server (i.e. Full stack) through all stages of the project life cycle, including requirement understanding, estimation, design, development, acceptance testing
Work closely with Architect & Product Manger-Technical to come up low level design
Develop critical components whenever required and create proof of concepts for new/unknown use cases/ideas
Conduct code reviews, is responsible for overall code quality, Coach and mentor less experienced team members
Write and review Design Documentation whenever required
Do SCM Operations – branching, merging, tagging, conflict resolution
Study upcoming technologies and identify how they can be used to improve existing solution
Comply with organizations processes. Policies and protects organization's Intellectual property. Also, participate in organization level process improvement and knowledge sharing
All About You
Essential knowledge, skills & attributes
Hands on experience and expert on working with core Java, Spring Boot, Spring (MVC, IOC, AOP, Security), SQL, RDBMS (Oracle and PostGRES), Web-services (REST(using JSON) & SOAP), Kafka, Zookeeper
Hands on experience and expert on working with Android technologies: Android SDK, SQLite, Kotlin, Jetpack compose, Dependency injection based on Hilt, Koin, Room DB, Firebase, Retrofit library, RxJava, Junit, Espresso
Hands on experience and expert on working with IOS technologies: Objective C, IOS Sdk, UI kit, Swift UI, Combine Framework, CoreData, Async Await, lint, format, R.Swift), Fastlane (CI/CD), MVVM architecture. Understanding of GCD (Grand Central Dispatch) and Operation Queues, ARC (Automatic Reference Counting)
Experience of profiling and optimizing performance both on server & Client (mobile)
Hands on experience of developing microservice application & deploying them on any one of the public cloud like Google, AWS, Azure
Hands on experience of using UML tools (MS Visio, PlantUML)
Hands on experience of writing Junit test cases, working with Maven/Ant/Gradle, GIT
Experience of working with Agile methodologies.
Personal attributes are strong logical and Analytical Skills, design skills, should be able to articulate and present his/her thoughts very clearly and precisely in English (written and verbal)
Knowledge of Design Patterns & experience of applying them while doing low level design
Knowledge of Security concepts (E.g. authentication, authorization, confidentiality etc.) and protocols, their usage in enterprise application
Additional/Desirable capabilities
Experience of working in Payments application Domain
Experience of working with NFC controller for Android
Experience of working with cross platform frameworks like Flutter or React Native
Hands on experience of working with tools like Jira, Jenkins, Confluence, Rally
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