The interview process
- 30-minute phone call with HR
- 30-minute phone call with Head of Engineering
- Onsite Interview which will take roughly 3 hours. 1-hour coding, pair programming & development practices. 1-hour architecture interview. 1-hour with Head of Engineering for culture fit
- Screening call
- Online Assessment (technical test)
- Skype Interview
- On-site Interview
At Signify when we are working with candidates we make sure they know the process which they will encounter when interviewing to make it as relaxed as possible so if you're looking for a role direct with a company then see if you can be made aware of the stages and allow yourself to prepare.
Don't fret over the phone call
Now that you are aware of the process you can plan for each part, here are some points to be aware of below.
- Know who you are speaking with. Whether it's the HR team, Engineering Manager or Internal Recruiter you want to be able to know who you're addressing and it may also benefit you when it comes to what type of questions you should expect. If it's HR it may be more based on finding out about you as a person and whether you would work well in the team or if it's the Engineering Manager you might expect some more technical queries.
- Ensure you're in a quiet, none distracting area. You don't want to be trying to think of intelligent responses while background noise is diverting your attention.
- Good phone signal. Once you've decided where it is you will locate yourself during the phone interview, make sure the phone signal is strong. As we know, everyone is pushed for time so it would be disappointing if you were struggling to hear who you were speaking to and end up wasting both your time.
- What do you mean by Option in Scala?
- What is the Monad in Scala?
- What are Scala Identifiers?
- Which keyword is used to define a function in Scala?
- What do you mean by Akka in Scala?
Now you've got the phone call sorted, let's move onto the Technical test!
Let's get technical!
The purpose of this stage of the interview is to understand how you work as an engineer. They want to know how to can solve real-world problems, how long it takes and the method you use, they will often also include assignments and challenges where you have the chance to demonstrate how capable you are for the role which is great, because how often does that happen in other industries!
Knowing you're being tested on your technical ability can be a bit daunting no matter your seniority but if you can go into it as prepared as possible then as with everything, it should make it a bit easier so let's look into it a bit further.
Check out this example Scala coding question.
What is the difference (if any) between these 2 statements?
- Have a look through our Scala in the City meet-up videos. We have been so lucky to have had loads of inspirational speakers at our monthly meet-up including John De Goes, Jon Pretty and Pawel Szulc where they have spoken on heaps of subjects that you can learn from. Pawel Szulc gave an interesting talk on A road trip with Monads: From MTL, through Tagless to Bio, you can watch it below and catch up on all the others here.
- Don't limit the resources you use. The Scala Programming Language website is amazing for resources from books, to online exercises and course, check out the extensive list here.
- See if you can find example interviews online. We managed to find this helpful video from Life at Google where they explain and example coding interview question, they also highlight the best practices.