Company Description|Job Description
Common Purpose, Uncommon Opportunity. Everyone at Visa works with one goal in mind - making sure that Visa is the best way to pay & be paid, for everyone everywhere. This is our global vision & 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 & businesses around the world, enabling them to use digital currency instead of cash & 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 & FIFA World Cup, celebrate teamwork, diversity, & 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 & security of digital currency to people all over the world. Join our team & find out how Visa is everywhere you want to be.
The Staff Software Engineer will build, enhance & lead the team responsible for the transitioning mission critical payment processing solution from legacy architecture to J2EE architecture. This highly visible position will require design & development of various features to modernize the payment processing solution leveraging Java, J2EE & other open source technologies such as Spring, MongoDB, Kafka, & Hadoop.
As a key member of the development team, the candidate should be comfortable with driving technical ideas & communicating clearly with technical as well as non-technical audiences.
Specific Responsibilities include:
Gather & analyze requirements from product owners
Design & develop highly scalable & fault-tolerant systems using Java, J2EE & open source technologies
Provide technical & architectural guidance for systems that are reliable, massively scalable, highly available (99.999% uptime), & maintainable.
Understand & adhere to SOA principles utilizing a REST based foundation.
Lead & mentor other team members
Foster development best practices within the team
Identify & drive process improvements
Facilitate communication with cross-functional groups
BS or MS in Computer Science or related degree from an accredited university
5+ years of experience designing & developing complex Java & J2EE applications
Extensive experience in architecting & developing real-time multithreaded Java applications that are fault-tolerant, scalable & can handle high volumes
Deep understanding of SOA principles & Web Services technologies: REST & SOAP
Experience with back-end technologies such as J2EE, JDBC, JMS, Spring, Hibernate, JMX & MBeans
Experience in relational database usage with commercial-grade databases.
Working knowledge NoSQL DB such as MongoDB considered a plus
Expert in OO design & design patterns
Exceptional analytical & problem solving skills
Exceptional oral & written communication skills
Strong UNIX/Linux background
Experience with application containers such as Tomcat
Experience in creating automated unit testing using JUnit & practicing test driven development
Fluent with mocking in unit testing & working knowledge of mocking framework
Experience with deploying solutions to converged or virtualized infrastructure environments
Experience with Payment and/or Credit Card processing is considered a plus
Strong troubleshooting skills, especially in a production setting
Experience with build environment using Maven/Gradleand continuous integration tools such as Jenkins or Bamboo
Fluent with developing applications using Eclipse or IntelliJ
Experience with performance tuning & memory leak detection
Experience with integrating with third-party Web Services
Visa will consider for employment qualified applicants with criminal histories in a manner consistent with EEOC guidelines & applicable local law.