Description
Mastercard is seeking a Senior Software Engineer to join the Decision Management Program (DMP) team. The successful candidate will design, develop, test, deploy, and maintain complex backend software applications and services, with a strong focus on Java-based development.
The DMP delivers industry-leading intelligence that enables faster, smarter decisioning at global scale across the payment journey and beyond. The ideal candidate will have a strong technical expertise to solve nontrivial engineering problems, influence design decisions, and improve engineering practices while collaborating closely with product, operations, and other stakeholders.
Responsibilities:
- Own software delivery activities at the application or software-component level, including backend development, testing, deployment, release, configuration, and documentation.
- Design and develop scalable, secure, reliable, and maintainable Java-based applications, APIs, services, and backend components.
- Translate business and technical requirements into scalable, secure, reliable, and maintainable software designs.
- Develop high-quality Java software using appropriate algorithms, data structures, coding standards, and engineering best practices.
- Design, develop, and maintain automated unit, functional, integration, and regression tests to validate software functionality, service interactions, and code changes.
- Incorporate test automation and regression testing into the software development lifecycle to support code quality and reliable releases.
- Troubleshoot, diagnose, and refactor existing code to improve quality, maintainability, performance, and reliability.
- Apply secure coding practices throughout the software development lifecycle to identify and reduce application vulnerabilities.
- Adopt new programming languages, frameworks, and architecture patterns based on business and technical needs.
- Participate in the team’s agile processes, technical decisions, backlog refinement, and prioritization activities.
- Deliver prioritized backlog work in partnership with the full scrum team, seeking guidance when appropriate.
- Automate software build, testing, deployment, operational, and runtime processes.
- Lead code, design, and process trade-off discussions within the team when required.
- Drive the integration of backend services and APIs with a focus on the customer journey and overall experience.
- Perform product demonstrations and participate in acceptance discussions with Product Owners.
- Improve operational readiness by incorporating reliability, observability, monitoring, and measurable engineering practices into software solutions.
- Analyze and optimize applications and services for performance and scalability through testing, tuning, and ongoing evaluation.
- Develop a comprehensive understanding of end-to-end technical architecture, system interactions, and dependencies.
- Drive the adoption of technology standards and approved frameworks, and review the development, testing, design, and automation work of team members.
- Mentor and guide new and less-experienced team members through technical support, code reviews, and knowledge sharing.
- Identify opportunities to improve engineering processes, reduce waste, and increase team productivity.
- Share and seek knowledge within relevant Guilds and Programs to promote the reuse of patterns, libraries, tools, and practices.
Requirements:
- Strong experience developing backend applications and services using Java, with demonstrated proficiency building production-quality software.
- Strong understanding of Java development, backend software design, APIs, service-oriented architectures, algorithms, and data structures.
- Experience applying secure coding standards and developing scalable, maintainable software.
- Experience developing and maintaining automated unit, functional, integration, and regression testing as part of software development.
- Experience incorporating test automation into CI/CD and software delivery practices to improve quality and release reliability.
- Strong code-review skills, including the ability to identify quality, security, maintainability, and standards-compliance concerns.
- Experience troubleshooting complex application and system issues.
- Familiarity with performance engineering, performance tuning, automation, observability, and operational-readiness practices.
- Solid experience with software development processes and one or more Application Lifecycle Management tools.
- Success producing high-quality software designs, technical deliverables, and documentation.
- Demonstrated experience applying AI technologies or capabilities within a software engineering context.
- Proactive, detail-oriented, and able to operate independently in a fast-paced environment.
- Passion for continuous learning and solving challenging technical problems. Strong verbal and written communication, relationship-building, collaboration, and organizational skills.
- Strong commitment to the timely delivery of key objectives.
- Sound decision-making skills and a continuous-improvement mindset.
- Bachelor’s degree in Computer Science or a related technical field, or equivalent practical experience.
Benefits:
- Insurance (including medical, prescription drug, dental, vision, disability, life insurance)
- Flexible spending account and health savings account
- Paid leaves (including 16 weeks of new parent leave and up to 20 days of bereavement leave)
- 80 hours of Paid Sick and Safe Time
- 25 days of vacation time and 5 personal days, pro-rated based on date of hire
- 10 annual paid U.S. observed holidays
- 401k with a best-in-class company match
- Deferred compensation for eligible roles
- Fitness reimbursement or on-site fitness facilities
- Eligibility for tuition reimbursement