Skip to content
Draft
80 changes: 80 additions & 0 deletions common-content/en/blocks/your-first-interview/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
+++
title="Your First Interview"
time=10
objectives = [
"Introduce yourself to a prospective employer",
"Answer a question about code you have written",
"Convince an interviewer that you understand a project",
"Experience a professional interview"
]
[build]
render = 'never'
list = 'local'
publishResources = false
+++

Throughout ITP you have now had experience building projects, giving demos, and now it's time to put it all together.
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated
During today's class, you will take part in a very short interview where you can practice with an interviewer during a discussion about a recent project you built.
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated

Interviews can be stressful, especially if you have not done one before.
That's why we're doing one now!
There is no pass or fail here, and you can share your experiences with the rest of the class.

Being able to answer questions in an interview setting is a vital skill for employability, you won't get a job without this!
It will also help to build on the earlier "Answering demo questions" workshop, and improve your ability to communicate about code with colleagues.
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated
This is also practice before the Checkpoint stage.
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated

The key to interviews is being able to convince the interviewer that you fully understand the code in a project.
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated
We want to practice with a decent sized project, so here are some of the ones you could use:
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated
* From Data Groups:
[Tic Tac Toe](https://github.com/CodeYourFuture/Project-terminal-tic-tac-toe),
[The todo list](https://github.com/CodeYourFuture/Module-Data-Groups/tree/main/Sprint-3/todo-list),
[Slideshow with stretch tasks](https://github.com/CodeYourFuture/Module-Data-Groups/tree/main/Sprint-3/slideshow)
* From Data Flows:
[The TV Project](https://github.com/CodeYourFuture/Project-TV-Show),
[The Codewars API Project](https://github.com/CodeYourFuture/Project-Codewars-API)


## What trainees will do
Here's how the interview will go, it should last no longer than 10 minutes:
* The interviewer will ask you to introduce yourself in 30 seconds, like you have been practising during the "Introduce Yourself!" energisers at the start of classes
* As part of your backlog, earlier in the week you shared the project to talk about in a slack thread
* For up to 5 minutes, answer questions the interviewer has about the project you shared
* You should check the sections below to get an idea for the kind of things we are looking for, and what to avoid
* At the end, the interviewer will give you some feedback on how things went



## Advice for the facilitator
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated
The goal is to give everyone in the group experience with a short one on one interview.
You will need to do this in parallel while the trainees are working on their group work tasks or self study.
If you have multiple volunteers or staff in a large class, share the interviews out.

Here are some tips:
* Check the slack beforehand, to familiarise yourself with the project each trainee wants to talk about
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated
* Ask the trainee to open up the code on their machine, and discuss it there, don't take over controlling their machine
* We don't want to give trainees undue stress, so keep to the time limits suggested
* When asking questions, try to focus on more complex, non-trivial, or interesting parts of code
* If you see issues that would benefit everyone, you can share feedback to the whole group, but don't single any individuals out
* See the pointers below for the main thngs we are looking for from trainees


## Evidence of good understanding
Things for the interviewer to praise and look for.
Trainees should aim to show they can:
* Give a high level overview of a function after a quick read through
* Navigate through a codebase, knowing where everything is
* Explain the theory or usage behind JavaScript APIs like DOM, listeners, regexps, fetch
* Offer explanations of code at different levels, e.g. user-facing considerations, developer-facing considerations
* Explain choices / alternative approaches / trade-offs


## Evidence of poor understanding
If interviewers spot these, it could be a sign a trainee doesn't understand code.
Trainees should practice and avoid:
* Being unsure where different parts of code are, or having difficulty navigating a project
* Spending too much time reading code line by line, unable to give a high level overview
Comment thread
LonMcGregor marked this conversation as resolved.
Outdated
* Using JavaScript APIs while being unable to explain how they work
* Knowing jargon and buzzwords but unable to explain code with simple language
* Confusion over complex syntax like ternary, boolean, destructuring expressions, higher order functions
* Can't answer questions about code written by a teammate in a group project
6 changes: 5 additions & 1 deletion org-cyf/content/itp/data-flows/sprints/3/day-plan/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ name="Morning orientation"
src="blocks/morning-orientation"
time=15
[[blocks]]
name="Your First Interview"
src="blocks/your-first-interview"
time=10
[[blocks]]
name= "Teamwork Project"
src="blocks/teamwork-project-s3"
time=140
time=130
[[blocks]]
name="lunch"
src="blocks/lunch"
Expand Down
Loading