Develop, Maintain and Support Software Written Primarily in Java. Typical Applications Include

Job Description

Job Title: / Java Analyst / Programmer
Location: / Norwich
Reports To: / Java Team Leader
Date: / May 2013
Job Purpose Statement
Develop, maintain and support software written primarily in Java.
Principal Accountabilities and Responsibilities

·  Develop, maintain and support software written primarily in Java. Typical applications include:

o  Development of Bertrams.com, Bertram Library Services.com and the white label websites we operate for companies such as the Guardian and Telegraph.

o  Web Service provision and consumption using SOAP and REST

o  Integration with warehouse management and material handling equipment using sockets based communications

o  Web Application server specification, build configuration on Linux

o  Development of our bookshop management and EPOS package

o  Search technologies

o  Integration with backend IBM i/OS, DB2 and Oracle Financials

·  Develop user requirement and specification documents.
·  Develop software inline with specifications.
·  Develop to house standards, within agreed timescales.
·  Provide ongoing support for applications.
·  Advise junior developers and backend developers as required.
·  Take part in the out of hours support rota.
In addition to the duties and responsibilities listed, the jobholder may be required on occasion to perform other duties assigned by the supervisor/manager. This job description is a guide to the duties and responsibilities of the post and is not exhaustive. Subject to the needs of the service, the content of the job description for this post is subject to continuous review.
Organisation Chart
Environment
Based from an office site with high use of VDU screens and keyboards, and the telephone on a regular basis.
Agreed By
Post Holder / ………………………. / Signature / ……………………. / Date / ……………….
Post Holder / ………………………. / Signature / ……………………. / Date / ……………….


Person Specification

Job Title: / Java Analyst / Programmer
Date: / May 2013
Points / Essential / Desirable
Minimum Academic Achievements / Degree in technical IT, Engineering, Electronics or Mathematics
Previous Experience / 1.  Experience and an understanding of the issues and requirements of a High volume Order Processing System which needs to maintain 99.999% availability with sub second response times.
2.  Load testing to establish at which point components will fail, Soak Testing to demonstrate that applications don’t contain memory and resource leaks.
3.  Use of automatic regression and unit testing tools such as JUnit, HTTPUnit and Selenium and continuous build integration.
4.  A solid understanding of the Java programming language. (JDK 7)
5.  Use of Java for server side web applications, server side batch processes and desktop applications.
6.  SQL for data definition and manipulation.
7.  Experience of the Spring framework.
8.  Experience of HTML, XML, CSS, JavaScript and JQuery
9.  Experience of the Apache 2 HTTPD Web Server
10.  Experience of a modern application server, preferably Oracle Glassfish, IBM WebSphere or Oracle Web Logic.
11.  Experience of publishing and consuming Web Services, using WSDL, SOAP, REST etc.
12.  Experience of version control applications such as SVN and CVS. / 1.  Linux, networking, understanding the IP stack and configuration options.
2.  Previous experience of Apache SOLR and Lucene would be helpful.
3.  Jasper Reporting is used across a number of projects as our reporting engine and report template system.
4.  Experience of Ellipse or NetBeans
Skills/Competencies / 1.  Ability to be able to contribute ideas and experience at all stages of the business and software development life cycle, within IT and across the company
2.  Ability to communicate technical ideas to other members of IT clearly and when required find a way to put these ideas into terms which can be understood by non-technical members of staff, customers and suppliers.
3.  Ability to be adaptable and able to quickly get up to speed with existing systems is essential.
Personal Attributes / This is a very technical position and the post holder will need to love working with Java and Open Source projects and pushing the technology and themselves to achieve the best possible results for end users / customers.
Circumstances / Flexibility regarding hours as an out of hours rota is in operation