As part of CDIO, the Customs and International Trade Delivery Group (C&IT) is responsible for developing, delivering and supporting IT solutions for those business areas which manage HMRC’s Customs, Excise and International Trade activities. C&IT 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.
Within C&IT we operate a Guild/Tribe structure to ensure that we provide skilled resources to enable us to meet the needs of our customers in an Agile way helping to drive high levels of collaboration and innovation. Guilds provide a permanent organisation construct that are set up to bring together people who share technical, functional and professional skills. The Guild responsibility will be to define the technical standards and tools that its members will use. It also ensures that members of the Guild continually improve their skills so that technical skills remain current, are aligned to HMRC/CDIO strategy and in-step with IT industry developments.
This is an exciting and challenging role for those looking to deliver technological change against a background of organisational transformation, as well as an opportunity to make a real difference to people’s lives by delivering great digital products.
You will be a key member of the delivery team, collaborating with all members throughout the full delivery lifecycle to ensure delivery of highest-quality software products. At HMRC, we follow a test-first methodology, and our developers are passionate about Test Driven Delivery, working closely with business analysts, testers and product owners within a truly collaborative environment.
It is expected that the successful candidate will predominately work in the non-VAT mainframe area of the COBOL Guild, with particular regard to the Trade Statistics system, although it is possible that work on any of the team’s mainframe systems may be required (e.g. Duty Deferment, Tariff or VAT). The main project work to be carried out on the Trade Statistics system, initially at least, will be changes required for the UK exiting the European Union.
Developers develop software to meet user needs and follow best practice guidelines and help to improve those guidelines. Developers write clean, secure and well-tested code and operate the services they build and identify issues in production. Developers will also coach and mentor more junior colleagues.
The successful candidate will be able to demonstrate a rational and organised approach to the tasks undertaken and an awareness of the need to achieve quality; have some knowledge of testing procedures; take a logical, analytical approach to problem solving, paying close attention to detail; and be able to demonstrate leadership and mentoring skills.
For the first nine months after taking up duty, the post holder 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 the post holder will continue to work normal office hours and on an ad-hoc basis shadow a colleague already providing on-call support.
As a Developer, you will:
1. Design and build complex COBOL and SCL programs and program modifications from supplied specifications, using agreed standards and tools, to achieve a well-engineered result.
2. Create, amend and keep track of COBOL and SCL programs in accordance with the design.
3. Plan, design and conduct tests of programs; correct errors and re-test to achieve an error-free result.
4. Document all work in accordance with agreed standards.
5. Conduct reviews of supplied specifications, with others as appropriate.
6. Take part in reviews of own work. Take part in reviews of the work of colleagues.
7. Define the software modules that comprise an integration build and produces a build definition for generation of the software.
8. Carry out fault diagnosis relating to complex problems, reporting the results of such diagnosis in a clear and concise manner.
9. Identify and engage with users / stakeholders to collate evidence and understand and define research which fits user needs. Be able to use quantitative and qualitative data about users to turn user focus into outcomes. Understand users and identify who they are and what their needs are based on evidence. Be able to translate user stories and propose design approaches or services to meet these needs and engage in meaningful interactions and relationships with users. Put users first and can manage competing priorities.
10. Have an appreciation of information security, designing solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. Maintain the security, confidentiality and integrity of information systems through compliance with relevant legislation and regulations. Design, implement and operate controls and management strategies to allow this.
- COBOL programming language (minimum of 5 years programming experience)
- Hierarchical Database design
- Good understanding of code error resolution, software backup and recovery strategies
- Good written and verbal communication skills
- Strong analytical skills
Ideally, the successful candidate will be willing to learn/have experience in the use of some or all, of the following:
- Programming languages and database including System Control Language (SCL), Application Master (AM) and IDMSX (database programming)
- Familiarity with and experience working on Windows, and VME operating systems
This post is full time however, those applicants who do or wish to work an alternative pattern are welcome to apply but are advised to speak with the job holder first. The preferred working pattern may/may not be available.
Development process optimisation
Aware of the importance consider developing process efficiency and the common ways in which processes are optimised. Supports specific activities to improve development processes. Able to spot or identify obvious deficiencies.
Modern standards approach
Uses a modern standard approach competently and guides others in so doing.
Programming and build (software engineering)
Collaborates with others when necessary to review specifications and uses these agreed specifications to design, code, test and document programs or scripts of medium to high complexity, using the right standards and tools.
Able to help fix faults following agreed procedures. Carries out agreed infrastructure maintenance tasks.
Translates logical designs into physical designs. Produces detailed designs and documents all work using required standards, methods and tools, including prototyping tools where appropriate. Designs systems characterised by managed levels of risk, manageable business and technical complexity and meaningful impact. Works with well-understood technology and identifies appropriate patterns.
Able to build and test simple interfaces between systems or can work on more complex integration as part of a wider team.
Able to collaborate with user researchers and can sell or represent users internally. Understands the difference between user needs and desires of the user. Able to champion user research to focus on all users. Can prioritise and defines approaches to understand the user story, guiding others in doing so. Can offer recommendations on the best tools and methods to be used.
SFiA Core Skills
Programme/Software Level 3
Designs, codes, verifies, tests, documents, amends and refactors moderately complex programs/scripts. Applies agreed standards and tools, to achieve a well-engineered result. Collaborates in reviews of work with others as appropriate.
Systems Integration and build Level 3
Defines the software modules needed for an integration build and produces a build definition for generation of the software. Accepts software modules, ensuring that they meet defined criteria. Produces software builds from software source code for loading onto target hardware. Configures the hardware/software environment as required by the system being integrated. Produces integration test specifications and conducts tests. Diagnoses fault and records and reports on the results of tests. Produces system integration reports.
About the broader DDaT profession
The DDaT Profession consists of people who work in a digital, data or technology specialist role. They design, build and run government digital services. They are responsible for the way we find, access and use data and for the technology infrastructure which support those services. There are currently about 17,000 people working in the Profession. The Profession consists of people working within specialist communities of practice. There is a full list of roles on GOV.UK: www.gov.uk/search?q=DDAT
- Learning and development tailored to your role
- An environment with flexible working options
- A culture encouraging inclusion and diversity
- A Civil Service pension
If you are applying for a role in an office within a regional center location or a transitional or specialist site, then the following may apply: Daily Travel Assistance will be available for this role, provided the successful applicant is a current HMRC employee and meets the eligibility requirements outlined in the department’s Daily Travel Assistance guidance.