Staff Performance Engineer, Open VisaNet

  • Full-time
  • Job Family Group: Technology and Operations

Company Description

As the world's leader in digital payments technology, Visa's mission is to connect the world through the most creative, reliable and secure payment network - enabling individuals, businesses, and economies to thrive. Our advanced global processing network, VisaNet, provides secure and reliable payments around the world, and is capable of handling more than 65,000 transaction messages a second. The company's dedication to innovation drives the rapid growth of connected commerce on any device, and fuels the dream of a cashless future for everyone, everywhere. As the world moves from analog to digital, Visa is applying our brand, products, people, network and scale to reshape the future of commerce.

At Visa, your individuality fits right in. Working here gives you an opportunity to impact the world, invest in your career growth, and be part of an inclusive and diverse workplace. We are a global team of disruptors, trailblazers, innovators and risk-takers who are helping drive economic growth in even the most remote parts of the world, creatively moving the industry forward, and doing meaningful work that brings financial literacy and digital commerce to millions of unbanked and underserved consumers.

Open VisaNet, is the Next Generation VisaNet, will push the envelope of building highly scalable, secure, cost effective and distributed application on commodity hardware using best-in-class technology components. Open VisaNet is one of Visa's Key initiative that will help Visa support in-country processing solutions and provide Visa an opportunity to move away from Proprietary Mainframe type systems. It is built as a modern distributed architecture based on micro services with goals of five 9’s availability, fault tolerance, horizontal scalability and real time latency for largest scale transaction processing. Open VisaNet leverages state of the art Open Software technologies to achieve these goals on commodity hardware, such as Go, Scala, Apache Kafka, Apache Spark, Docker, Kubernetes, Aerospike, Elasticsearch etc. and involves collaboration with exceptional group of software engineers, systems performance engineers, security specialists, DevOps engineers, payment experts, infrastructure and solution architects.

Job Description

 

Visa is looking for Staff Performance Engineers, who will help build Open VisaNet, Visa's Next generation payment processing platform developed on Open Systems, that would fuel growth in electronic payments globally and drive financial inclusion in many parts of the world. Open VisaNet, is the Next Generation VisaNet, will push the envelope of building highly scalable, secure, cost effective and distributed application on commodity hardware using best-in-class technology components. Open VisaNet is one of Visa's Key initiative that will help Visa support in-country processing solutions and provide Visa an opportunity to move away from Proprietary Mainframe type systems. It is built as a modern distributed architecture based on micro services with goals of five 9’s availability, fault tolerance, horizontal scalability and real time latency for largest scale transaction processing. Open VisaNet leverages state of the art Open Software technologies to achieve these goals on commodity hardware, such as Golang, Scala, Apache Kafka, Apache Spark, Docker, Kubernetes, Aerospike, Elasticsearch etc. and involves collaboration with exceptional group of software engineers, systems performance engineers, security specialists, DevOps engineers, payment experts, infrastructure and solution architects.

Responsibilities:

  • Accountable for creating application and infrastructure performance plans/models for a highly scalable, low-latency, highly-available and high-throughput payment processing system
  • Understand and own component level performance engineering activities, including code review and data flow review
  • Accountable for conducting performance tuning POCs with application code in the performance lab environment
  • Design and contribute to performance and resiliency testing and tuning of distributed components.
  • Coordinate with the Dev / QE / Support / PM teams to review and document requirements.
  • Evaluate, develop and execute load test tools to simulate workload limits of Visa’s most critical payment applications
  • Design and conduct tests with complex workloads and data shapes to expose potential bottlenecks and failure points.
  • Perform root cause analysis for the issues identified.
  • Analyze metrics and trends to glean opportunities for performance improvements of the application.
  • Experiment with ways to eliminate issues and present corrective actions, conduct session with developers and architects on the corrections/techniques suggested.
  • Oversee system performance lifecycle and identify key metrics for performance improvements.
  • Generate periodic performance engineering reports for architects, developers and PMs to review.
  • Conduct technical presentations to enable teams on how to improve system and application performance.
  • Innovate solutions to improve performance engineering effectiveness.
  • Design and contribute to performance tuning, scalability, reliability and high availability of fault-tolerant distributed components
  • Ensuring proper documentation and internal publishing of design tradeoffs, code best practices and lessons learned
  • Support in triaging and troubleshooting of highly distributed services in production environment
  • Design and develop Performance Engineering aide like profiles, traces or any observability framework
  • Design and develop Performance best practices and influence non-functional requirements at early stages
  • Work closely with application development teams to provide technical direction to improve application performance

Qualifications

  • Extraordinary software engineering talent
  • Minimum of 6 years’ hands-on experience in Performance Engineering role
  • Effective verbal and written communication skills
  • BS or MS in Computer Science or related degree from recognized university
  • Previous experience with financial services or payments processing domain is a big plus
  • Deep Understanding of Performance KPIs and their tradeoffs and patterns
  • Performance Modelling capability based on Performance Test Numbers for a predefined application Non Functional Requirement
  • Understanding of Microservices/CGROUP and Namespaces in Linux
  • Deep Understanding of Linux Memory management
  • Deep Understanding of IO Subsystem (IO subsystem layers, Type of IOs, Caching, Filesystems, RAID)
  • Understanding of Compute subsystem with in-depth knowledge of scheduling of process, thread and goroutines/LWT
  • Understanding of process state, context switches, system calls
  • Understanding of NW layers – protocols, flow control and congestion control
  • Some knowledge on Data Center
  • Knowledge of at least one language - GoLang, Python or Java. Should be able to code independently
  • Ability to build Cost Profile for Application based on test results[CPU, Memory, IO and Network]
  • Ability to profile CPU and Memory consumptions or raw dumps. Familiarity with traces, thread dumps, debug log
  • Create performance test strategy and test cases
  • Design Chaos test case scenarios and formulate test strategy by identifying failure points

Additional Skillsets

  • Deep understanding of Docker and Kubernetes is a plus
  • Deep understanding of Kafka is a plus
  • Deep understanding of Relational Database is a plus
  • Deep understanding of any NoSQL Database is a plus

Additional Information

Visa will consider for employment qualified applicants with criminal histories in a manner consistent with EEOC guidelines and applicable local law.

Privacy Policy