Job Title: Java Developer (Card Payment Solutions)
Full/Part Time: Full Time
Our client a successful, fast growing, innovative software company, based in Hertfordshire, providing systems to leading UK, European, Asian, and North American retailers. Our client drives the instore, mobile, and online channels that make up a modern retail organisation.
Our client offers hosted card payment services to retailers, for both in-store and e-commerce channels. Payment application development includes card acceptance systems at the POS, and cloud-based payment services. Developers can expect to work on end-to-end solutions encompassing payment application integration with card readers and cloud-based services integrated with banking systems.
Our client offers a unique, process-based development toolset as part of their application suites. Using the toolset, business events and actions are understood and managed as processes across the enterprise - represented visually. Our smart design tools and reusable function libraries mean that our customers can enhance the product using a drag-and-drop interface. As an in-house developer you will be required to develop the application using our design tools, alongside traditional java, web, and database development.
We are looking for someone to start immediately to work within an experienced team of Java developers on card payment solutions. Projects will include phone and hand held development, Java clients, web applications including React and Rest web services all driven with our own process based development platform.
Ideal candidates will have previous development experience in card payment systems, with knowledge of in-store and e-commerce technologies. Candidates should be comfortable working with low-level socket-based programming; candidates should be equally comfortable working with web service integrations. Knowledge of low-level payment integration protocols such as ISO 7816, and payment web service standards such as 3D Secure is highly desirable.
You should be an experienced developer with a first/upper second degree (BSc) in a technical subject. You will need strong core programming skills in an object-oriented language such as Java, and in software design. You will be involved in the whole life cycle development process.
- Develop high quality, testable, well-documented software.
- Work closely with Technical Architects and Development Managers to convert functional and technical specifications to production quality software.
- Work closely with Technical Architects and Project Managers to gather customer and product requirements.
- Participate in the configuration, testing, and release processes.
- Ensure adequate test coverage at unit and integration levels.
- Contribute to design and specification processes.
- Research and learn new technologies.
- Train new and junior developers.
- Deliver training sessions to customers.
Core skills and experience:
- Strong programming skills, ideally with Java.
- Confidence with low-level socket-based programming.
- Analytical and problem solving skills.
- Effective use of design patterns and unit testing frameworks.
- Team working skills.
- Good communication skills including customer interaction.
- Experience in and passion for Agile methodologies.
Desirable skills and experience:
- Previous experience developing card payment solutions
- Experience working with EMV card readers and applications: Verifone, Ingenico etc.
- Knowledge of payment industry protocols and frameworks such as:
- ISO 8583, APACS 70
- EMVCo ICC specifications, ISO 7816, PayWave, PayPass, ExpressPay
- 3D Secure v2
- Working knowledge of at least one J2EE container such as Tomcat.
- Experience in database development using ANSI SQL and JDBC.
- Working knowledge of XML, XML Schema and XSLT, JSON.
- Knowledge of crypto standards and frameworks, e.g. TLS, IPSec, PKI, DUKPT
- Knowledge of security standards and frameworks, e.g. PCI, NIST CSF, ISO 27001
- Previous experience working with PCI compliant solutions
- Experience developing with cryptographic devices such as HSMs
- Previous experience dev