The interview process consisted of three stages: an algorithmic task, an HR screening, and a technical interview with a take-home assignment.
The earlier stages were straightforward, but the take-home assignment became the main evaluation point. The feedback focused largely on aspects like human-friendly copywriting and UX polish (for example empty-state messaging), while my implementation prioritized correctness, security, and safe SQL handling. Given the time constraints of the assignment, I intentionally focused on meeting the stated functional requirements and ensuring safe query construction rather than polishing UX details.
The assignment also started from a deliberately poorly written PHP codebase that candidates are expected to understand and work with. While I understand the intention may be to test the ability to navigate unfamiliar legacy code, the overall exercise felt less like solving a clearly defined engineering problem and more like trying to guess unstated expectations about priorities.
To be fair, the assignment was paid and the payment was processed as promised. However, the amount of time required to go through the code and complete the task was still quite significant.