Description
We are seeking a Senior Software Engineer to join our team. As a Senior Software Engineer, you will be responsible for the analysis, design, development, and delivery of software solutions. You will define requirements for new applications and customizations, adhering to standards, processes, and best practices.
Responsibilities
- Participate in team prioritization discussions with Product/Business stakeholders
- Estimate and own delivery tasks to meet business requirements
- Automate build, operate, and run aspects of software
- Drive code/design/process trade-off discussions within the team
- Report status and manage risks within the primary application/service
- Drive integration of services focusing on customer journey and experience
- Perform demos/acceptance discussions with Product owners
- Understand operational and engineering experience, and actively work 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
- Mentor and guide new and less-experienced team members
- Identify opportunities to improve overall process and trim waste
Experiences
- Ability to write secure code in three or more languages (e.g., Java)
- Familiarity with secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerability management
- Understanding of basic engineering principles used in building and running mission-critical software capabilities
- Understanding of internals of operating systems (Windows, Linux) to write interoperable and performant code
- Ability to perform debugging and troubleshooting
- Understanding and implementation of standard branching (e.g., Gitflow) and peer review practices
- Skills in test-driven and behavior-driven development (TDD and BDD)
- Understanding of use cases for advanced design patterns
- Understanding and implementation of Application Programming Interface (API) standards and cataloging
- Skills to author test code with lots of smaller tests
- Apply tools and techniques to scan and measure code quality and anti-patterns
- Skills to collaborate with team and business stakeholders to estimate requirements and prioritize based on business value
- Skills to orchestrate release workflows and pipelines
- Skills to understand, report, and optimize delivery metrics
- Skills to document and drive definition-of-done for requirements
- Understanding of how to build robust tests to minimize defect leakage
- Skills to conduct product demos and coordinate with product owners
Corporate Security Responsibility
- Abide by Mastercard's security policies and practices
- Ensure confidentiality and integrity of information being accessed
- Report any suspected information security violation or breach
- Complete all periodic mandatory security trainings