Visa is a world leader in digital payments, facilitating more than 215 billion payments transactions between consumers, merchants, financial institutions and government entities across more than 200 countries and territories each year. Our mission is to connect the world through the most innovative, convenient, reliable and secure payments network, enabling individuals, businesses and economies to thrive.
When you join Visa, you join a culture of purpose and belonging - where your growth is priority, your identity is embraced, and the work you do matters. We believe that economies that include everyone everywhere, uplift everyone everywhere. Your work will have a direct impact on billions of people around the world - helping unlock financial access to enable the future of money movement.
Join Visa: A Network Working for Everyone.
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. Building Open VisaNet will involve collaboration with exceptional group of software engineers, security specialists, DevOps engineers, test automation engineers, designers, payment experts and infrastructure architects.
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, Apache Kafka, Docker, Kubernetes etc.
We believe that great design has the ability to engage and inspire users and we strive to rethink and redefine how users interact with our applications and products.
We are looking for candidates with experience in software design, development and testing. You are a team player, making sure that everyone in the team feels valued and is excited to work with you. The successful candidate should be a quick learner, be responsible for solving complex problems and taking a broad perspective to identify innovative solutions. As a Senior Software Engineer, you should have strong analytical and problem solving skills, good time management skills, collaborate and communicate effectively with team members, and work closely with peer groups team to identify new scope of work and undertake initiatives.
All in all, you are a motivated personality who is able to proactively identify ways to add value to the team, even when those may not be spelled out, you are flexible and willing to switch tasks based on team's needs. No matter the challenge, you know you can find a solution and encourage others to think the same. You recognize when to ask for help and when to collaborate with others and work across departments. You are team-oriented having strong work ethics with an innate desire to take up ownership and drive initiatives.
Responsibilities include :
• Participate in design discussions and implementation of highly scalable and fault-tolerant distributed components using functional programming paradigm, APIs, abstractions and integration patterns to solve challenging distributed computing problems.
• Help converting business requirements into technical requirements and design, and develop system acceptance criteria, functional test plans with a focus on coverage, performance and automation.
• Collaborate with the multiple teams across Development, Operation & Infrastructure, Product to analyze, debug and resolve design and code issues. Support cross-functional teams in integrated test efforts.
• Identify process improvements, error trends and/or the root causes and make recommendations for remedies to colleagues and management.
• Contribute to efficient development process pipeline by leveraging best-in-class CI/CD tools.
• Participate in cross-group and internal customer feature demos. Document process, designs, test results, and analysis.
• Help develop and execute chaos test suite for business services as well as infrastructure
Perform quality assurance testing inclusive of unit, systems, integration and regression testing, and support development of test automation
Coordinate and support integration, end-to-end testing with peer Test Engineering groups to ensure seamless code releases.
Ensure delivery of a high quality product meeting all requirements within the scheduled timeframe
Collaborate closely with the development team to analyze, debug and resolve any application issues
Develop innovative approaches to accommodate tight schedules and resource constraints using test automation.
Build and implement scalable, reusable test automation frameworks.
This is a hybrid position. Hybrid employees can alternate time between both remote and office. Employees in hybrid roles are expected to work from the office two days a week, Tuesdays and Wednesdays with a general guidepost of being in the office 50% of the time based on business needs.
Qualifications • BS or MS in computer science, computer engineering or relevant field. • 4-7 years of experience in software development lifecycle. • Extraordinary software engineering talent. • Good programming skills and experience with at least any one these programming languages - C, C++, Java, Go, Scala • Demonstrated ability to work well with a globally distributed team in a high performance organization • Proactive, willing to take ownership, ability to quickly learn new technologies and take up new tasks and initiatives • Should have excellent problem solving, analytical and technical troubleshooting skills. • Demonstrated proficiency in troubleshooting, root-cause analysis, application design, and implementing large components for enterprise projects • Experience in system automation using framework such as Cucumber • Knowledge of functional programming languages like Go, Scala or the ability to learn them quickly is a big plus • Experience with distributed database, distributed computing and high frequency transactions is a big plus. • Experience working with NoSQL databases like Cassandra, MongoDB, MySQL • Experience working on Kubernetes Containerized infrastructure is a big plus • Working familiarity with the entire software development lifecycle including version control, build process, testing, and code release. • Experience with development, build, testing and continuous integration tools. • Effective verbal and written communication skills. • Thrive in self-motivated internal-innovation driven environment.
Nice to have : • Exposure to Test Driven Development • Experience in validating and benchmarking high frequency transactions • Exposure to Micro Services based architecture • Knowledge of Payment Processing systems, GoLang, Erlang, Cucumber • Knowledge of ISO 8583, SOAP, XML messaging, REST, JSON • Exposure to CI/CD / Code Coverage / Static Code analysis Tools • Exposure using Frontend/Backend development frameworks AngularJS, ReactJS, Node.js • Experience in chaos testing is a plus • Exposure to open source Performance benchmarking tools • Exposure to Visualisation Tools - Tableau, Google Analytics
Additional Information Visa has adopted a COVID-19 vaccination policy. As a condition of employment, all employees based in the country where this job is located are required to be fully vaccinated for COVID-19, unless a reasonable accommodation is approved or as otherwise required by law.
Videos To Watch https://www.youtube.com/watch?v=cjgSm9UCNG0