-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add page on the GovPress Apprentice Developer plan
- Loading branch information
Showing
1 changed file
with
159 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
--- | ||
title: Apprentice developer development plan | ||
last_reviewed_at: "" | ||
--- | ||
|
||
## 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 leave 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 Op, 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](https://drive.google.com/drive/u/0/folders/1F3845eOMK84DpQ00qRtFUbP4NQzWaZ6l). | ||
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: Ops 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 Ops team. This rotation will be slightly | ||
different to the others, as our Ops 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 Ops 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 squads, 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. |