Senior Staff Software Engineer
- Bengaluru, Karnataka, India
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 businesses around the world, enabling them to use digital currency instead of cash and checks. We are also global advocates for financial inclusion, working with partners around the world to help those who lack access to financial services join the global economy. Visa’s sponsorships, including the Olympics and FIFA™ World Cup, celebrate teamwork, diversity, and excellence throughout the world. 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.
The Merchant & Acquirer Processing team is going through a transformation to converge our enterprise and small business platforms; while maintaining our market leading position and strong brand reputation across these segments. As a Senior Staff Software Engineer, you will be integral part of this transformation and will be solving challenging business problems and build highly scalable and available applications. The candidates will be extensively involved in hands-on activities including technical evaluation, architecture, design, documentation, development and test of new functionality. Candidate must be flexible and willing to switch tasks based on team's needs.
Here are key job responsibilities –
- Define architecture, create solution documents, low level design, code, unit test and implement new programs as well as enhancements to existing software.
- Collaborate with business units and technical staff to define requirements/modifications in designing appropriate solutions.
- Take ownership and lead the engineering responsibility for multiple components in a project.
- Coordinate engineering activities across the delivery of the project and work with engineers to ensure they are delivering quality and efficiently against project requirements.
- Evaluate technical options and provide recommendation on scope and scale of effort required to develop end-to-end solutions.
- Lead and support both product and technical discussions about how to apply existing and new technology in support of the business.
- Provide technical mentoring to a team of talented engineers.
- Support and deliver resulting initiatives from business plan and technology strategy demonstrating re-use, architectural principles and use of innovative products.
- Suggest and cultivate ideas on the extension of the current systems to innovate new products and services.
- Understand positioning of the solution within the company and build consensus to effectively gain buy-in from all participants.
- Identify opportunities for further enhancements and refinements to standards, processes and systems.
- Bachelors Degree in Computer Science, Computer Engineering or related technical field required. Masters Degree or other advanced degree preferred.
- 13+ years of relevant experience with 3+ years of experience in technical leadership role.
- Strong understanding and working experience in Distributed Web Architecture – should have experience with service registry, container architecture, distributed caching, streaming apps, NoSQL and RDBMS.
- Hands-on understanding of architecture and operations of highly available and scalable web services
- Expertise with the Java 8 platform or higher, Spring, Vertx, Akka framework or similar
- Experience in building Microservices, specifically with HTTP, REST, JSON and XML.
- Experience in Advanced Java Script or Angular or React
- Sound understanding of Service and IT operations management and DevOps model, good knowledge of deployment and capacity planning
- Strong understanding of Enterprise Integrations using web services and REST
- Understand the Security requirements and standards and contemporary trends in Security risks as well as technologies
- Experience with agile development process
Nice to Have:
- Domain experience in Payment technologies
- Experience with Mobile computing and Mobile payment solutions
- Experience in Data Analytics and tools such as Hadoop, Spark etc.