Lead Software Engineer

Employer
Mastercard
Location
Vancouver, BC
Job Year Level
Graduated Undergrad
Graduated Masters
Graduated PhD
Job Type
Full Time

Our Purpose

We work to connect and power an inclusive, digital economy that benefits everyone, everywhere by making transactions safe, simple, smart and accessible. Using secure data and networks, partnerships and passion, our innovations and solutions help individuals, financial institutions, governments and businesses realize their greatest potential. Our decency quotient, or DQ, drives our culture and everything we do inside and outside of our company. We cultivate a culture of inclusion for all employees that respects their individual strengths, views, and experiences. We believe that our differences enable us to be a better team – one that makes better decisions, drives innovation and delivers better business results.

Overview:

Mastercard's Decision Management Platform seeks a Lead Software Engineer to join our team in our Vancouver office. As a Lead Engineer you will play a pivotal role in addressing complex challenges that often span multiple services. Your deep knowledge of Java will be put to work creating robust, efficient, and scalable software solutions. You will collaborate with cross-functional teams, participate in code reviews, and drive software quality.

The Decision Management program enables intelligent decision-based products through streaming analytics with the ability to govern these decisions and manage their outcomes with business agility. This program leverages business rules & AI engines, a streaming big data cluster, an in-memory data grids, APIs, & UIs to deliver real time decisions at global scale.

Role:

  • Take ownership of complex problems with dependencies across services and collaborate with cross-functional teams to drive timely resolution.
  • Write code to develop and enhance applications and services, emphasizing code reviews, scanning, and other development best practices.
  • Design, develop, and implement procedures and solutions at the service level, aligned with business requirements and enhancements.
  • Prioritize work in collaboration with product partners and make decisions to optimize results.
  • Identify opportunities and build roadmaps to enhance core services and functions.
  • Actively promote automation and simplicity across software delivery and development processes.
  • Ensure seamless integration across all connected services to meet end-user expectations.
  • Foster a blameless postmortems culture to identify root causes of incidents and implement preventive measures.
  • Advocate for engineering principles both within and beyond the current organization/platform.
  • Provide guidance in development and architecture to team members.
  • Establish effective partnerships and relationships across multiple organizations.
  • Write and evaluate recommendations for job promotions based on a fair and unbiased assessment of accomplishments.
  • Conduct technical interviews as part of the hiring process to elevate the performance standards.
  • Lead by example with hands-on approaches that demonstrate engineering excellence.
  • Encourage knowledge sharing and collaboration within your Guild/Program to drive the reuse of patterns, libraries, and best practices, enhancing overall productivity.
  • Create documentation such as high-level and detailed design documents.
  • Collaborate with architects to ensure alignment with architecture guidelines.
  • Apply best development practices to write well-designed, maintainable, testable, scalable, and secure code.

All About You:

  • Proficient programming skills with a deep understanding of Java, SQL, Linux, and load balancers.
  • Excellent knowledge of Spring and other relevant frameworks.
  • Solid expertise in unit testing and familiarity with mocking frameworks like JUnit, Mockito, or EasyMock.
  • In-depth knowledge of SQL, with hands-on experience creating complex and performant queries.
  • Proven track record in working with high-performance applications.
  • Capability to identify and analyze user requirements, clarify requirements with the team, and provide estimates.
  • Prioritization skills to assign and execute tasks throughout the software development lifecycle.
  • Experience leading project teams composed of engineers, operations professionals, and database developers, including mentoring, architecture design, project management, and feature breakdown into stories.
  • Strong problem diagnosis and creative problem-solving skills.
  • Effective organizational abilities, including the capacity to manage multiple tasks within business-driven constraints and timelines.
  • Ability to work collaboratively in a team-oriented environment.
  • Excellent communication and documentation skills.
  • Bachelor's degree in Computer Science, Software Engineering, or a related field

Desirable Skills:

  • Familiarity with IBM ILOG/ODM and Pivotal Gemfire Grid.
  • Knowledge of containerization technologies such as Docker and Kubernetes.

Please see the full job posting here.