Staff Software Engineer - Java
- Highlands Ranch, CO, USA
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 Staff Software Engineer will build, enhance and 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 and development of various features to modernize the payment processing solution leveraging Java, J2EE and other open source technologies such as Spring, MongoDB, Kafka, and Hadoop.
As a key member of the development team, the candidate should be comfortable with driving technical ideas and communicating clearly with technical as well as non-technical audiences.
Specific Responsibilities include:
Gather and analyze requirements from product owners
Design and develop highly scalable and fault-tolerant systems using Java, J2EE and open source technologies
Provide technical and architectural guidance for systems that are reliable, massively scalable, highly available (99.999% uptime), and maintainable.
Understand and adhere to SOA principles utilizing a REST based foundation.
Lead and mentor other team members
Foster development best practices within the team
Identify and 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 and developing complex Java and J2EE applications
Extensive experience in architecting and developing real-time multithreaded Java applications that are fault-tolerant, scalable and can handle high volumes
Deep understanding of SOA principles and Web Services technologies: REST & SOAP
Experience with back-end technologies such as J2EE, JDBC, JMS, Spring, Hibernate, JMX and MBeans
Experience in relational database usage with commercial-grade databases.
Working knowledge NoSQL DB such as MongoDB considered a plus
Expert in OO design and design patterns
Exceptional analytical and problem solving skills
Exceptional oral and written communication skills
Strong UNIX/Linux background
Experience with application containers such as Tomcat
Experience in creating automated unit testing using JUnit and practicing test driven development
Fluent with mocking in unit testing and 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/Gradle and continuous integration tools such as Jenkins or Bamboo
Fluent with developing applications using Eclipse or IntelliJ
Experience with performance tuning and 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 and applicable local law.