Interview process was done remotely:
1) Initial call with hiring manager
2) Coding challenge
3) Architecture interview
4) Code refactor interview - failed
5) Final round?
All rounds went smoothly until the code refactor interview. The interview was ambiguous for the following reasons:
- Task title was 'Code refactor' yet instructions said there was a bug in it. Refactoring by definition means that you change the implementation without changing the result
- Instructions said I should discuss improvements as if it were providing code review for a colleague. In this case I would never refactor the code since that's the colleague's job but instead add comments and discuss
- When refactoring am I allowed to completely rewrite the original code or must I make incremental improvements? Should I write unit tests before refactoring since this is what I would do in the real world?
I was just overall a bit confused which wasted time during the interview. I felt there weren't any clear instructions.
The code that appeared in front of me was not good, and I started rewriting it but the examiner kept defending reasons as to why a particular part wasn't bad. Clearly the examiner had strong opinions on what is good and bad code which were conflicting with mine. This doesn't help during such a short interview. I believe the code refactor test would be better done as a send home exercise.
The code task itself was poor, it was very little about refactoring or OOP and more about understanding what a badly written algorithm with no comments does. The examiner was incredibly annoying and patronising and kept interrupting whilst I was processing a better solution in my head.
Overall the interview process was good but let down by a badly designed task, with poor instructions and a poor examiner near the end. My feedback to Synthace would be to go more in to depth about previous coding experience looking at GitHub code etc rather than endless coding exercises.
My advice to candidates is to have a lot of questions to ask Synthace ready as they ask you to ask questions after every round.