Senior Software Engineer
Mastercard
- Navi Mumbai, Maharashtra
- Permanent
- Full-time
- Responsible for the analysis, design, development and delivery of software solutions
- Defines requirements for new applications and customizations, adhering to standards, processes and best practices
- Participate in team prioritization discussions with Product/Business stakeholders
- Estimate and own delivery tasks (design, dev, test, deployment, configuration, documentation) to meet the business requirements
- Automate build, operate, and run aspects of software
- Drive code/design/process trade-off discussions within their team when required
- Report status and manage risks within their primary application/service
- Drive integration of services focusing on customer journey and experience
- Perform demos/acceptance discussions in interacting with Product owners
- Understands operational and engineering experience, actively works to improve experience and metrics in ownership area
- Develop complete understanding of end-to-end technical architecture and dependency systems
- Drive adoption of technology standards and opinionated frameworks, and review coding, test, and automation work of team members
- Mentor and guide new and less-experienced team members
- Identify opportunities to improve an overall process and trim waste
- Share and seek knowledge within their Guild/Program to drive reuse of patterns/libraries/practices and enhance productivity
- Has ability to write secure code in two or more languages (Java mandatory) and familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT)
- Understands the basic engineering principles used in building and running mission critical software capabilities (security, customer experience, testing, operability, simplification, service-oriented architecture)
- Understands internals of operating systems (Windows, Linux) to write interoperable and performant code
- Able to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errors
- Understands and implements standard branching (e.g., Gitflow) and peer review practices
- Has skills in test driven and behavior driven development (TDD and BDD) to build just enough code and collaborate on the desired functionality
- Understands use cases for advanced design patterns to implement efficient code
- Understands and implements Application Programming Interface (API) standards and cataloging to drive API/service adoption and commercialization
- 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 (Test Pyramid concept)
- 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 to collaborate with team and business stakeholders to estimate requirements (e.g., story pointing) and prioritize based on business value
- 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).
- Has skills to understand, report, and optimize delivery metrics to continuously improve upon them (e.g., velocity, throughput, lead time, defect leakage, burndown)
- Has skills to document and drive definition-of-done for requirements to meet both business and operational needs
- Understands how to build robust tests to minimize defect leakage by performing regression, performance, deployment verification, and release testing
- Has skills to conduct product demos and co-ordinate with product owners to drive product acceptance signoffs
- 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)