Redgate’s technical interviews

This article describes the Redgate interview process.  We wanted to make the interview process clear and transparent so that you can best prepare for applying at Redgate.

Curriculum Vitae and Covering Letter

The Curriculum Vitae (CV) and covering letter are our first insight into you as a software engineer.  From your covering letter we’d like to understand why you’ve applied to Redgate and what you think you could offer.

We’d like to get an idea of the experience you’ve got, the domains you’ve worked in and what you’ve accomplished.  It’s not necessary (to put it mildly!) to list a huge set of three-letter acronyms on the technology you’ve worked on. We’re much more interested in your appetite for learning.  What have you learnt since you started programming?  What’s the next big challenge for you?  Why’d you love building great products?  If you’ve got a web presence that you’re proud of, highlight it!

Use the covering letter to give more context.  Most applications we receive aren’t for Redgate, they are for <<Generic Company>>.  What’s made you apply to Redgate?  What bits of Redgate are interesting for you?  Stand out from the crowd and tell us.

Telephone Interview

The purpose of the telephone interview is a quick screen to decide whether we should advance to a full technical interview.  You’ll need to write some code during the interview so be next to a computer and use a speakerphone.  We’ve had candidates try to code on their iPhone; it doesn’t work very well!

The telephone interview takes less than 30 minutes and has three parts.

Firstly we’ll have a quick chat about your CV, focusing mostly on your recent work.

Secondly, we’ll give you a quick technical assessment.  We use a shared Google document and ask you to solve a problem in the language of your choice.  Don’t worry about the lack of development environment; we’re not after a precisely syntactical correct solution, we just want to see you code. It’s really helpful to us if we can see how you think.  Don’t be shy about sharing what you’re thinking, we’re more likely to give you a hint if you are telling us your plan for tackling the problem.  A typical question might be “reverse a string”.  Our telephone screen process is like that described by Steve Yegge in his post “Five Essential Phone Screen Questions” in the section starting “Area Number One: Coding”.  We don’t use algorithmic puzzles or trick questions.

Finally, we’ll give you a chance to ask us questions!

At the end of the interview, we’ll explain what happens next.  We’ll collate our feedback, we’ll pass it to the People Team who will let you know the results as quickly as possible.  If you’re successful, the next stage is an on-site interview.

Technical Interview

The purpose of the technical interview is to show whether you have the aptitude to be a software engineer at Redgate.

Don’t worry about what you wear to the interview. We don’t have a dress code here at Redgate and the best dressed people tend to be here for an interview! If wearing your best suit helps you feel in interview mode then great, but don’t worry too much about what to wear as we just want you to feel comfortable.

The technical interview lasts a couple of hours.  When you arrive you’ll be offered a drink and can sit down and relax for a few minutes in our comfy atrium.  You’ll be met by two software engineers and shown to our dedicated interview room.

We’ll start by introducing ourselves and getting the boring boilerplate stuff out the way (fire exits, restrooms, timing).  Once we’ve done this we’ll ask you some questions about what you’re working on.

Most code is read, not written, so we’ll start with a code reading exercise.  We’ll give you a small set of code to review (about 100 to 200 lines).  The code compiles and runs and it models a simple game.  We’ll ask you to review the code, tell us the rules of the game and make some comments about the coding style.  We’ll then play through some what-if scenarios.  Our goal is to try and understand how you think and reason about code, and how you’d approach a typical problem.

We’ll often take a five minute break at this point.  This gives you a chance to have a quick break and refill on drinks, and it gives us a chance to reflect on the first half of the interview and make sure we’re working according to our interview plan.

We also want to see how you write code.  We’ll give you a toy-example (think of Game of Life ) and we’ll ask you to solve it.  Again, we’re not interested in you rushing in and solving in record time, we want to understand how you think so we might introduce some artificial sounding constraints.  We’ll do this as pairs; we’re big believers in pairing to solve tough problems so we’ll be there to help you think through problems and bounce ideas around.  If you’ve done any code katas then this will be familiar to you.  A great place to give you an example of these problems is Cyber Dojo.

Finally, we’ll give you a chance to talk to us and ask any questions you’ve got about working at Redgate.

At the end of the interview we’ll explain what happens next and arrange to pay your expenses.  You can expect to hear back promptly on whether you’ve been successful and then you’ll be through to the final stage of the Redgate interview process.