The post has been translated automatically. Original language: Russian Russian
In test tasks, it is important to specify immediately what level of architecture is expected.
If this is not specified, a reasonable question arises: Is it necessary to design a system with scaling in mind (and if so— in which direction)?
— Or is it enough to show the basic things, adhering to the principles of KISS and YAGNI — not to do too much, but to implement strictly according to the requirements?
In my opinion, if there are no clear instructions, it is better to clarify than to guess and take risks: — do "too much" and get feedback "overloaded", — or vice versa — do it simply and hear "architectural skills not shown".
I have personally encountered both situations. And it's more about communication than it is about skill.
Do you think it's worth describing architectural expectations in test assignments right away?
В тестовых заданиях важно сразу уточнять, какой уровень архитектуры ожидается.
Если это не указано, возникает резонный вопрос: — Нужно ли проектировать систему с расчетом на масштабирование (и если да — то в каком направлении)?
— Или достаточно показать базовые вещи, придерживаясь принципов KISS и YAGNI — не делать лишнего, а реализовать строго по требованиям?
На мой взгляд, если нет четких указаний, лучше уточнить, чем гадать и рисковать: — сделать "слишком много" и получить фидбэк "перегрузил", — или наоборот — сделать просто и услышать "архитектурные навыки не проявлены".
Лично сталкивался с обеими ситуациями. И это больше про коммуникацию, чем про навык.
А вы как считаете — стоит ли сразу описывать архитектурные ожидания в тестовых заданиях?