Director, Performance Engineering, Open VisaNet
- Bengaluru, Karnataka, India
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.
Visa is looking for a talented and versatile Engineering Director, 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. Senior Engineering Managers with significant experience in building cloud based platforms either in public or private cloud domains are preferred. We are looking for candidates who have strong technology foundation and previous hands on design/coding skills for this role. You must have background in building and managing highly engaged teams. You will be leading a world class software engineering team and will be responsible for designing, architecting and building state-of-the art highly distributed system software.
Selected candidate will be leading one of the most talented team of software engineers in Visa building its core payment engine and application delivery platforms. You will also have an opportunity to make a large impact across Visa as we re-architect its core payment platform. We build and support a variety of technologies that span multiple continents, deploying code dozens of times each day.
Lead a team of engineers that is:
- Accountable for creating application and infrastructure performance plans/models for a highly scalable, low-latency, highly-available and high-throughput payment processing system.
- Design and contribute to performance and resiliency testing and tuning of distributed components.
- Work with the architects and development team to ensure proper metrics instrumentation in software components, to help facilitate real time and remote troubleshooting/performance monitoring
- Evaluate, develop and execute load test tools to stress the limits of Visa’s most critical payment applications
- Understand and performance test the APIs, abstractions and integration patterns to solve challenging distributed computing problems
- Analyze performance and resiliency test results to fine tune component design and implementation
- Characterize end to end system performance from application to infrastructure to hardware
- Monitor application performance, optimize performance bottlenecks and usage to create an application capacity model
- Help optimizing system components such as CPU/Memory/Disk/Network & OS/Application software for maximum use of computer resources
- Understand the architecture of the Platforms or Tools, used by the applications.
- Troubleshoot Platform problems and understand Open Source code base as needed.
- 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
- Ensuring proper documentation and internal publishing of design tradeoffs, code best practices and lessons learned
- Support in triaging and troubleshooting of performance degradation related incidents in production environment
- Contribute to ongoing capacity planning and disaster recovery exercises
- Derive Performance KPIs as function of Traffic, Data Volume and Infrastructure and Platform Configuration.
- Derive application and platform availability model, considering failure scenarios, to achieve high availability.
- 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
- Good knowledge on Data Centers, and/or Cloud Infrastructures
- 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
- 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
- Bachelors or Master's Degree, preferably in Computer Science with 12+ years of experience
- People management experience working in agile software development
- Strong software product development background with a passion for building cloud based applications with high levels of reliability, availability and security
- Must be high impact individual with a technology background and the ability to engage in high bandwidth conversations with executives.
- Dynamic leader who has directly managed team of highly competent developers in fast paced work environment
- Very good understanding of Enterprise Application Lifecycle Management needs.
- Capable of forming and advocating independent viewpoint. Demonstrate strong skills influencing, negotiating and communicating.
- Significant experience building enterprise class applications using Java/J2EE technologies and/or GoLang stack
- Prior experience must include leadership role for mission-critical system applications supporting high transaction systems.
- Prior experience in adopting, deploying and scaling cloud technologies for large systems.
- Experience in technologies such as NoSQL
- Experience with distributed computing, microservices and high volume transaction processing is a big plus
- Experience with service orchestration frameworks such as Kubernetes, Docker Swarm, Nomad etc. is a plus
- Strong understanding of architecture patterns and operational characteristics of highly available and scalable applications.
- Excellent knowledge of core engineering best practices and passion to implement these across teams.
- Strong leadership qualities and organizational skills as well as the ability to adapt quickly to changing priorities.
- Excellent verbal, written, and presentation skills. In particular, a demonstrated ability to effectively communicate technical and business issues and solutions to multiple organizational levels internally and externally.
- Team player and passionate for building a culture of innovation and flawless execution. Technical hands on skills, ideally in multiple technology stacks for backend concurrent engineering, system software development and deployment on diverse platforms.
- Demonstrated ability to lead, recruit, grow and retain high-caliber talent at scale. Experienced organizing, running, supporting, and growing large technology organization.
Visa will consider for employment qualified applicants with criminal histories in a manner consistent with EEOC guidelines and applicable local law.