Visa Java Software Engineer in London, United Kingdom
This position is an individual contributor role on the Issuer Processing Platform Development Team. The successful candidate will be part of a team to design and develop REST based APIs and perform unit and integration testing on newly developed components. Candidate will assist with troubleshooting and resolving defects during the software development life cycle. Candidate will interface directly with staff members of Development, Product Management, Project Management, and Quality Assurance. 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 * Understand and adhere to SOA principles utilizing a REST based foundation * Develop, document and implement new functionality, as well as enhancements, modifications, and corrections to existing software * Develop unit-tests and oversee execution * Create documentation and procedures for installation and maintenance * Build and maintain relationships with global and virtual teams on software development or support issues * Work as part of a development team and establish close working relationships with stakeholders, quality assurance, architects, as well as management * Identify opportunities for further enhancements and refinements to standards and processes * Prepare design documents; evaluate and recommend solutions to meet user requirements; define and implement solutions Essential Functions * Design and develop API based applications using Java, utilizing spring framework. * Design, develop, document and implement new functionality, as well as build enhancements, modifications, and corrections to existing software. * Develop TDD/BDD unit-tests and oversee execution. * Build and maintain relationships with global and virtual teams on software development or support issues. * Engage with Quality Assurance team members on defect triage and resolution. * Work as part of a development team and establish close working relationships with stake holders, quality assurance, architects, management and peers in engineering. * Identify opportunities for further enhancements and refinements to standards and processes. * Prepare design documents; evaluate and recommend solutions to meet user requirements; define and implement solutions. * Participate in the Agile process including stand-up meetings, sprint planning, reviews and retrospectives. Basic Qualifications • Minimum of Bachelor’s degree or equivalent Preferred Qualifications • Familiarity with Linux operating system administration • Some experience designing and developing Java and J2EE applications • Knowledgeable of common developer tool sets such as Java, XML, JSON, REST, Spring etc. • Ability to develop code that follows established coding guidelines. • Ability to develop test cases for the code written or based on requirements. • Service excellence and innovation; create opportunities; consistently think and act 'ahead of the curve.' • Quick learner; self-starter, detailed and thorough. • Working knowledge NoSQL DB considered a plus • Ability to think analytically and problem solving skills • Good oral and written communication skills • Some experience in creating unit testing using JUnit • Working knowledge of test driven development considered a plus Visa is an EEO Employer. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, sexual orientation, gender identity, disability or protected veteran status. Visa will also consider for employment qualified applicants with criminal histories in a manner consistent with EEOC guidelines and applicable local law.