Description
We are seeking a Principal Software Engineer to join our team. As a Principal Software Engineer at Mastercard, you will play a key role in designing and developing large-scale distributed systems that serve millions and billions of transactions.
You will be responsible for leading the architecture and design of these systems, driving engineering decisions across multiple products, services, and business domains. You will also define long-term technology strategy, architecture standards, and platform roadmaps.
Key responsibilities include:
- Designing and developing highly available, fault-tolerant, and geographically distributed systems
- Solving complex consistency, replication, concurrency, caching, and data partitioning challenges
- Driving engineering decisions across multiple products, services, and business domains
- Defining long-term technology strategy, architecture standards, and platform roadmaps
- Evaluating trade-offs across scalability, resiliency, performance, security, maintainability, and cost
- Establishing engineering patterns, frameworks, and reference architectures for enterprise adoption
- Working on complex enterprise-wide initiatives spanning multiple services/programs and driving resolution
- Collaborating with business/product owners to architect and deliver on new services to introduce new products and bundles
- Taking ownership to improve the customer experience of an entire set of services/applications sold as products or bundled services
- Simplifying and improving the cost/benefit of a function/service/architecture strategy
- Applying judgment and experience to balance trade-offs between competing interests
- Venturing beyond comfort zone to take on assignments across different areas of Software Engineering
- Taking on organization-wide and public speaking engagements and publishing white papers and blogs on relevant and emerging technical topics
- Consulting across teams and across program lines to identify synergies and reuse opportunities
Required skills:
- Java (preferred)/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