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 EngineerWho 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 the development of microservices-based Enterprise applications using the Java J2EE stack. Also, development of Portals which would be either used by customer care, end users, 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 projects 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 Manager-Technical to come up with 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 solutions Comply with organizations' processes, policies and protect the organizations Intellectual property. Also, participate in organization-level process improvement and knowledge sharingAll About You
Essential knowledge, skills & attributes
Hands-on experience and expertise in 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 expertise in 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 expertise in 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 applications & deploying them on any public cloud like Google, AWS, or 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 include strong logical and analytical skills, design skills, and an ability to articulate and present thoughts clearly and precisely in English (written and verbal) Knowledge of Design Patterns & experience applying them while doing low-level design Knowledge of Security concepts (E.g. authentication, authorization, confidentiality etc.) and protocols, their usage in enterprise applicationsAdditional/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, RallyCorporate Security Responsibility
All activities involving access to Mastercard assets, information, and networks come 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:
Locations
Vadodara, India