Feedback
Giving good feedback to trainees is critical in preparing them for work completing the Launch. Regardless of your role as a volunteer, the feedback you provide will be an important part of the trainees’ experience during this module.
Giving good feedback
When giving feedback throughout the course we keep in mind that our goal is to help our trainees secure jobs. That means considering how the work you are assessing would appear to a potential employer and asking yourself “If a candidate showed me this in an interview, would I hire them?” If the answer is “no” then the trainee needs to know why not and what it would take to change the answer to “yes”.
Feedback needs to be:
- Prompt: Trainees can’t improve if they don’t know what they need to work on.
- Specific: Avoid making general statements where possible and direct trainees to relevant examples. This is particularly important when reviewing code.
- Instead of: “Some of your function naming could be improved.”
- Try: “The names you have given your functions in
filename.jsdon’t reflect what their purpose is, which isn’t good practice.”
- Actionable: A trainee needs to be able to address the feedback, but that doesn’t mean simply telling them what to do. As far as possible we want to prompt them with suggestions which they can follow up on, ideally with some context.
- Instead of: “Avoid nesting
forloops.” - Try: “The nested
forloops inmyFunction()will have a negative impact on the efficiency of the code. TheArrayclass has a number of methods available which may remove the need for nested loops, have you done any research into them?”
- Instead of: “Avoid nesting
- Relevant: Focus on the particular task a trainee has asked for feedback on.
We strongly encourage trainees to ask follow-up questions when they receive feedback, either for clarification or to ask for further suggestions. You are not expected to be able to answer every question they may ask, if you are unsure you can direct them to another volunteer or to Slack to ask the wider community.
Feedback doesn’t just have to be about things a trainee needs to improve - remember to celebrate the positives too!
Areas to consider
Depending on your volunteer role you will see the group interacting in various ways. With your help we aim to make these projects as close to a real-world development process as possible and we should apply that context when considering feedback.
- Technical skills: Are trainees competent in the use of their chosen technologies? If they are learning something new as part of this process have they done enough research?
- Interpreting requirements: How have they translated the brief into a plan? Did they ask for clarification when necessary?
- Design: Does it meet the requirements? Have they considered accessibility?
- Group organisation: Have the team agreed a schedule for meetings, reviews, retrospectives, etc? Have all team members been participating?
- Communication: Are trainees communicating clearly and effectively? This could include meetings, code reviews, or any other medium. Are they giving each other effective feedback? If there are issues are they being highlighted quickly?
This is not an exhaustive list. If you observe anything (good or bad) which you feel needs to be highlighted and which doesn’t fall into one of these categories you should still include it in any feedback.
Assessment criteria
At the end of the module we ask all volunteers to write an assessment of each trainee in their group. This should be done as a team and include feedback from each volunteer. The assessment should include three things:
An overall recommendation for the trainee’s next steps. This should be one of the following options:
- A - The trainee is ready for employment. Someone in this category has been an effective team member and has shown strong technical aptitude.
- B - The trainee is nearly ready for employment but would benefit from an additional project with the CYF Tech Products team. A trainee in this category may need further exposure to a professional group dynamic or experience working with an unfamiliar tech stack.
- C - The trainee is not ready for employment and needs to work on further projects with the CYF Tech Products team. A trainee in this category has demonstrated some technical aptitude but found the group environment challenging. They need time to practice working in a team before applying for jobs.
- D - The trainee is not ready for group work. They have not demonstrated a sufficient level of technical understanding and need to develop their coding skills before joining another team.
An explanation of the recommendation. This should highlight the trainee’s strengths and any areas for improvement. It should cover two categories:
- Technical skills
- Soft skills
The assessors’ names and roles in the team
Example assessment
Trainee: Pedrita
Recommendation: B
Tech Skills: Pedrita is able to develop software for both back-end and front-end systems. She has the ability to quickly learn new concepts and technologies. We frequently encountered issues with Git, so I recommend she focuses on improving her Git skills. Additionally, testing her own code is an area that requires attention, as she has repeatedly submitted code for review that did not function as intended.
Soft Skills: Pedrita displayed initiative by suggesting improvements whenever she identified opportunities. Namely, she did a very good job improving the look-and-feel of our front-end. She occasionally missed team responsibilities, such as writing standup notes, or communicating with the team about problems attending meetings. She needs to enhance her attention to detail, as I often had to repeat instructions multiple times, particularly during code reviews.
Assessors: Karen Klein (Product Manager), Colin Farquhar (Tech Lead)