Skip to content

Commit

Permalink
Merge pull request #1 from arnoldclark/add-readme
Browse files Browse the repository at this point in the history
add readme files
  • Loading branch information
JonnySKK authored Jan 6, 2025
2 parents e3e07f1 + b33f19c commit 6c836a3
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 0 deletions.
29 changes: 29 additions & 0 deletions MobProgramming.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Mob Programming

This session is intended to help us understand how you would approach a very common problem.

We'll need you to create a .NET MAUI application which:

- captures information about a vehicle from a user
- sends that information to our garage API POST endpoint (this endpoint is already included in this repo, ready for you to use)

We'll also be looking for you to show that you are comfortable navigating your way through a .NET API project

This session is run as a [mob programming session](https://en.wikipedia.org/wiki/Mob_programming), and the end result is less important than the process - we're looking for people who communicate well, are empathetic towards their colleagues, and look for opportunities to share knowledge.

### Taking part in the session

**Please don't write any code before the mob session. We value your time and this startpoint is being provided to take away the element of surprise from the session.**

You'll be joined by a couple of engineers from Arnold Clark. They'll take turns - around 20 minutes each - to take control of the machine and write some code.

This means you'll get the chance to both "drive" and "navigate" during the exercise.

## Resources

Please treat this exercise as if it was part of your normal working day. You can use any resources you need to, such as Google, Stack Overflow etc.

You can also use any packages you want - we would love to find out what your usual workflow looks like!

We've set up a simple project to get you started.

35 changes: 35 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Hello, we're excited to meet you!

Thanks for taking the time to apply for the role of Software Engineer at Arnold Clark. In this part of the interview process, we're looking to assess your technical skills so that we can see how you might fit into our organisation.

## Before we start

We want this to be an enjoyable and comfortable experience for you, and we want the interview process to be a partnership between us.

We are more than happy to make any reasonable adjustments to our process - please let us know at any time, before or during the interview, if there's something that would help.

Common requests include:

- Changes to text size, editor theme, colours and so on
- Asking us to repeat or rephrase questions
- Taking a comfort break to grab a drink or clear your head

We'll try to use clear and simple language as much as we can. We'll also try - as far as possible - to tell you in advance what we'll be discussing so that you feel prepared.

## The Task

For this part of the interview process, we'll ask you to take part in a mob programming exercise to show us how well you work as part of a team. Everything you need to take part in this exercise will be provided on the day.

[Instructions for the mob programming exercise.](MobProgramming.md)

## Assessment Criteria

We're aiming to make a fair and objective assessment of your skills, and to make sure they match the skills we need at Arnold Clark.

We also want to be transparent about the skills and traits we're looking for.

[Who are we looking for?](WhoAreWeLookingFor.md)

## Candidate Feedback

We're always looking to improve our interview process and we welcome feedback.
37 changes: 37 additions & 0 deletions WhoAreWeLookingFor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Who are we looking for?

Here are the skills and attributes we look for throughout the interview process. After the interview, the interviewers will discuss whether or not each attribute was demonstrated.

## Communication

- The candidate was able to express their ideas and opinions clearly.

- The candidate asked questions where appropriate and sought to clarify anything they didn't understand.

- The candidate demonstrated [active listening](https://en.wikipedia.org/wiki/Active_listening).

- The candidate treated their colleagues with kindness and compassion.

## Technical ability

- The candidate put the user's experience at the forefront of their work.

- The candidate showed an interest in learning new or unfamiliar technologies.

- The candidate used the appropriate resources to overcome any technical issues they faced during the interview. (Google, Stack Overflow etc.)

### What type of code are we looking for?

"Good code" is highly subjective, and we would expect to see candidates with different levels of experience solve problems differently.

Having said that, here are some of the things we consider to be important when we're assessing a candidate's ability:

- Does the code show a solid understanding of C# and .NET?

- Are the projects structured in a logical manner?

- Is there a separation of concerns where appropriate?

- Is the code easy to test?

- Is the code properly formatted and easy to read?

0 comments on commit 6c836a3

Please sign in to comment.