Summary
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 are 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. What we’ll expect from you: “You will feel ready to seek promotion within 12-24 months of joining.” What you can expect from HMRC: “We will provide you with all the encouragement and development opportunities - e.g. mentoring, pairing, course work - to help you get there. We offer a clearly defined career path and will help you develop skills that are transferable across government.”
Lead developers guide the ways in which the team works and are proficient in a wide range of technical systems and involved in identifying appropriate technology and approaches, deciding when software should be written. Lead developers contribute to the community, providing technical leadership, coaching and mentoring the team, promoting knowledge sharing and adoption of good practice.
Job description
When you think of government technology what do you imagine? Months to assemble IT requirements, years to build services, and not a customer in sight? The truth couldn’t be more different.
At HMRC we are already one of the most digital organisations in the UK. We have one of the largest data sources and we're creating a world-class IT function.
With 50 million customers to serve, over 60 thousand colleagues to support, and £600 billion to collect to fund UK Plc, our IT operation is huge. Operating on a stage this big would faze many, and it is not for everyone. But, for those who are up to the challenge, we offer unique and unparalleled opportunities to work with some of the latest technologies and make a real, lasting difference.
Here in HMRC’s Chief Digital & Information Group (CDIO) we’re increasingly delivering in-house through our growing network of digital delivery centres – hi-tech, state-of-the-art facilities across the UK.
We’re removing our dependence on data centres, as we increasingly virtualise our estate. We’re fundamentally restructuring the way we look after our IT and the way we work with partners across our ecosystem. But it’s not just about the tech. We’re building a deep understanding of our customers, working in agile ways, and implementing a DevOps approach.
We focus on our people, with clearly defined career pathways that are rewarding, fulfilling and achievable. We have flexible ways of working to help everyone manage their own work/life balance. And we’re creating an authentically diverse and inclusive workplace where everyone feels able to bring their whole self to work.
This is your opportunity to join us.
If you’d like to find out more about our work and our people take a look at our HMRC digital blog and follow us on Twitter @HMRCdigital
This is an exciting opportunity to join HMRC’s IT function (CDIO) which sets the technology direction for HMRC and delivers the high-level design for all IT solutions across the organisation. CDIO are responsible for building and running HMRC IT services along with providing IT change and operational support.
As part of CDIO, the Customs and International Trade Delivery Group (C&IT DG) is responsible for developing, delivering and supporting IT solutions for those business areas which manage HMRC’s Customs, Excise and International Trade activities. The C&IT DG 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.
Responsibilities
You will be required to :
Perform code reviews as well as subjecting your code to reviews.
Collaborate with team members about their designs and solutions.
Evaluate technology and design and architect solution and act as a senior team member responsible for delivering core architecture solution and complex components.
Mentor junior resources and guide the team technically.
Line manage resources and provide guidance and support appropriately.
Skills and Knowledge Required;
1. Collaborate with user researchers and can sell / 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. Understands users and can identify who they are and what their needs are based on evidence. Able to translate user stories and propose design approaches or services to meet these needs, and engage in meaningful interactions and relationships with users. Puts users first and can manage competing priorities.
2. Ensure the correct implementation of standards and procedures, identifying capacity issues, stipulating the required changes and instigating these. Instigates remedial action. Define, analyse, plan, measure, maintain and improve all aspects of the availability of services, including power. Controls and manages service availability to meet the needs of the business in a cost effective manner, including managing the capability, functionality and sustainability of service components (including hardware, software, network resources and software/infrastructure as a service).
3. Analyse current processes, identify and implement opportunities to optimise processes, and leads and develops a team of experts to deliver service improvements. Helps evaluate and establish requirements for the implementation of changes by setting policy and standards. Identifies and explores opportunities for service and business improvement. Drives the analysis, identification, prioritisation and implementation of improvements and efficiencies, thereby ensuring that the organisation derives maximum value from services. This includes recognising the potential for automation of processes, determining costs and benefits of new approaches and managing change or assisting implementation where needed.
4. 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. Maintains the security, confidentiality and integrity of information systems through compliance with relevant legislation and regulations. Designs, implements and operate controls and management strategies to allow this.
5. Have a strong understanding and application of the most appropriate modern standards and practices. Takes responsibility for coaching and guiding others. Uses a modern standards approach throughout automation and testing.).
6. Collaborate with others when necessary to review specifications and uses these agreed specifications to design, code, test and document programmes or scripts of medium to high complexity, using the right standards and tools. Uses agreed security standards and specifications to design, create, test and document new or amended software.
7. See prototyping as a team activity, actively soliciting prototypes and testing with others. Establishes design patterns and iterates them. Knows a variety of methods of prototyping and chooses the most appropriate ones. Able to apply technical knowledge and experience to create or design workable prototypes, both programmes and physical outputs. Understands parameters, restrictions and synergies.
8. Identify, locate and competently fix faults. Maintains and supports services.
9. Define the integration build. Able to co-ordinate build activities across systems, and understands how to undertake and support integration testing activities. Integrates and tests components, systems and their interfaces to create operational services.)
10. Design systems characterised by medium levels of risk, impact and business or technical complexity. Selects appropriate design standards, methods and tools and ensures they are applied effectively. Reviews the systems designs of others to ensure selection of appropriate technology, efficient use of resources, and integration of multiple systems and technology. Creates the specification and design of systems to meet defined business needs. Has the ability to work with business and technology stakeholders to translate business problems into technical designs. Able to visualise the ideal user service, come up with design ideas and possible design approaches. Explores different approaches to solving problems.)
Essential criteria – you will need the following experience
• Core java.
• Hands-on design, development and code review of Full-Stack Application Development experience, preferably within large enterprise environments.
• Solutions architecture experience designing large scale systems and integrations.
• Good understanding in Spring, Hibernate, MQ, Security and Performance, Restful webservices, XML, JSON, and Apache+Tomcat.
• Current experience in applying Test Driven Development
• Create detailed designs for implementations of user stories
• Techniques (jUnit, Selenium, Mockito, Fitnesse or similar tools).
• Agile toolsets, such as JIRA and Confluence
• Maven, GIT, and setting up CI/CD toolset (Jenkins, Artifactory, Ansible, puppet or similar).
• Amazon Web Services (AWS) or cloud experience
• Working knowledge in Application Servers: JBOSS, Spring Boot·
• Deep understanding of DevOps and current hands-on experience with automation tools such as Git, Ansbile, Bitbucket or puppet
• Passionate about technology, problem solving, learning new skills, sharing expertise and knowledge.
Desirable criteria :
• Full Software Development lifecycle experience, in mission critical and complex strategic initiatives.
• Experience managing multiple Agile Scrum teams to support initiative projects and business operations
• Experience with API event driven architecture, container orchestration platforms (Docker, Kubernetes, etc.) and knowledge of micro-service architectures.
• Strong understanding of middleware technologies including, Tomcat, JBOSS, WebLogic, Autosys and/or related technologies
Benefits
• Learning and development tailored to your role
• An environment with flexible working options
• A culture encouraging inclusion and diversity
• A Civil Service pension
Equal Opportunities
We are an equal opportunity employer and value diversity. We do not discriminate on the basis of race, religion, colour, gender, sexual orientation, age, marital status, veteran status or disability status.