Staff Software Engineer
- 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 platform - enabling individuals, businesses, and economies to thrive.
Cross-border remittances and new business models (e.g., gig economy) require the ability to deploy rapid, frequent payouts. We are building a Technology Platform that will enable fast and ubiquitous push payments across a range of domestic and cross border use cases aiming to capture significant revenue opportunity across P2P, B2SB, and B2C flows and value-added services. Built on the latest standards/tech stack and providing open APIs, this platform will help drive innovation in the entire ecosystem.
We value creative and driven individuals who love to own their products, and design and implement solutions that create a seamless experience for consumers and clients. Our developers work across the stack, and are experts in service oriented architectures and technologies such as Java 8, J2EE, Spring, Oracle, MongoDB, React JS, Cassandra, Hazelcast, Kafka, Kubernetes and Docker
As we embark on the journey to build this platform, we are looking for a Staff Software Engineer who can participate in the detailed design and development activities for this product build.
The role involves extensive hands-on activities. Here are key job responsibilities –
- Manage and mentor a team of talented engineers.
- Collaborate with business units and technical staff globally to define requirements.
- Evaluate technical options and provide recommendation on scope and scale of effort required to develop an end-to-end solution.
- Take ownership and lead the engineering responsibility for multiple components of the platform.
- Actively participate in defining architecture and creating solution documents; consistently be hands-on with low level design, code review, coding and unit testing activities.
- Coordinate engineering activities across the delivery of the project and work with engineers to ensure they are delivering efficiently and to high quality standards.
- Ability to identify and manage risks at all stages of the project. Co-ordinate and influence business and technology partners spread across different regions to mitigate these risks.
- Support and deliver initiatives resulting from business planning and technology strategy, demonstrate architectural principles, reuse and be innovative.
- Build a culture of engineering excellence within the team; drive adoption of practices like continuous integration, security, code reviews, code coverage, code quality and shift left practices.
- Identify opportunities for further enhancements and refinements to standards, processes and systems.
- You have a Bachelor degree in Computer Science or related field and 7+ years of Software Development Experience or a Masters with 6+ years of Software Development Experience.
- You have a proven track record of having led and delivered complex projects where complexity is a function of a combination of these factors – domain knowledge, distributed architecture, technical stack, influencing and collaborating with multiple technology partners and business partners
- You have proven experience as a technical leader with ability to understand the requirements and independently, architect, design and build the high quality large scale enterprise class applications.
- You have proven experience of managing an engineering team of 6-8 people
- You are a Java expert (core Java, memory management, concurrency, functional programming) and you have experience with REST APIs, JSON and exposure to container based technologies.
- You have strong experience with Agile development incorporating Continuous Integration and Continuous Delivery, utilizing technologies such as GIT, Maven, Jenkins, Triton, Chef, Sonar, Clover, JUnit, Mockito.
- You have strong experience with shift left practices.
- You have experience with performance testing your applications.
- Understand and own component security analysis, including code and data flow review. Collaborate with security team to implement and verify secure coding techniques.
- You have the passion to work with people and help mentor your team to reach new heights.