Development plan - Apprentice developers
High level principles and goals #
When we hire an apprentice, of course we want you to add value to dxw and our clients, but we also know that this is a crucial time for your own professional development. With that in mind, we want to structure your apprenticeship with these principles in mind:
- Over your time with dxw you will spend time on every aspect of our work. You may not know exactly what area of the tech industry would fit you best, so we want to provide you with enough knowledge of the industry to make good decisions about your next steps.
- By the end of your apprenticeship, if you have done well, you should have enough evidence to apply for progression to a Junior Developer role or a similar role.
- You will be a full member of the GovPress team and have the same benefits and responsibilities as your colleagues.
During your apprenticeship, we will ensure that you have the following experiences:
- You will meet some of our clients, in a variety of contexts, and learn about how we work with them.
- When we have new projects starting, you will assist with requirements gathering.
- You will work with delivery colleagues to schedule our client work,
- You will work with colleagues from Technical Operations, to understand how deployment and systems maintenance works.
- You will contribute to our regular meetings, where we coordinate our work (e.g. planning, stand-ups, retrospectives) and other team rituals.
- You will shadow colleagues who are reviewing code, to learn how we assure the quality of our code changes.
- You will work on support, responding to client requests and resolving tickets.
- You will work with our developers, to implement internal tools and client sites. Your work here will become increasingly independent over time, and some of your code will go into a production deployment for some of our client sites.
Who will support you #
As an Apprentice Developer, you have the following direct support:
- a mentor for each of your ‘rotations’ (for help and guidance related to your immediate work).
- a helper (for dxw / ways of working related help and guidance).
- a line manager (for both of those things and everything else).
You are also supported by the GovPress team and the technology team as a whole.
Rotations #
Your apprenticeship will be structured around a number of ‘rotations’ where you will experience different aspects of our work. Each rotation will be different. Sometimes you will mainly be shadowing more experienced colleagues, sometimes you will be making a more direct contribution to the work. At the end of your apprenticeship you will take on a small piece of work that you will plan and deliver largely by yourself.
In each rotation, a mentor will work with you. Where you are working directly on tasks, your mentor will guide you in choosing work that is suitable for your level of experience. If you feel overwhelmed at any time, or if you feel we are not challenging you enough, please speak to your mentor, or line manager, and we will make adjustments. At every stage, please ask lots of questions as you go. You won’t be expected to understand everything at once and your colleagues will be ready to help you learn.
Occasionally, we may have a piece of work that would be useful for you to shadow, that might not fit into your current rotation. If this happens, then you will spend a day or two away from your main focus, with the agreement of your mentor and line manager. This might happen when we schedule a kick-off workshop, for example. If there are particular parts of GovPress that you are especially keen to be involved in, you should discuss this with your line manager.
Review points #
During your apprenticeship there will be two or three “review points” where we will assess your progress over your rotations. These will be scheduled to fit in at sensible points in your apprenticeship, for example at the end of rotations. The exact form of each review point will be communicated to you nearer the time, but we would expect you to reflect on your own work, and to get feedback from the colleagues you have worked with directly.
Where you have review meetings with an apprenticeship provider, or your end of probation meetings, we will use these as review points, rather than duplicating the number of meetings you need to prepare for.
A typical apprenticeship #
Every experience will depend on the individual developer and the workload the GovPress team are handling at the time, but a 15 month apprenticeship might look like this:
Month 1: Induction rotation #
Your first month will be spent going through our standard induction process, setting up your laptop and environment for development work, learning any parts of our tech stack that are unfamiliar to you, and working through the dxw curriculum. To guide your learning, you will work on a personal project, which will be similar to GovPress client projects, but much smaller. Some of your work will be done in “pairing” sessions where you will work closely with your line manager, or another developer. You will also spend some time with our Delivery colleagues, understanding how we schedule and coordinate our work.
During this month, you will also go through the final parts of our induction process. This will involve meeting with every member of GovPress and some dxw staff outside your team, to get to know each other and understand how the wider company works.
Months 2-4: Sprinting team rotation (1) #
In this rotation, you will work with a team that is sprinting on a larger client project. You will begin by shadowing more experienced developers, and start to make contributions of your own as your skills and confidence grow.
Your focus here will be on the specific challenges of implementing and testing websites, including dealing with security concerns and accessibility.
Months 5-6: Sprinting team rotation (2) #
In this rotation, you will work with teams that are sprinting on much smaller client projects. In this rotation you will learn to work on shorter timescales
As with the other development rotations, you will begin by shadowing more experienced developers, and start to make contributions of your own as your skills and confidence grow.
Months 7-9: Support and maintenance rotation #
In this rotation, you will work with the Support and Maintenance team, who deliver our internal projects and some smaller pieces of client work. You will contribute to the tools that we use to implement and test client projects. At the start of this rotation you will shadow your mentor and work with other developers in pair-programming. As you grow in confidence, you will take on small development tasks of your own. Your mentor will help you to choose tasks with the right level of complexity for you.
Months 10-11: Support rotation #
We believe that it’s important for all developers to understand the challenges involved in running live services, so you will spend at least one rotation shadowing and working with the client support team. During this time, you’ll help triage tickets that come in, carry out maintenance tasks, and solve issues that come up. You will do this with the support of members of that team.
Months 12-13: Technical Operations and delivery rotation #
It is important for all developers to understand what happens to code once it is deployed to a live environment, and the challenges involved in securing deployments, so you’ll spend one rotation working with the Technical Operations team. This rotation will be slightly different to the others, as our Technical Operations Engineers work more reactively than other parts of the company. You will usually join the team in “mobbing”, where the whole team will work together to resolve a problem. You will largely be observing the work of the mob and asking questions.
Whilst the Technical Operations team is waiting for work to come in, you will also work with colleagues in delivery and operations. Here, you will help to plan the delivery of our existing projects, and any new work that comes in.
Months 14-15: Self-directed rotation #
In this rotation, you will work on a piece of software development work that you will agree with your line manager and the Tech Leads, but plan and deliver yourself. This work can be from any of our teams, but must be agreed in advance.
Good candidate projects will:
- have clear, well-defined user needs
- not be needed urgently by a client, although they may have some time constraints
- have full test coverage for existing features, and a high accessibility rating (if relevant)
- have both front and back end components
- be small enough to produce something useful for users in 6 or 8 weeks by an apprentice developer
If you are required to write a report as part of your apprenticeship, you should schedule two weeks at the end of month 15 to do this.
Last updated: 29 July 2024 (history)