Description
Mastercard's Fraud Products team develops capabilities for the Decision Management Platform, which supports solutions designed to combat fraud and validate cardholder identity.
As a Software Engineer II, you will develop, test, deploy, and support applications and services within this platform.
Responsibilities
- Design, build, test, deploy, and maintain Java-based applications and services.
- Translate business and technical requirements into maintainable software solutions.
- Apply data structures and programming concepts to support efficient system performance.
- Integrate vendor and open-source technologies into existing systems.
- Contribute to Agile discovery, planning, development, and delivery activities.
Design & Architecture
- Develop software designs that address functional, performance, security, and operational requirements.
- Apply established architectural patterns and standards when building distributed applications.
- Partner with technical leads to understand system interactions, dependencies, and design decisions.
- Support high-performance, highly available transaction-processing solutions.
Quality & Secure Engineering
- Create and maintain unit, functional, and integration tests.
- Apply secure coding practices throughout the software development lifecycle.
- Participate in code reviews to improve readability, maintainability, and adherence to engineering standards.
- Identify and resolve defects before they affect production systems.
Performance & Operational Excellence
- Analyze and optimize application performance, scalability, and reliability.
- Troubleshoot technical issues and support the resolution of production incidents and problem tickets.
- Contribute to monitoring, observability, alerting, and operational readiness.
- Develop an understanding of application runtime behavior, dependencies, infrastructure, and support requirements.
Collaboration
- Partner with engineers, technical leads, Product, Architecture, and other cross-functional teams.
- Communicate effectively within a globally distributed environment.
- Share technical knowledge and contribute to continuous improvement.
- Demonstrate ownership, initiative, and accountability for assigned work.
Required Qualifications
- Bachelor's degree in Computer Science, Engineering, Information Technology, Information Systems, or a related field, or equivalent practical experience.
- Software development experience using Core Java, including multithreading.
- Knowledge of Java/J2EE, Spring Framework, and Spring Boot.
- Experience writing unit, functional, and integration tests.
- Understanding of software design principles, architectural patterns, and distributed systems.
- Ability to apply secure coding practices and participate in code reviews.
- Knowledge of data structures and their application to software development.
- Experience troubleshooting applications and supporting production issues.
- Familiarity with performance testing, monitoring, analysis, or system optimization.
- Understanding of observability and operational support practices.
- Experience with Oracle, PL/SQL, and advanced SQL scripting.
- Knowledge of Agile development practices and test-driven development.
- Ability to work independently on routine and moderately complex assignments, seeking guidance when addressing unfamiliar or highly complex situations.
- Strong communication, collaboration, organizational, and problem-solving skills.
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
- 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