Senior Developer Java and Perl

Job Title: Senior Developer (Java & Perl)
Location: Brighton
Role Reports to: Architecture Manager
No. of Direct Reports: 0
Team: Solutions Team
Primary Purpose of the Role
You will design and develop new software development applications, major enhancements to existing
applications and application corrections to defined time, cost and quality targets.
Key Responsibilities
• Plan, design, develop/implement, test, and document application code/configuration in adherence
to functional and non-functional (performance, scalability, security, usability) business
• Work with technical leads, project management and quality assurance staff to design and develop
and deploy high quality applications for our clients
• Develop, architect and document N-tier solutions. Develop systems that adhere to architecture
standards, risk management and security policies
• Can work on projects 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
• Has the ability to see project development from both a commercial and software engineering
• Deliver new/amended software to agreed timescales, costs and quality standards
• Provide support for ‘live’ applications deployed, ensuring highest availability through urgent
correction of problems and issues
• Unit test all new software thoroughly to ensure highest quality levels possible
• Produce updates to system documentation for completed developments to support defect
• Utilise system analysis skills to translate business requirements into use cases and produce
system designs to agreed standards
• Provide expertise in the estimating and planning delivery of new software
• Partnering with QA staff for testing
• QA / audit products for compliance to standards, peer to peer code reviews, design reviews and
compliance with standard software development/testing techniques
• Take a lead role on development projects, providing coaching and mentoring to either working
alone or overseeing a team of technical personnel
• Coach and mentor Graduate Developers, Junior Developers and Developers etc.
• Multi-task and work on multiple projects with varying priorities and deadlines
• Design and develop software systems to meet clients 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 clients 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 clients
requirements and minimise ambiguities
• Work closely with project management and senior technical staff to estimate and specify the
costs of the development of software.Ability to adapt to a changing environment
• Ability to understand business requirements and translate into technical requirements
• Ability to communicate technical information to a non-technical audience
• Ability to work with a variety of personnel including technical support, management, and end
Forward-thinking; ability to meet current project requirements while planning for future state
Decision making
• Recommend best practice techniques for build, test and project delivery though constant
evaluation of activities
• Recommend development environment control and test environment controls
• Recommend alternative methods of analysis and build techniques
• Review existing applications and end to end solutions, providing recommendations for
improvement in general and in particular to quality and on-going maintenance
• Develop framework components, optimising best re-use principles
• Meet with Semantico customers, department heads, managers, vendors, and others, to solicit cooperation and resolve problems
• Report progress of assignments to the Senior Management and Project Management Office
Principal Relationships
Technical Team Lead
Project Manager
Account Management
Knowledge and Skills and Experience Required
A broad and in-depth range of experience in proving bespoke software solutions
Expertise in latest techniques and methodologies in delivering quality solutions
Expertise in the latest and emerging technologies likely to be employed in designing and
delivering enterprise wide quality solutions
Excellent planning, organisational and analytical skills
Skilled at solving and communicating complex problems, applying knowledge and technology to
the full
A thorough knowledge of specifying technical techniques in the following:
• Object Orientated
• Data Modelling
• Structured Software Development Lifecycle
• For Java:
• Excellent knowledge of the core Java and javax Servlet APIs
• In-depth commercial experience of using Java for writing web-based applications
• Knowledge of Spring core (or other Java IoC framework)
• Has extensive exposure to the Java Persistence API (JPA) using Hibernate or
other implementation.
• For Perl:
• Significant, demonstrable commercial web development experience and
knowledge of Mod Perl 2, Mason, Catalyst and familiarity with one of the
following Mojo, Moose, Moo or dancer
Desirable skills, knowledge and attributes
Knowledge of SQL database systems such as PostgreSQL, MySQL, Oracle, SQL Server or
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
Knowledge of web development technologies such as HTML, CSS and JavaScript
Has used version control systems such as Git, Subversion or similar
Knowledge of web servers and application servers such as Apache Tomcat or Jetty
Experience of XML technologies such as XSLT, XPath and Xquery
It is preferable, but not essential, that the post holder be educated to degree level in a relevant
subject and/or has an equivalent qualification and/or has extensive on-the job experience
Dated: 19 December 2014