The Customs, Borders and International Trade Delivery Area (CB&I) are responsible for the end to end service management and development of over 100 separate services from the generation of Trade Statistics, to the administration of Customs and Excise duties.
We collaborate with partners throughout the full delivery lifecycle to ensure delivery and support of highest-quality software products.
This is an exciting and ambitious role as a key member of the delivery team where you will design, develop, and improve software that meets user needs.
You will be responsible for writing clean, secure code following a test-driven approach. You will create code that is open by default and easy for others to reuse.
You will demonstrate a rational and organised approach to the tasks undertaken and an awareness of the need to achieve quality whilst taking a logical, analytical approach to problem solving.
Some line management responsibility may be required.
For the first nine months after taking up duty, you will work normal office hours though will be required to occasionally attend the office outside of normal working hours (for example to support software releases). For the next three months you will continue to work normal office hours and on a ad-hoc basis shadow a colleague already providing on-call support. On completion of 12 months in post, you will then be required to provide part of a 24/7 on-call Rota.
As the ideal candidate, you will already have a strong appreciation of information security and be confident designing solutions and services with security controls embedded.
You will be able to understand and identify users, engage with key partners to collate evidence, and define research which fits their needs. You put users first and use quantitative and qualitative data to turn user focused needs into outcomes.
You will also be confident in coaching and mentoring more junior colleagues.
• Conducting reviews of supplied specifications, with others as appropriate. Translate user stories and propose design approaches services to meet user needs.
• Designing and building complex programs and program modifications from supplied specifications, using agreed standards and tools, to achieve a well-engineered result.
• Planning, designing and conducting tests of programs; correcting errors and re-tests to achieve an error-free result. Take part in reviews of own work and the work of colleagues.
• Managing competing priorities and documenting all work in accordance with agreed standards.
• Maintaining the security, confidentiality and integrity of information systems through compliance with relevant legislation and regulations.
• Work as part of a small team to support and deliver changes to legacy systems for a high priority project.
• Carrying out fault diagnosis relating to complex problems, reporting the results of such diagnosis in a clear and concise manner.
• Writing/improving support documentation and unit testing to increase the maintainability of systems.
• Help build the development and support capability of new internal team members via training and mentoring.
• Educated to degree level or can demonstrate work-based Java development experience, both individually and as part of a technical team.
• Able to design and build well-engineered, moderately complex programs using agreed standards and tools, and demonstrate knowledge of the challenges of integrating them into a wider infrastructure.
• Proficiency in full stack java development, including:
• Application servers (e.g. Jboss and Weblogic)
• Java frameworks (e.g. Spring and Struts 1 & 2)
• LDAP and Single Sign on Solutions.
• XML APIs (e.g. stAX API and JAXB)
• Java Persistence API (e.g. EclipseLink and Hibernate)
• RDBMS (e.g. Oracle, MySQL, and Ingres)
• Standard development tools (Java IDE, Git, Jenkins)
• Experience or understanding of Test-Driven Development (TDD), including Working knowledge of unit tests tools and best practices for automation – e.g. Mockito, Junit.
• Has a good understanding and experience of fixing faults following agreed procedures, demonstrating a logical, analytical approach to problem solving and paying close attention to detail.
• Ability to learn new and old technologies rapidly and embrace change.
• An ability to communicate technical concepts to a non-technical audience.
• Can demonstrate leadership and mentoring skills.
Ideally you will also have knowledge, experience and understanding of :
• More than one development methodology e.g. Waterfall and Agile.
• User experience analysis and its principles.
• Behavioural Driven Development (BDD).
• Unix-like operating systems such as Linux in a working environment.
• Java 11.
• AWS or Azure Virtual Machine services.
• MQ Technology.
• Working in online transactional environments.
• Presenting work at user groups and conferences.
• Handling large data sets and scaling their handling and storage.
• Working with trainees and providing knowledge transfers.