Sr. Software Engineer (Performance & Chaos Engineering)
- Austin, TX, USA
Common Purpose, Uncommon Opportunity. Everyone at Visa works with one goal in mind – making sure that Visa is the best way to pay and be paid, for everyone everywhere. This is our global vision and the common purpose that unites the entire Visa team. As a global payments technology company, tech is at the heart of what we do: Our VisaNet network processes over 13,000 transactions per second for people and merchants around the world, enabling them to use digital currency instead of cash and checks. Our advanced technology are enabling merchants to accept payments online and in store with first-class reliability and security. If you have a passion to make a difference in the lives of people around the world, Visa offers an uncommon opportunity to build a strong, thriving career. Visa is fueled by our team of talented employees who continuously raise the bar on delivering the convenience and security of digital currency to people all over the world. Join our team and find out how Visa is everywhere you want to be.
Visa's Fraud and Authentication team is looking for curious, creative, and talented technologists to join our team.?
As a Senior Software Engineer, you will be part of our Enterprise Risk Solutions team to help create application and infrastructure performance plans/models for Fraud detection engine using the latest technologies. You will work with fellow Dev Ops, Release leads and Project Managers to design and implement Performance/Chaos test and integrate solutions with Continuous Integration and Continuous Delivery. Additionally, your responsibilities will include load testing of systems, products, applications, and services that provide VISA clients with solutions to detect, prevent, and mitigate fraud for VISA and VISA client payment systems. Some of the key attributes of the platform includes use of REST services API and Container based services that are highly functional, distributed, secure,scalable and resilient, low-latency using technology based on open standards. If you want to be in the exciting payment space, learn fast and make big impacts, VISA Fraud Platform group is an ideal place for you!
The candidate will serve as a technical specialist and work independently with guidance only in the most complex situations. Opportunities to grow your career here at Visa are limited only by your passion to learn, desire to gain expertise, and drive to excel in delivering high quality products and services.
You will be an integral part of the agile development team, and will be assigned a variety of tasks pertaining to design, build and test of software applications and services.This role is for an individual whose experience with software development forms a strong basis for designing automated test solutions that will ensure that we deliver high quality services.
- Minimum of 3-4 years of work experience with a Bachelor's Degree or MS in computer science or equivalent.
- Minimum of 3-4 years' hands-on experience in Performance Engineering areas.
- 1+ years of experience with Golang
- 2 years of experience with application monitoring tools
- 2+ years of experience with Docker and Kubernetes
- Expert knowledge in hardware, software, and distributed applications environments and solid understanding of their associated capacity and performance indicators
- Experience supporting and enabling application infrastructure that supports high availability/resiliency.
- Expert knowledge and strong experience using tools, Loadrunner/Jmeter,. etc. and understanding of APM solutions like Appdynamics, dynatrace, OPNET,. etc
- Hands on experience in Unix/Linux OS environments and operating system internals, file systems, disk/storage and networking protocols.
- Having working knowledge with VMs and Containers.
- Knowledge in programming languages like Java/Python and scripting languages.
- Experience in ORACLE/MYSQL DB tuning and optimization
- Knowledge of distributed database, distributed computing and high frequency transactions is a big plus.
- Knowledge and understanding of UMF, Druid and Flink.
- Working familiarity with the entire software development lifecycle including version control, build process, testing, and code release
- Effective verbal and written communication skills. Strong interpersonal, facilitation and leadership skills.
- Deeply self-motivated with the ability to work independently, coordinating activities within cross-regional and multi-functional teams.
- Previous experience with financial services or payments processing domain is a big plus.
- Experienced in using tools like chaos monkey, simian army, chaos toolkits.
- Accountable for creating application and infrastructure performance plans/models for a highly scalable, low-latency, highly-available and high-throughput payment processing system.
- Work with the architects and development team to ensure proper metrics instrumentation done 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, GRPC, abstractions and integration patterns to solve challenging distributed system problems.
- Defining Performance Strategy and reporting performance baselines required to certify Go-Lives. Should have strong experience in handling multiple tasks and stakeholders.
- Documenting the steps performed during course of performance tests cycle including performance test scripts used.
- Provide mentor support emphasizing performance testing methodology, preparation, scripting, execution planning, simulation and test results reporting.
- Drive end to end performance test activities.
- Work independently and be a team player.
- Actively contribute to capacity planning and disaster recovery exercises.
- Support in triaging and troubleshooting of issues related to performance degradation incidents in production environment
- 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 maximizing the computer resources utilization.
- Analyze complex problems in the application space relating to resilience
- Perform chaos testing on a distributed system in order to build confidence in the system's capability to withstand turbulent conditions in production.
- Develop automated chaos testing in pre-production systems
- Partner with development to identify anti-patterns and create fallback experiences to critical scenarios
This position will be performed in an office setting. The position will require the incumbent to sit and stand at a desk, communicate in person and by telephone, frequently operate standard office equipment, such as telephones and computers, reach with hands and arms, and bend or lift up to 25 pounds.
Visa will consider for employment qualified applicants with criminal histories in a manner consistent with EEOC guidelines and applicable local law.
Work hours :
Incumbent must make themselves available during core business hours.