Staff Software Engineer (Java/Scala with Spark)
- 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.
You're an Individual. We're the team for you. Together, let's transform the way the world pays.
We are developing and executing a shared strategic vision for Business Solutions Data Services platforms and products that enable Visa to be the world-leading data-driven payments company. As a Staff Software Engineer, you will be part of a world-class team of Engineers to define, drive and execute on this vision. We are looking for a self-motivated individual with software engineering skills and expertise with Big Data systems integration and technologies. The candidate will be extensively involved in hands-on activities including POCs, design, development, testing, and documentation. Candidate must be flexible and willing to switch tasks based on team's needs.
- Design and develop mission-critical systems, delivering high-availability and performance.
- Work on development of new products and enhancements to existing systems iteratively by building quick POCs and converting ideas into real products
- Work closely with architects, business and technical stakeholders to develop high quality products and services that meet business requirements and expectations while applying the latest available tools and technology
- Instill best practices for software development, and deliver high quality work on tight schedules.
- Identify opportunities for further enhancements and refinements to standards and processes
- Mentor junior team members, develop departmental procedures and best practices standards
- Coordinate Continuous Integration activities, testing automation frameworks, and other related items in addition to contributing core product code
- Present technical solutions, capabilities, considerations, and features in business terms. Effectively communicate status, issues, and risks in a precise and timely manner
Bachelor degree in a technical field such as computer science, computer engineering or related field required. Advanced degree preferred
- Minimum of 8 years of software development experience (with a concentration in data centric initiatives), with demonstrated expertise in leveraging standard development best practice methodologies
- Minimum of 3 to 4 years of experience in building large-scale applications using open source technologies. Design and coding skills with Big Data technologies like Hadoop, Spark, Hive, HBase and Map Reduce
- Minimum of 4 years of hands-on expertise with Java or Scala
- Experience with highly distributed, scalable, concurrent and low latency systems working with one or more of the following database technologies: DB2, MySQL and NoSQL data warehouses such as HBase
- Deep knowledge of Unix/Linux
- Deep knowledge of all DW-related components (Sourcing, ETL, Data Modeling, Infrastructure, BI, Reporting, Data Visualization, Predictive Analytics) and multiple tools to support those components
- Strong foundation in computer science, with strong competencies in data structures, algorithms and software design optimized for building highly distributed and parallelized systems
- Experience with Agile & DevOps methodologies
- Excellent analytical and problem solving skills with a strong automation mindset
- Ability to handle multiple competing priorities in a fast-paced environment
- Good written and verbal communication skills. Ability to effectively communicate the logic and implementation plan to team members & managers
- Quick learner; self-starter, detailed and thorough
- Payment processing background is a big plus.