惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
小众软件
小众软件
美团技术团队
Martin Fowler
Martin Fowler
爱范儿
爱范儿
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
J
Java Code Geeks
B
Blog
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
博客园 - Franky

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Я дал джунам тестовое уровня senior – и вот что получилось
AntonOgarkov · 2026-05-01 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение4 мин

Охват и читатели634

Мнение

В последнее время у меня ощущение, что на рынке разработки что-то «сломалось»

Нанимают как будто бы только сеньоров. Требования на сеньора ниже, чем на джуна, с учетом конкуренции. Из-за этого опыт начинают крутить почти все новички: те, кто не делает этого сразу, часто не находят работу и в итоге приходят к тому же.
Можно представить, что это новая система сдержек и противовесов, где все врут, знают об этом, и в итоге оцениваются реальные знания. Но нет: оценивается только умение себя подать, подстроиться под все искусственные барьеры, не связанные с реальностью.

Моя интуиция подсказывает, что есть ребята с небольшим опытом, но умеющие писать код и справляться с большинством задач. Я начал думать, как можно объективно оценить умение программировать.

Но для начала нужно было определиться: кто вообще нужен?

Мне ни разу за 7,5 лет не приходилось писать сортировку в блокноте. Зато постоянно приходилось разбираться в чужом legacy-коде, вносить небольшие, но опасные изменения, чинить интеграции, вытаскивать вменяемую структуру из монолитов и по мере необходимости решать инфраструктурные задачи. Архитектурные проблемы в реальной работе почти никогда не выглядят как олимпиадная задача. Обычно это что-то вроде: “вот старый сервис, вот бизнес-требование, вот ограничения по времени, нужно сделать так, чтобы не развалилось”.

Ситуацию дополнительно меняет то, что нейросети уже заметно обесценили часть “лобовых” знаний и сильно ускорили написание кода. Но это не означает, что инженерное мышление стало неважным. Скорее наоборот: теперь особенно важно отличать человека, который осознанно использует AI как инструмент, от человека, который просто генерирует красивый код без понимания границ решения, рисков и компромиссов.

Я не придумал ничего лучше тестового задания. Но тестовое хотелось сделать не учебным, а максимально приближенным к тому, что реально встречается в работе backend-разработчика.

Почему именно рефакторинг, а не задача "с нуля"

Давать абстрактную задачу на алгоритмы мне не хотелось. В реальной жизни backend-разработчик гораздо чаще не проектирует идеальную систему на белом листе, а приходит в уже существующий проект и начинает его постепенно приводить в порядок.

Поэтому я сделал тестовое в формате рефакторинга. Исходной точкой был намеренно плохо спроектированный монолит интернет-магазина на Django. Я специально сделал его “неровным”: с плотной связностью компонентов, смешением бизнес-логики и HTTP-слоя, спорными зависимостями между модулями и местами, где легко наделать ошибок в согласованности данных.

Задача кандидата была не просто “переписать Django на FastAPI”, а декомпозировать этот монолит в вменяемый backend-проект с понятной структурой и современными практиками разработки.

Минимально я ожидал от решения следующие вещи:

  • перенос ключевой бизнес-логики из монолита в новый сервис;

  • нормальную структуру проекта, где HTTP-слой не смешан с доменной логикой;

  • работу с БД через явный слой доступа, а не хаотичные запросы из обработчиков;

  • валидацию входных данных;

  • понятную обработку ошибок;

  • запуск проекта одной командой;

  • конфигурацию через переменные окружения;

  • хотя бы базовую контейнеризацию;

  • использование кеширования и очередей обработки там, где это действительно имеет смысл.

Но основное, что я хотел проверить с помощью тестового - это как мыслит человек, его подход к работе. Выбор конкретной архитектуры и подходов был за кандидатом. Какая архитектура, что покрыть тестами, использовать ли SAGA, как организовать авторизацию и тд - полная свобода творчества. Так же с помощью этого проверяется ответственность за свое решение - нужно было все же сохранить бизнес логику и сделать так чтобы это все работало без критических багов.
То есть сначала я оценивал так как будет оценивать заказчик - все ли работает так как задумано со стороны клиента. Потом как инженер - на сколько поддерживаемо и оправно решение.

Так же важным этапом было суметь объяснить написанное и обосновать выбор тех или иных решений, предложить как можно дальше развивать проект.

Меньше чем через неделю я получил первые ответы по тестовому

Честно, я не ожидал, что код вообще запустится или будет состоять не только из багов, но, к моему удивлению, все проекты запустились, и где-то треть была сделана без критических ошибок. Встречались, конечно, и грубые недоработки, типа полностью открытых методов, отсутствия согласованности данных и т. д.

Но были и правда отличные решения: например, когда человек использовал API Gateway с проверкой токенов, хотя напрямую об этом не было сказано, использовал чистую архитектуру, грамотно построил взаимодействие с Kafka.

Что же насчет собеседований? Тут я был просто уверен, что большинство не сможет и пары слов связать в ответ на вопрос, что же это такое было навайбкожено. Особенно в случаях, когда решения выглядят слишком уж вылизанно.

Как ни странно, я получил абсолютно обратный эффект: кандидаты в большинстве случаев адекватно объяснили, что и как они делали.

Еще удивительнее было то, что опыт в разработке тут вообще не сыграл никакой роли. Лучшее решение, которое я упоминал вскользь, предоставил студент без какого-либо коммерческого опыта. Также он хорошо объяснил, как устроен проект, как он поэтапно, где-то советуясь с нейронкой, создал этот проект.

Что в итоге?

Я убедился в том, что критерии, на которые сейчас опирается найм, и то, что реально нужно от кандидата, — совершенно не связанные вещи.

Убедился, что есть множество людей, которые умеют работать, но не могут найти работу, потому что не накрутили себе еще 5+ лет опыта.

Да, с оговорками: я бы не отдал джунам строить архитектуру и решать по‑настоящему сеньорские задачи. Но, может, раз 90% задач по силам многим, то пусть сеньоры займутся именно тем, где они действительно нужны.

Раз я нашел людей, которые могут работать дешевле рынка раза в два, то ищу для этих людей проект. Да, я планирую открыть еще одну галеру, но, может быть, она хоть немного починит найм.