The role involves the full life-cycle of software development from new builds to maintenance and updates:
- Has the ability to see project development from both a commercial and software engineering perspective
- Works with technical leads, project management, technical architects and quality assurance staff to design and develop and deploy high quality applications for our clients
- Can work on project both large and small, with the same attention to detail
- Will look at a problem pragmatically, and chooses the solution based on what is fit-for-purpose
Key Responsibilities and Tasks
- External customer
- Internal departments
- Management team
Skills & Experience
- Design and develop software systems to meet client’s requirements.
- Integrate in-house and third-party software components to create the designed system.
- Work with project management and quality assurance to produce a quality system which meets the client’s requirements within the project budget and schedule.
- Work with systems and support teams to deploy applications to various environment and ensure it can be supported.
- Work with project management and senior technical staff to analyse and clarify client’s requirements and minimise ambiguities.
- Work closely with project management and senior technical staff to estimate and specify the costs of the development of software.
- Extensive professional experience in developing significant software systems using Java
- Excellent software development skills including:
• Software Design
• Excellent OO design skills and strong knowledge of design patterns
• Unit and integration testing
- Ability to work well in a team or alone
- Excellent knowledge of the core Java and javax Servlet APIs
- Desire to learn new skills and keep up with technologies
- In-depth commercial experience of using Java for writing web-based applications
- Knowledge of Spring core (or other Java IoC framework)
- Has used version control systems such as Git, Subversion or similar
- Has extensive exposure to the Java Persistence API (JPA) using Hibernate or other implementation
- Knowledge of web servers and application servers such as Apache Tomcat or Jetty
- Experience of XML technologies such as XSLT, XPath and XQuery
- Good verbal and written communication skills
- Relationship building
- Good analytical skills and attention to detail
- Ability to prioritise with strong planning & delivery skills
- Proactive/can do attitude
- Keen to develop and learn
- Strong interpersonal skills
- Can work on own initiative
- Eligible to work in the UK
- Experience of book publishing/digital media industry
- Experience of mentoring/supporting other developers to ensure tasks are completed
- Knowledge of SQL database systems such as PostgreSQL, MySQL, Oracle, SQL Server or SQLite
- Experience of the Linux/Unix environment
- Knowledge of the Solr/Lucene search engine
- Knowledge of XML database systems such as MarkLogic, eXist or BaseX
- Knowledge of Cocoon and Tapestry
- Degree-level education in computer science, software engineering or similar or equivalent experience