As a Senior Software Development Engineer at Mastercard, you are expected to perform the following general duties:
- 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
- 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 and actively works to improve experience and metrics in the ownership area
- Develop a 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
Bachelor or master's degree in Computer Science or equivalent
Qualifications
- Has the ability to write secure code in three or more languages (e.g., C, C+, C#, Java, JavaScript, TypeScript, SQL); familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerability management
- Intermediate knowledge of modern Web technologies, standards, and best practices.
- Experience with front-end frameworks like Angular, React and/or Vue.
- Able to apply DRY (Don't Repeat Yourself) principle to enable common library development for enterprise-wide reuse; possess skills in test-driven and behavior-driven development (TDD and BDD) to build just enough code and collaborate on the desired functionality; 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)
- Understand 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
- Has skills to collaborate with team and business stakeholders to estimate requirements (e.g., story pointing) and prioritize based on business value; understands work classification to determine software capitalization opportunities; 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 the ability to develop and document test strategy following Mastercard testing standards
- Actively seeks and participates in activities that stretch one's existing skillset and adds new and more difficult capabilities for team members.