Как устроен найм в IT
Устроиться на работу в IT — это не просто отправить резюме и прийти на собеседование. Процесс найма может занять от недели до нескольких месяцев и включать множество разных этапов.
В этой статье разберем, какие этапы бывают при устройстве на работу Python Backend разработчика в разные типы компаний. Здесь не будет инструкций КАК проходить эти этапы, а только информация о том, ЧТО на них происходит
Прежде чем разбирать этапы собеседований, важно понять: разные типы компаний ищут разных людей. И процесс найма заточен под эти потребности.
Типы it компаний
Аутсорс - компания берет проект целиком и делает его своими силами
Пример: разработка сайта под ключ
- Можешь писать код 10 часов в день, когда клиент требует
- Не задаешь вопросов "а зачем это нужно?" — есть задача, делай
- Быстро решаешь проблемы, скорость важнее качества
Аутстаф - компания предоставляет конкретных специалистов «в аренду»
Пример: "Зеленый банк" разрабатывает новую функцию в приложении. У них есть команда, но нужен еще один Python-разработчик на 2 месяца. Они обращаются в аутстафф-компанию, получают разработчика, он садится работать вместе с их командой. Через 2 месяца задача готова — разработчик уходит на другой проект
- Знаешь стек из вакансии — берем, не знаешь — до свидания
- Можешь быстро влиться в чужую команду и начать закрывать задачи
- Готов работать интенсивно, когда клиент платит за скорость
Продуктовая компания - у них есть свой сервис или приложение, которым пользуются люди.
Пример: онлайн-кинотеатр, банковское приложение, бронирование отелей
- Работал в их или смежном домене, понимаешь бизнес и продукт
- Проработаешь минимум год (найм дорогой, не хотят терять людей)
- Вписываешься в команду, с тобой комфортно работать
- Мотивация расти
Стартапы - молодые компании с новым продуктом
Но в этой статье сосредоточимся на трех основных типах, где работает большинство разработчиков
Анатомия найма
Классический процесс (большинство компаний):
Финальное интервью ( Фитинг с командами )→ СБ → Оффер
Каждый этап — это отдельная проверка. На скрининге смотрят «подходит ли в целом», на техническом — «умеет ли кодить», на финальном — «хотим ли работать с этим человеком»
Скрининг:
Цель этапа: Отфильтровать неподходящих кандидатов до того, как занять время инженеров.
- Соответствие базовым требованиям (опыт, стек, языки)
- Адекватность коммуникации
- Зарплатные ожидания (впишешься ли в бюджет)
- Мотивацию к смене работы
Длительность: 15 минут - 1 час, в среднем 25-30 минут
Техническое интервью:
Цель этапа: Проверить реальные навыки программирования и знание технологий.
Если структура интервью не регламентирована компаний, то скорее всего оно подразумевает комбинацию практической части и теоретической
Пишешь код онлайн в редакторе, например yandex code , ide + показ экрана
1. Знание языка программирования:
- Реализовать паттерн Singleton разными способами
- Написать параметризированный декоратор retry
- Написать функцию для обработки данных
- Написать контекстный менеджер
- Определить требования и все edge кейсы
- Выбрать оптимальное решение
- Назвать асимптотическую сложность по времени и памяти
- Реализовать алгоритм
- Покрыть код тестами
Дают плохо написанный код — нужно улучшить:
- Разделение логики на слои
- Избавление от блокирующих io операций в асинхронном коде
- Исправление mutable defaults ( def func(l: list = []) )
- Соблюдение принципов SOLID, DRY, KISS
- Спроектировать API с фильтрацией и пагинацией
- Межсервисное взаимодействие через брокеры
- Применение паттернов (Transaction Outbox, Saga)
Вопросы по ключевым темам. Интервьюер обычно имеет список тем, по которым оценивает кандидата.
- Типы данных
- Как устроено хэширование
- Как работает GC
- Что такое threading, multiprocessing, async и в чем разница
- Как устроен GIL
- SQL vs NoSQL - когда что использовать, плюсы и минусы
- Индексы, какие бывают, когда применяют и их особенности
- ACID, Транзакции и уровни изоляции
- Нормализация, формы нормализаций, когда нужна денормализация
- Репликация ( сихронная vs асинхронная ). Разновидности
- Шардирование, Партицирование и их отличия
3. Брокеры сообщений ( RabbitMQ, Kafka, Redis ):
- Зачем нужны, в чем отличие
- Гарантии доставки (at most once, at least once, exactly once)
- Что такое consumer groups в kafka
- Что такое Docker, зачем он нужен. Что такое multi-stage builds
- Что такое поды и ноды в k8s. Как посмотреть логи в поде
- Что такое ci/cd , писал ли сам?, какие job'ы были в pipeline'ах?
Системный дизайн:
Цель этапа: Проверить умение проектировать масштабируемые системы и принимать архитектурные решения.
1. Сбор функциональных требований (5-10 минут)
Уточняем, что именно должна уметь система.
- Пользователь может создать объявление
- Можно посмотреть список своих объявлений
- Можно посмотреть карточку отдельного объявления
- Можно искать объявления по категориям
- Можно добавлять в избранное
2. Сбор нефункциональных требований (5-10 минут)
Уточняем характеристики системы.
- Соотношение write/read нагрузки: 1/100 (читают в 100 раз чаще, чем пишут)
- Система должна быть масштабируемой
- Начальная нагрузка: 100 RPS
- Доступность: 99.9%
- Latency: ответ за 200ms для 95% запросов
3. Расчет нагрузок (5-10 минут)
- Начальная нагрузка: 100 RPS
- Максимальная нагрузка: 10,000 RPS (пиковая)
- R/W ratio: 1/100 (1 запись на 100 чтений)
- Одно объявление занимает ~2KB
- 1 млн объявлений = 2GB данных
- Трафик в день: 100 RPS × 86,400 сек = 8.64 млн запросов
4. Верхнеуровневое проектирование (15-20 минут)
Рисуем архитектуру на доске: клиент → load balancer → API Gateway → сервисы → базы данных → кеш
- Load Balancer (распределение нагрузки)
- API Gateway (единая точка входа)
- Application servers (бизнес-логика)
- Database (хранение данных)
- Cache (Redis, Memcached)
- Message Queue (Kafka, RabbitMQ)
- CDN (для статики: картинки, видео)
5. Масштабирование с учетом нагрузок (15-20 минут)
Объясняем как система будет справляться с ростом ( 100 RPS -> 10 000 RPS )
- Шардирование БД
- Репликация (Master-Slave для read-heavy нагрузки)
- Кеширование популярных запросов
- Horizontal scaling (добавление серверов)
6. Детальная реализация фрагмента (10-15 минут)
Углубляемся в конкретную часть системы
- Применение паттернов для отказоустойчивости (Circuit Breaker, Retry, Timeout)
- Как детально будет реализовано хранение медиа-материалов ( S3, CDN )
Часто в этой секции задают вопросы:
- OLAP / OLTP ( много мелких операций, аналитика больших данных)
- CAP теорема ( согласованность, доступность, устойчивость к разделению )
- Шардирование (Range Base, Key based, Directory based). Виртуальные шарды
- Виды кэширования ( Read Aside, Write Aside, Read Through, Cache Ahead ). Виды инвалидации кэша
- Load Balancer, API Gateway - зачем нужно, какие бывают виды
- L4 / L7 Балансировка
Длительность: 1 час - 1.5 часа
Финальное интервью:
Цель этапа: Проверить софт скиллы и специфику работы команды.
Кто проводит: CTO, Product Owner, тимлиды. Бывает, что на финал приходят лиды из 3-4 команд и задают вопросы.
В BigTech и FinTech компаниях обычно только здесь происходит фитинг с командами, когда ты можешь уже иметь представление о том, чем ты сможешь заниматься. поэтому здесь происходит дополнительное мини техническое интервью
1. Прикладные вопросы со спецификой команды
В зависимости от того, в какую команду ты идешь, могут спросить про конкретные технологии:
Автоматизация сетевой инфраструктуры:
- Протоколы: TCP/IP, DNS, DHCP
- Сети: маски подсетей, роутинг, VLAN
- Маршрутизаторы, Коммутаторы, Файрволы
- Понимание LLM и их применения
- RAG (Retrieval-Augmented Generation) — как работает
- Работа с Langchain, LangGraph
- Векторные базы данных
- Понимание DAG'ов
- Airflow / Prefect для оркестрации
- CDC агенты
- Работа с инкрементальными загрузками данных
- Способность работать в команде
- Адекватность в коммуникации
- Умение решать конфликты
- Карьерные амбиции и мотивация
- Соответствие с ценностями компаний ( яндекс, авито )
- Расскажите о сложном конфликте в команде. Как решали?
- Как действуете, если не согласны с решением тимлида?
- Что для вас важно в работе?
- Расскажите о проекте, который провалился. Что пошло не так?
- Интересы бизнеса или интересы пользователей? ( ценности компании )
- Нулевая самокритика ( "Я никогда не ошибаюсь")
- Токсичные высказывания про прошлых работодателей
- Не можешь привести конкретных примеров ( например своего факапа или того, чем ты гордишься )
- Отсутствие мотивации, "Мне все равно, куда идти лишь бы платили побольше"
- Не задаешь вопросы про команду / процессы / продукт
Длительность: 1 час - 1.5 часа
Служба безопасности (СБ):
На этом этапе тебя просят заполнить подробную анкету про себя и своих родственников
Задача сотрудников СБ отсечь тех, кто не благонадежен, четкий список требований нигде не раскрывается, но явными редфлагами служат несоответствия отправленных ответов в форме с тем, что они проверят и найдут.
Например, если указано высшее образование, но диплома у человека нет
Оффер:
Тот самый pdf, который ты ждешь
Оклад, указывается в gross (т.е до вычета налогов), в России используется прогрессивная шкала НДФЛ, узнать точную сумму после вычета налогов можно с помощью калькулятора
Премия, обычно в виде % от оклада и выплачивается раз в квартал / год
Важно понимать, что работодатель может НЕ выплачивать ее, аргументируя это проблемами с прибылью у компании, недостаточным выполнением заданий с твоей стороны в рамках kpi и т.п
Sign-in бонус, бонус за то, что ты принял оффер. Предлагают преимущественно крупные компании, выставления размер в 2-3 оклада в оффере
Важно понимать - никто не будет просто так давать тебе деньги, всегда нужно уточнять условия! Чаще всего прописывается пункт, что сотрудник обязан проработать в компании не менее 6 или 12 месяцев, в противном случае, он обязан будет возместить сумму бонуса. Поэтому что будет если ты принял оффер, получил 600 000 рублей в виде бонуса, а потом тебя уволили через 3-4 месяца? Правильно, ты будешь возмещать сумму этого бонуса им
Плюшки ( корпоративные скидки, ДМС и т.п ) - предлагают обычно крупные компании
Виды оформления трудоустройства:
Существует несколько видов трудоустройства: ТК РФ, ГПХ, ИП/СЗ, криптовалюта. В большинстве продуктовых компаний оформляют по ТК РФ. Аутсорс/аутстафф часто предлагают ИП или ГПХ. Подробнее о плюсах и минусах каждого варианта — в отдельной статье.
Важно помнить, что оффер - это просто файл, который не имеет никакой юридической силы. Пока ты не оформился, это просто красивые циферки, в любой момент могут сказать "извини, мы решили все таки выбрать другого кандидата" и на то, что они тебе уже выслали оффер всем пофиг
Этап торгов:
Этот этап критически важен — именно здесь можно добиться прибавки 20-30% к офферу.
Пример: Если оффер 300,000₽, то 25% прибавки = 75,000₽ в месяц или 900,000₽ в год!
Компании почти никогда не дают оффер по верхней границе вилки сразу.
Всегда есть пространство для переговоров. Рекрутер ожидает, что ты будешь торговаться — это нормальная практика.
Первый оффер ≠ финальный оффер
Чтобы увереннее чувствовать себя на переговорах лучше иметь несколько офферов от других компаний
Трудоустройство:
Формальное оформление на работу после принятия оффера
После того как ты отправил все документы и приступил к первому рабочему дню ты еще будешь ждать фактического подписания документа и получение рабочей техники, это может занимать до 10 рабочих дней.
В договоре прописаны должностные обязанности
Испытательный срок:
Как первокурсник не является студентом до первой сессии, так и разработчик не может сказать что работает в компании Х пока не прошел испытательный срок.
По ТК РФ: Стандартный испытательный срок — 3 месяца (может быть короче, но не длиннее).
Онбординг (первые 1-2 недели):
- Знакомство с командой
- Получение доступов к системам
- Изучение процессов
- Изучение кодовой базы
- Настройка окружения
Многие компании ставят конкретные цели, которые нужно достичь за испытательный срок, поэтому важно уточнить их у руководителя чтобы успешно пройти испыталку
Как успешно пройти испытательный срок:
- Задавать вопросы, не бояться показаться глупым и неопытным
- Оценивать сроки выполнения задач с запасом
- Озвучивание проблем и подсвечивание рисков, если видишь что не укладываешься в срок
- Документировать что сделал, что будешь делать
Пройденный испытательный срок
Теперь полноценный разработчик в компании 🎉🎉🎉
Этапы которые не вошли:
Полиграф:
Важно: Встречается крайне редко в IT. На практике большинство разработчиков за всю карьеру ни разу не проходят полиграф.
- Государственные структуры и госкомпании
- Оборонные предприятия
- Компании, работающие с гостайной
- Позиции в службе безопасности
Тестовое задание:
Задания, которые дают компании для кандидатов для проверки их технических навыков, могут быть как до скрининга, так и после
- Реализация нескольких эндпоинтов с кэшированием, бизнес-логикой и авторизацией
- Парсер логов с фильтрацией и обработкой данных
- Интеграция нескольких сервисов через брокеры (Kafka, RabbitMQ)
Старайся переводить все на техническое интервью вместо тестового задания.
- Низкая вероятность, что кто-то действительно смотрит тестовое. Многие компании просто отсеивают на автомате или поверхностно просматривают
- Большие временные затраты. На хорошее тестовое уходит 4-8 часов (а иногда и больше).
- Низкий ROI (return on investment). За это время можно сходить на 2-3 технических интервью в другие компании и получить больше шансов на оффер.
- Нет обратной связи. Часто просто приходит отказ без объяснений — не понятно, что было не так
Заключение
Процесс найма в IT может показаться сложным и долгим, но понимание каждого этапа помогает лучше подготовиться и увереннее себя чувствовать.
- Разные типы компаний ищут разных людей
- Количество этапов зависит от размера и типа компании (от 3 до 7+)
- Всегда торгуйся — это может дать +20-30% к офферу
- Оффер — не гарантия работы, пока не подписан договор
- Испытательный срок — это проверка с обеих сторон
📌 Подписывайся @next_offer_it
🌐 Сайт: nextoffer.ru
📝 Менторство: @kirill_it_mentor
Я являюсь Senior Python разработчик в BigTech, в своем канале пишу статьи про найм, разборы собеседований, а также помогаю с индивидуальной подготовкой