Skip to content

Software Engineer II
Company | Mastercard |
---|
Location | Atlanta, GA, USA |
---|
Salary | $92000 – $147000 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s, Master’s |
---|
Experience Level | Mid Level |
---|
Requirements
- Has ability to write secure code in three or more languages (e.g., Java, JavaScript, React/Angular, CSS, HTML).
- Familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT).
- Understands and implements standard branching (e.g., Gitflow) and peer review practices.
- Apply tools (e.g., Sonar, Zally, Checkmarx) and techniques to scan and measure code quality and anti-patterns as part of development activity.
- Understands and builds test code at unit level, service level, and integration level to ensure code and functional coverage.
- Understands the use of basic design patterns (e.g., factory, adaptor, singleton, composite, observer, strategy, inversion of control).
- Understands requirement analysis being essential part of delivering value to our customers and partners and participate in elaboration, prioritization, and effort estimation.
- Understands different SDLC practices (Waterfall/Scrum/Kanban/SAFe) and the delivery situations they are used for.
- Understands the basic engineering principles used in building and running mission critical software capabilities (security, customer experience, testing, operability, simplification, service-oriented architecture).
- Familiar with different application patterns to implement different types of business processes (e.g., APIs, event-driven-services, batch-services, web-applications, big data).
- Understands Continuous Integration (CI) and Delivery (CD) concepts, and capabilities to support automation, pipelines, virtualization, and containerization.
- Has ability to write code (in languages such as Java, Python, Ruby, Bash, Perl, Groovy) to build automation tasks that are repeatable and efficient.
- Understands functional and non-functional testing types to elaborate and estimate test efforts.
- Bachelor’s or Master’s degree in computer science or equivalent.
Responsibilities
- Own software delivery tasks (code development, test, deployment) at an application/software component level.
- Participate in team prioritization discussions with Product/Business stakeholders.
- Able to troubleshoot and refactor existing code.
- Adopt new languages and architecture patterns needed for the work.
- Influence the decisions made by the team.
- Assist peers and less experienced members.
- Demonstrate active learning and sharing of software practices via Guild/Engineering community initiatives.
- Assist in technical documentation of APIs and services being delivered.
Preferred Qualifications
No preferred qualifications provided.