Overview
Principal Software Engineer on the Switching Gateway team, which provides a single payment connection supporting Mastercard and non-Mastercard branded financial transactions. The role leads architecture and design of large-scale distributed systems and drives technical direction across products and services.
What you'll do
- Lead architecture and design of large-scale distributed systems serving millions and billions of transactions.
- Design and build shared common reusable libraries and components.
- Drive engineering decisions across multiple products, services, and business domains.
- Define long-term technology strategy, architecture standards, and platform roadmaps.
- Evaluate trade-offs across scalability, resiliency, performance, security, maintainability, and cost.
- Establish engineering patterns, frameworks, and reference architectures for enterprise adoption.
- Work on complex enterprise-wide initiatives spanning multiple services/programs and drive resolution.
- Work with business/product owners to architect and deliver new services, products and bundles.
- Drive the architectural design, including dependent services, service interactions, and policies.
- Take ownership to improve the customer experience of an entire set of services/applications sold as products or bundled services.
- Simplify and improve the cost/benefit of a function/service/architecture strategy.
- Apply judgment and experience to balance trade-offs between competing interests.
- Venture beyond comfort zone to take on assignments across different areas of Software Engineering.
- Take on organization-wide and public speaking engagements and publish white papers and blogs on relevant and emerging technical topics.
- Consult across teams and across program lines to identify synergies and reuse opportunities.
What you'll need
- Designed and developed highly available, fault-tolerant, and geographically distributed systems.
- Solved complex consistency, replication, concurrency, caching, and data partitioning challenges.
- Designed and developed systems capable of operating at massive scale with near-zero downtime.
- Driven an architecture review for critical applications and infrastructure platforms.
- Led capacity planning, performance engineering, and resiliency initiatives.
- Demonstrated mastery across the technology stack: programming language Java/Go; Layer 7 protocols (HTTP/REST/gRPC/API Gateway); messaging systems (Kafka, Pulsar, RabbitMQ, Solace); Kubernetes, Service Mesh and Microservices; databases (SQL/NoSQL/NewSQL/Datawarehouse); operating systems; networking (TCP/IP, DNS, Load Balancing); storage systems; compute, memory and I/O subsystems.
- Understand system behaviour from application requests through network, storage, and hardware layers.
Nice to have
- Java as the preferred programming language.
Details
Read the full description and apply on the company’s own careers page.