Posted in

Software Engineer II

Software Engineer II

CompanyMastercard
LocationAtlanta, GA, USA
Salary$92000 – $147000
TypeFull-Time
DegreesBachelor’s, Master’s
Experience LevelMid 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.