Как оцениваешь свой уровень: джуниор, мидл или синьор?
Что проверяют
Совпадает ли ваше представление об уровне с тем, как грейды устроены в этой компании, и не разойдутся ли ожидания по задачам и деньгам. Следом почти всегда идёт вопрос: «Чего вам не хватает до следующего уровня?»
Как отвечать
Опирайтесь не на стаж, а на самостоятельность и масштаб решений:
- джуниор: выполняет задачи по чёткой постановке, нуждается в регулярном ревью и помощи. Знает синтаксис, базовый Django или FastAPI, пишет простые тесты;
- мидл: сам ведёт фичу от постановки до продакшена. Понимает ORM и запросы к базе, пишет тесты на
pytest, разбирается вasyncioи в том, где мешает GIL, умеет профилировать и отлаживать по логам; - синьор: отвечает за систему, а не за задачу. Выбирает архитектуру и объясняет компромиссы, проектирует миграции на больших таблицах, разбирает инциденты, растит других разработчиков и влияет на процессы.
Назовите свой уровень и подкрепите его двумя-тремя фактами из опыта: какую часть системы вы вели сами, какое решение приняли и чем оно закончилось. Например: «Считаю себя крепким мидлом: сам проектирую и довожу сервисы на FastAPI, но архитектурные решения уровня всей системы пока согласую с лидом». Подставьте свои факты. Полезно добавить, чего не хватает до следующего уровня: это показывает, что разницу вы понимаете.
В ответ уточните, как устроены грейды у них: названия везде свои, и мидл в одной команде оказывается синьором в другой.
Где спотыкаются
Меряют уровень годами: «три года, значит мидл». Три года однотипных задач по готовому шаблону не делают человека самостоятельным.
Называют себя синьором, а на вопросы про GIL, транзакции или устройство asyncio отвечают поверхностно. Завышенный уровень проверяют жёстче всего.
Перечисляют технологии вместо ответственности. Docker и Git есть в любом резюме и уровень не определяют.