Skeleton for Codat's .NET based interview pair programming.
If you are interested in working at Codat, please take a look at the current roles open on our careers page. If there isn't a role that you think would suit your skills, but you are still interested in working with us, please reach out to the talent team or a hiring manager directly.
If you are going to attend a pair programming interview at Codat we have a number of options for your dev environment. You are welcome to use your own machine, so long as you are able to share your screen with the interviewers. The other option is to use one of our dedicated virtual machines.
If you would like to use one of our virtual machines the interviewers can configure the environment with many of your personal preferences. Things like;
- IDE; such as Rider, Visual Studio, or VsCode.
- IDE theme; dark or light theme, or a high contrast theme of your choice if needed.
- IDE plugins; we have licences for ReSharper as standard for VS, you can opt to disable this.
- Keyboard layout; QWERTY in US or UK version, dvorak, or something else.
On the day you will be presented with a specification for what you will be expected to build in the form of 2 user stories.
These have some detail in, but there is an expectation that you will have a conversation with the 'product owner' about some details for the functionality and implementation.
As you can see from the skeleton provided in the repo, the task will be to build a couple of endpoints in an ASP.NET web application.
The first task is a CRUD action, input data to the server. The second task is to retrieve this data and translate it into a report.
There are a series of competencies that you will be marked against after completing the task which include; architecture, design, implementation code, testing, and core skills related to things like time management.
These skills are marked on the basis of the level of engineer you are applying for. Which means, for instance, that we would expect the language used to describe the design and sophistication of the design to be reduced for a Software Engineer 1 vs a Principal Engineer or Staff Engineer. Everyone gets an opportunity to really shine in each area of assessment though.
It is also important to note that this is not your only opportunity to evidence your technical skills. This is an opportunity to show how you operate at the keyboard in your daily work. Do not use tools or practices that you are unfamiliar with for the interview. Try not to overcomplicate the solution in order to show something off, that detail might be better talked about in the subsequent technical interview.