After progressing through the initial screening round and an iOS engineer interview, I was emailed details for a technical assignment. Despite some reservations I had about completing the assignment, based on Glassdoor reviews from other iOS engineers, I decided to give Starling/Engine a chance and do the assignment anyway. I invested a significant amount of time and effort over a week, balancing this with my full-time work and family commitments.
Well, in the end, I was rejected with questionable feedback. The rejection feedback primarily focused on the lack of tests for specific functionality, an aspect not emphasised in the original assignment guidelines. While I did write some tests; even though that was not the focus of the assignment or mentioned at all, the limiting 7-day timeframe wasn't enough for me to add the type of test coverage Starling/Engine seem to imply they wanted in the feedback they gave me. Like any logical person would do, I decided to prioritise completing the actual tasks outlined in the assignment, which is something they didn't even mention in the feedback they gave me.
At the end of the day, clearer prioritisation guidelines and more specific expectations for each component of the assignment would have helped. I could only go by what was written on the assignment document. I'm not a mind reader, and these technical-assignment games are not cool. A simple "We would like to see some tests" would have influenced my decision making around tests.
Starling/Engine would benefit from providing more structured guidelines for their technical assignments. This would of course help candidates more accurately demonstrate capabilities in areas most crucial to the company's needs, which would obviously bring about a fairer and more efficient assessment process. I know this would have certainly made me allocate my time to different tasks more effectively.
To future candidates considering iOS roles at this company, or even Android or backend engineers: I strongly recommend carefully reading reviews left by other engineers who have gone through the hiring process at Starling/Engine before you invest time in their technical assignment. I believe whether or not you progress through the hiring process, won't be based on your skill, fit and potential, but rather on whether or not the decision maker/engineering manager likes you.
My only regret is the number of hours and amount of energy I put towards completing this assignment. To make it all worthwhile, I plan to make my repository for this assignment public so that I can showcase my work to other companies that will hopefully give me a fair shot at progressing through their hiring stages based on my skill and fit, and not some opinion. At least my efforts won't go to waste. I also want to get the opinion of people in my network and have them critique the completed assignment.
I'm ok with rejection, but one thing that really bothers me is when someone can use their power, opinion, and favouritism to rob me of a chance of employment. I mean, there could have been another round where they could have asked me to write the tests they wanted to see in their presence, or question me further, why was I not given this opportunity?
Anyway, I believe this will be the last technical assignment of this size that I complete.
If you're a software engineer about to walk the path I walked, I wish you good luck, and I hope my review helped.