avatar
дата инженеретта
@data_engineerette
12.05.2026 08:50
Airflow для менеджеров

В Ariflow 3.1 появилась группа hitl-операторов, которая позволяет что-то вводить пользаку во время работы дага

HITL = Human-in-the-loop


Что делает пример на картинках?

Мы задаем даты, выбираем сервисы из списка, вводим почту и получаем отчет. Операторы по сути помогают менеджерам не дергать DA/DE своими адхоками, а пойти самому накликать и выгрузить то, что нужно

А как это происходит?

В базовых примерах после разворачивания airflow появится даг example_hitl_operator. Там есть несколько операторов из пакета airflow.providers.standard.operators.hitl:

emojiHITLOperator — выбрать одну или несколько опций из списка
emojiHITLEntryOperator — ввести любой текст
emojiHITLBranchOperator — выбрать следующую таску
emojiApprovalOperator — одобрить или отклонить

В коде выглядит это вот так:


wait_for_multiple_options = HITLOperator(
task_id="wait_for_multiple_options",
subject="Please choose option to proceed: ",
options=["option 1", "option 2", "option 3"],
multiple=True,
defaults=["option 1"],
)


Когда заходите в UI, после запуска дага появляется доп вкладка Required Actions (1), где и нужно прожать опцию. Это все потом отправляется в xcom:


{
"params_input": {},
"responded_at": "datetime.datetime@version=2(tz=(UTC,pendulum.tz.timezone.Timezone,1,True),timestamp=1778505898.269782)",
"chosen_options": [
"option 2",
"option 3"
],
"responded_by_user": {
"id": "1",
"name": "airflow"
}
}


Из xcom потом можно достать в других тасках. Сначала обращаетесь по названию таски, а потом работаете, как с обычным словарем:


{{ ti.xcom_pull(task_ids='wait_for_multiple_options')["chosen_options"] }}

{{ ti.xcom_pull(task_ids='wait_for_input')["params_input"]["information"] }}


Use case очень прикольный. Интересно, а вот на практике этим будут пользоваться?

@data_engineerette
12
🔥 7
👍 6
14 26 952
avatar
дата инженеретта
@data_engineerette
05.05.2026 12:50
Куда катится рынок?

Недавно заходила послушать обсуждение текущей ситуации на рынке. Что интересного оттуда записала:

Сейчас есть смысл просить 300-350-400. Потому что вместо разраба за 500-600 возьмут обычного + дадут ему иишку. Хотя еще совсем недавно говорили, что занижать себе цену тоже не надо

Извините, неудачники нам не нужны


— видимо, больше не работает

А вот вилка по аутстаффу — вообще максимум 280-300 на руки

На hh есть плашка "Конкретные достижения". Она видна только hr. И резюме с такой плашкой чаще показывается работодателям. Если у вас нет красивых циферок, то отсутствие плашки — доп фильтр, резюме даже не откроют

"О себе" могут читать первым, поэтому этот раздел нужно заполнять. Но без банальностей по типу "стрессоустойчивый, люблю решать сложные задачи, саморазвиваться"

Нужно хорошо общаться в переписке, без грубости и отношения "все должны" (база, но все же)

Когда спрашивают про мотивацию, никогда не упоминать токсичность

@data_engineerette
16
🌚 8
🔥 5
24 34 1.7K
avatar
дата инженеретта
@data_engineerette
30.04.2026 13:52
Data Vault за один вечер

Решила я тут погрузиться в дата волт на практике. Нашла интересный проект — AutomateDV (бывший dbtvault)

У них есть демо-проект, в котором создаются разные сущности, несколько видосов с объяснениями и небольшая, но очень детальная дока

Поставила себе по инструкции dbt-core, dbt-postgres:


python -m pip install dbt-core dbt-postgres


Подключила AutomateDV — это просто пакет в dbt-проекте, задается в packages.yml:


dbt deps


Подняла постгрю в докере, настроила коннекшены, создала проект:


dbt init


Сгенерила данные из датасета TPC-H и положила их в volume:


pip install tpchgen-cli
mkdir data
tpchgen-cli -s 1 -f csv -o ./data


Создала таблицы и загрузила в них данные:


COPY region FROM '/var/lib/postgresql/data/data/region.csv' DELIMITER ',' CSV HEADER;


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

derived_columns - новые поля
hashed_columns - поля для хэширования

Тут мы добавили поле как алиас другого, поле с константной строкой, сделали хэш из 2х первичный ключей:


{%- set yaml_metadata -%}
source_model: 'raw_orders'
derived_columns:
CUSTOMER_KEY: 'CUSTOMERKEY'
RECORD_SOURCE: '!TPCH-ORDERS'
hashed_columns:
ORDER_CUSTOMER_PK:
- 'CUSTOMER_KEY'
- 'ORDERKEY'
...


Во-вторых, создание самих сущностей происходит с помощью удобных макросов:


automate_dv.stage()
automate_dv.hub()
automate_dv.sat()
automate_dv.link()
automate_dv.pit()
...


Все модельки можно позапускать, а потом сгенерить доку по проекту:


dbt run -s +v_stg_orders
dbt run -s hub_customer

dbt docs generate
dbt docs serve


Но саааамое прикольное — это после компиляции моделек зайти в папку target/ и посмотреть, что там нагенерилось. И еще сходить в исходный код самого пакета в dbt_packages/

А нагенерилось там вот такое:


—хэширование нескольких полей
DECODE(MD5(NULLIF(CONCAT_WS('||',
COALESCE(NULLIF(UPPER(TRIM(CAST(CUSTOMER_KEY AS VARCHAR))), ''), '^^'),
COALESCE(NULLIF(UPPER(TRIM(CAST(ORDERKEY AS VARCHAR))), ''), '^^')
), '^^||^^')), 'hex') AS ORDER_CUSTOMER_PK,


—отбор по rn для инсерта в линки
ROW_NUMBER() OVER(
PARTITION BY rr.ORDER_CUSTOMER_PK
ORDER BY rr.LOAD_DATE
) AS row_number

—отбор уникальных значений в сателлит по хешу
WHERE b.INVENTORY_HASHDIFF != b.prev_hashdiff


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

@data_engineerette
🔥 15
7
🤔 5
12 52 2K
avatar
дата инженеретта
@data_engineerette
26.04.2026 12:02
Нетворкинг для разведчиков

По рекомендации прочитала книжку «Нетворкинг для разведчиков» от пары советских разведчиков. Она лучше предыдущей, вдохновила меня на практику, но не прям вау, у них много похожих мыслей

Позже я посмотрела интервью с ними (раз, два), особенно понравилось с женой. Вы представляете, какой удар для детей узнать, что их родители шпионы и теперь они должны покинуть свой дом, друзей и навсегда уехать жить в Россию?

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

Нетворкинг — это заставить человека купить вас


Чтобы хорошо нетворкаться, нужно:

Определить цель
Определить стратегию, путь к цели, нарисовать карту контактов
Продумывать наперед все сценарии развития событий и свои действия
Систематически тренироваться

Что за карта контактов? Рисуете круг, делите на сектора по областям деятельности и на кольца по плотности знакомства. В итоге я нарисовала 200+ контактов. Потом мне надоело, я не поняла, что дальше делать, и забросила Видимо, надо сначала придумать цель

Естественно, сближаться нужно не со всеми людьми, а с этими:

коннекторы, у кого много знакомых
конденсаторы, у которых много инфы (чтобы потом обменять с новыми людьми через коннекторов)
мосты, которые открывают доступ к другой стране/организации
восходящие звезды = лидеры завтрашнего дня

Также рекомендовали возобновить общение со старыми контактами. Я попробовала, но одна половина мне не ответила, с другой после нескольких сообщений общение снова остановилосьemoji Из интересного узнала только, что одногруппница из муз колледжа все-таки переехала в Германию, учится там в маге и преподает

Из реальных способов познакомиться предлагается:

просить друзей познакомить с их знакомыми (я этим ни разу не пользовалась)
бывать в клубах, онлайн группах, встречах
участвовать в мероприятиях (митапы, волонтерства) или создать свое

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

вы: в свободное время я прихожу в шахматный клуб
он: о, а я в университете участвовал в турнирах
вы: (искренне удивляясь, хотя фотки с турниров давно у вас сложены в отдельную папочку) правда? а какой у вас рейтинг?..


Из полезного нужно всегда иметь наготове:

представление себя
главные новости
готовые списки тем и вопросов для разговора
зацепки (попросить собеседника или предложить помощь самому)

Еще я записала себе пару практических упражнений:

сидеть в тц, смотреть на людей и делить, с кем хотелось бы встретиться, а с кем нет
провести день, обращая внимание на свои и чужие эмоции

Что думаете? Стало быть, нетворкинг - это чисто циничная штука?

@data_engineerette
Telegram
дата инженеретта
Никогда не ешьте в одиночку и другие правила нетворкинга 🤓 Я увидела эту книгу в рекомендациях, заинтриговало название, но как будто она вообще не про нашу жизнь) Она про конец 20го века, Америку и ведение бизнеса Кратко вот так: 📌составить список будущих контактов 📌познакомиться с ними 📌периодически им всем звонить и приглашать на встречи 📌быть оргом 📌создать личный бренд и сообщество 📌вертеться возле денег и в кругах сильных этого мира В книге есть главное противоречие: автор сначала говорит, почему нужно бескорыстно помогать людям и не стремиться к крупной сделке, а потом - как знакомиться с людьми, которые помогут заключить эту самую крупную сделку 😧 А это уже совсем cringe moment: звонить людям на автоответчик во внерабочее время, чтобы не тратить время на общение, но в то же время напомнить о себе. «Если ты не хочешь разговаривать, зачем звонить?» - моя мама Но я все-таки процитирую и прокомментирую некоторые мысли, которые мне понравились и которые хоть как-то можно привязать к нам Про "силу слабых…
🔥 10
3
💯 1
15 29 1.9K
avatar
дата инженеретта
@data_engineerette
23.04.2026 11:51
Одна из оптимизаций адаптивки

У меня есть много запросов вида "select ... from ... order by". В какой-то момент я заметила, что иногда джобы стартуют, а иногда нет, но считается все нормально. Но разобраться-то все равно интересно)

Я смотрю план запроса у таблиц. Initial Plan у них одинаковый - чтение, селект, сортировка:


== Initial Plan ==
Sort
+- Exchange
+- Project
+- BatchScan catalog.schema.table


Смотрю финальный план

1 таблица (запускает джобу):


== Final Plan ==
AQEShuffleRead
+- ShuffleQueryStage, Statistics(sizeInBytes=368.0 B, rowCount=1)
+- Exchange
+- * Project
+- BatchScan catalog.schema.table1


Длительность - 4с

2 таблица (не запускает джобу):


== Final Plan ==
LocalTableScan


Длительность - 10мс
И причем тут LocalTableScan?

Прикол в том, что во второй табличке 0 строк. И включена адаптивка (spark.sql.adaptive.enabled = true). Адаптивка в спарке понимает, что бессмысленно шафлить 0 строк данных, и возвращает результат за несколько мс

@data_engineerette
🔥 14
1 10 1.7K
avatar
дата инженеретта
@data_engineerette
22.04.2026 09:24
Аналитика, DWH и OLAP-нагрузки растут, и базы начинают упираться в дисковую подсистему…

Для таких задач Selectel добавили новую конфигурацию Mega в базы данных на выделенных облачных серверах. Это кластер объёмом до 27,1 ТБ, приватной сетью 10 Гбит/с и производительностью до 1,5 млн IOPS.

Хороший вариант для высоконагруженных и масштабируемых систем, где важна физическая изоляция данных. По стоимости выходит до 47% дешевле, чем стандартные DBaaS-решения.

Протестируйте бесплатно, до 30 000 бонусных рублей на запуск — по ссылке: https://slc.tl/57jls

Реклама. АО "Селектел". erid:2W5zFGkXM2y
🤔 3
🤷 2
3 2 1.9K
avatar
дата инженеретта
@data_engineerette
17.04.2026 11:55
Мой первый инцидент

У нас есть процесс дежурств, где нужно следить за кластером, поднимать даги, помогать пользователям

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

Я смотрю график - да, лаг прочитанных сообщений начал плавно возрастать, а потом улетел в бесконечность

Я смотрю в кафку - данные приходят

Я смотрю спарк приложение - оно running, тасочки выполняются

Все работает, а данных нет


Детальнее углубляюсь в тасочки - все читается, но количество строк = 0

Смотрю на минимальный оффсет в кафке - а он сииильно дальше. И оффсеты, которые пытается обработать спарк, уже не существуют! Данные лежат только за последние 1,5ч, а не за месяц и ускользают прямо на моих глазах!

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

Потом я анализирую каунты по датам. Данных пришло в 20 раз больше, чем изначально закладывалось под этот топик

@data_engineerette
🔥 25
😭 8
3
17 7 2.3K
avatar
дата инженеретта
@data_engineerette
14.04.2026 20:00
Дата-инженер, пора на прокачку

Если хотите в 2026 не просто “поддерживать пайплайны”, а лучше понимать архитектуру, ускорять разработку и принимать более сильные технические решения — регистрируйтесь на серию вебинаров от команды Дата-сервисов VK Tech.

🦾 В одной серии — сразу 3 практических вебинара:
20 апреляClickHouse в 2026: сценарии, сильные стороны, лучшие практики
20 мая Наш опыт построения Lakehouse: ошибки и выводы 2025
10 июня Вайбкодинг в data engineering: как ускоряться, не ломая прод

🏆 Кому будет полезно:
Дата-инженерам, senior-аналитикам, архитекторам данных, руководителям дата-платформ и всем, кто строит или развивает контур аналитики, BI и ML.

💪 В чем можно прокачаться:
— понять, где ClickHouse реально силен, а где его не стоит ставить “по умолчанию”
— разобраться, как грамотно использовать ClickHouse в DWH и Lakehouse-архитектуре
— увидеть типовые ошибки при построении Lakehouse и не повторять их у себя
— лучше понять связку S3 + Iceberg + Trino / Spark / ClickHouse
— разобраться, где ИИ помогает в data engineering, а где создает риск для качества и прода
— ускорить разработку SQL, ETL/ELT и витрин без потери контроля

💸💸💸 Дополнительный мотив зарегистрироваться:
Получить бонусные рубли для тестирования ClickHouse и Lakehouse в VK Cloud.

📢 Спикер:
Алексей Белозерский, руководитель профессионального сервиса VK Data Platform, VK Tech.

Ведет Telegram-канал «Архитектор Данных» — там про архитектуру данных, внедрение ИИ, аналитику. Подписаться на канал Алексея.

✍️ Зарегистрироваться на вебинары:

ClickHouse

Lakehouse

Вайбкодинг

Подписаться, чтобы не пропускать новые материалы и анонсы:
👉 Данные на стероидах — Telegram-канал команды Дата сервисы VK Tech о практиках и подходах для извлечения максимальной пользы из работы с данными. Подписаться на канал.
🔥 10
5
😭 3
2 30 1.4K
avatar
дата инженеретта
@data_engineerette
13.04.2026 07:35
Разбираемся в каталогах

Начинаем понедельник с распутывания клубочка🧶 Концепций каталога развелось столько, что я сама уже запуталась, что есть что) Давайте вместе разложим по полочкам

Трино

Каталог - это конфиги для подключения к разным источникам данных

Они прописываются в файлике по типу etc/catalog/iceberg.properties:


connector.name=iceberg
iceberg.catalog.type=hive_metastore
hive.metastore.uri=thrift://hive-metastore:9083


Потом можно в запросах обращаться по названию этого коннектора:


SELECT * FROM iceberg.db.table;
SELECT * FROM postgres.public.table;


Spark

Каталог - это API Spark для работы с разными источниками данных

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


spark.conf.set("spark.sql.catalog.spark_catalog", "org.apache.iceberg.spark.SparkSessionCatalog")
spark.conf.set("spark.sql.catalog.spark_catalog.type", "hive")

spark.conf.set("spark.sql.catalog.clickhouse", "com.clickhouse.spark.ClickHouseCatalog")
spark.conf.set("spark.sql.catalog.clickhouse.host", "host")
spark.conf.set("spark.sql.catalog.clickhouse.user", "user")
spark.conf.set("spark.sql.catalog.clickhouse.password", "password")


Дальше обращаться по названию каталога через Spark SQL/DataFrame API:


spark.table("spark_catalog.default.table")
spark.table("clickhouse.default.table")


Iceberg

Каталог - это хранилище метаданных Iceberg таблиц (где лежат снепшоты, манифесты, схемы)

Без каталога айсберг-таблица для движка не существует. Именно каталог знает актуальный снепшот, работает с эволюцией схем и транзакциями

Есть несколько реализаций: HMS (Hive Metastore), JDBC (обычные бд), AWS Glue, REST - Nessie, Polaris, Lakekeeper, lakeFS, Tabular, Unity Catalog

Data Catalog

Каталог - это реестр всех метаданных

Он нужен для Data Governance: сканирует мету из бд, хранит схемы таблиц, содержит техническое описание сущностей и полей, бизнес-описание метрик, умеет в data lineage. Здесь каталог вообще сборку от предыдущих пунктов

Примеры: DataHub, OpenMetadata, Apache Atlas, Amundsen, Marquez, AWS Glue Data Catalog

@data_engineerette
👍 13
🔥 7
6
16 16 2.2K
avatar
дата инженеретта
@data_engineerette
09.04.2026 08:34
Копаемся в метасторе

Вы когда-нибудь заглядывали, что на самом деле хранится в базенке хайв метастора? Там создаются системные таблицы с инфой по базам, таблицам, путям, колонкам и еще много всего

Из наиболее полезных таблиц я для себя выделила:

COLUMNS_v2 - о колонках
CTLGS - о каталогах
DBS - о схемах
ROLES - о ролях
SDS (Storage Descriptors) - о путях к таблицам
TABLE_PARAMS - о свойствах таблиц
TBLS - о таблицах

И на основе этого мы можем вывести сводную инфу по всем схемам, таблицам, полям:


SELECT
d."NAME",
t."TBL_NAME",
t."OWNER",
s."LOCATION",
c."COLUMN_NAME",
c."TYPE_NAME",
c."COMMENT"
FROM "TBLS" as t
JOIN "DBS" d
ON t."DB_ID" = d."DB_ID"
JOIN "SDS" s
ON t."SD_ID" = s."SD_ID"
JOIN "COLUMNS_V2" c
ON s."CD_ID" = c."CD_ID"
--WHERE d."NAME" = 'raw'
--AND t."TBL_NAME" = 'test'
ORDER BY d."NAME", t."TBL_NAME", c."INTEGER_IDX";


А на этой картинке представлена ER-диаграмма модели данных

@data_engineerette
🔥 16
9 12 2K
avatar
дата инженеретта
@data_engineerette
06.04.2026 07:55
Могла стать главной в yandex cloud

На меня вышел человечек и предложил зарефералить на позицию Product Manager для развития продуктов для де в облаке. Я внутри себя: что?? меня??? Конечно, делаем!

Для половины требований я понимала, что не подхожу:

emojiРаботали менеджером продукта и реализовали успешные продуктовые изменения
emojiРазбираетесь в product discovery, умеете проводить качественные и количественные исследования, проводить конкурентный анализ
emojiПонимаете, как устроен цикл продаж, знакомы с управлением и ценообразованием

Но зато я буду знать свои слабые стороны и подноготную менеджерского процесса

Реферер мне очень много рассказал про стек, задачи, продукты, архитектуру, накидал кучу полезных ссылочек на доклады (в том числе с собеседующими), материалы по продуктовым исследованиям

Процесс собесов отличался от разработческих ролей. У меня было 2 встречи (без алгосов!): с руководителем продактов и лидом всех тех команд. Из технических вопросов больше общались про миграцию, перформанс, каталоги айсберга, глоссарий, мой путь до де. А в целом мне рассказали про текущий стек и сервисы, чем сейчас занимаются, куда целятся, планы/мечты, составы команд, ожидания от продакта

Из интересного в плане сервисов рассказали, что они готовят релизы постгри на основе релиз-кандидата и выпускают облачную версию день в день с выходом новой версии. Я вот не знала, что это так работает

Конечно, мне не хватило опыта работы продактом) А возможно, под такую ваку полу де/полу продакт просто нужно было нанимать двух людей. Но опыт был интересный!

@data_engineerette
🔥 25
9
5
18 5 2.3K
avatar
дата инженеретта
@data_engineerette
02.04.2026 10:00
Каждому по лейкхаусу

Мой коллега Саша запилил крутецкий курс по айсбергу! emoji Я сама его полностью прошла, записала несколько новых для себя моментов и осталась очень довольна контентомemoji

Например, вы знаете, как сделать CDC на айсберге? Или как выглядит partition evolution на уровне storage? У вас могут лежат непартицированные, партицированные и по-разному партицированные данные в одном месте, и это работает

Поэтому если хотите освоить технологию на практике и перейти в Senior-лигу, то присмотритесь к курсу «Apache Iceberg для Data Engineer»

Главная фишка: вы соберете полноценный Lakehouse прямо на своем ноутбуке

В программе только суть:

emojiВнутреннее устройство и транзакционность таблиц
emojiData-as-Code: Time Travel, ветвление и тегирование
emojiPerformance Tuning: как выжать из Iceberg максимум скорости

Специально для подписчиков моего канала - скидка 15% по промокоду

DATA_ENGINEERETTE


Регистрация тут
🔥 23
👍 12
5
15 49 2.6K
avatar
дата инженеретта
@data_engineerette
30.03.2026 09:35
Как положить гитлаб?

Кратко: внедрить нейронку

Что произошло?

В MR начали бесконечно запускаться пайплайны с тестами каждые полминуты. Когда я впервые увидела, их уже было 90 штук!

Как мы до такого докатились?

Есть джоба, которая скачивает либу, красиво форматирует файлики и пушит изменения

Нейронка добавила кэширование, чтобы при повторной установке либа бралась из кэша, а не скачивалась по сети

Вроде бы хотелось как лучше, а получилось как всегда

Все сломалось

Что было упущено?

1. Изначально джоба коммитила все измененные файлики через git add . Но и никогда не предполагалось, что будет писаться в репо что-то еще. Здесь сузили git add до папки/типов файлов

2. Папка с кэшом не была добавлена в .gitignore

3. Никто не увидел опасности этого изменения, потому что была еще куча других

В общем, на нейронку надейся, а сам не плошай

@data_engineerette
🔥 10
🌚 5
4
18 13 2.7K
avatar
дата инженеретта
@data_engineerette
24.03.2026 10:01
Как поведёт себя аналитическая СУБД в облаке под нагрузкой? Разбор реального кейса

Selectel и СР-ТЕХ приглашают на практический вебинар, где покажут, как провели нагрузочное тестирование и масштабировали аналитический кластер на 111 узлов всего за час в облаке.

📅 31 марта, 12:00
📍 Онлайн
👥 Для дата-инженеров, архитекторов данных, DevOps и SRE-инженеров, технических руководителей

👉 Смотрите полную программу и регистрируйтесь: https://slc.tl/y4ba6

Чтобы не пропустить вебинар и узнавать о других событиях и бесплатных курсах Selectel, подписывайтесь на @selectel_events

Реклама. АО "Селектел". erid:2W5zFJybJAd
👍 3
🤷 3
2 2.9K
avatar
дата инженеретта
@data_engineerette
23.03.2026 09:30
Как я проводила собесы

Собесы я хотела проводить еще года 4 назад. Но тогда брали коллегу, которая пришла чуть раньше меня( Но моя цель все-таки реализовалась, и я наняла 1 DE и 1 DQE

Всего я провела 25 собеседований. Резюме из канала поначалу кидала техлиду, чтобы он помог понять, подходит ли человек и на что вообще смотреть. HR раз в неделю присылала по 10 резюме, мы с PO отбирали понравившихся кандидатов по принципу: сомнение = нет

Для подготовки мне дали файлики с вопросами по грейдам. Позже я собрала свой пул, добавив вопросы со своих и чужих собесов

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

Собес - это из black box (или gray box, т.к. есть резюме) сделать white box.

из заметок дата инженеретты


Я начинала с вопросов по опыту, подмечала несостыковки, потом это раскручивала. Было прикольно, когда один вопрос сразу вскрывал правду emoji Вроде написано sql и несколько бд, а там: таблички не создавал, в бд ничего не писал, full join не использовал, объемы не знает, про кликхаус только слышал, да и начал изучать месяц назад

По технике у меня не было конкретного порядка. Просто 300 вопросов - некоторые я задавала почти всегда, а остальные выбирала по ходу. Иногда кандидат был хорошим и не хотелось задавать простецкие вопросы. Иногда приходилось спрашивать про having и все равно получать неправильный ответ

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

После собеса мы с PO обменивались мнениями, и разногласий практически не было. Вот некоторые ред и грин флаги из моих заметок:

emoji нет вопросов, не заинтересован в вакансии
emoji нет общих де чатиков
emoji "просто делал, что мне сказала команда"
emoji очень много говорит "разное", обобщенно
emoji жутко медленный, сложно следить за ходом мысли
emoji много говорит, нечетко отвечает
emoji душный, тяжелый, прикапывается к каждому вопросу
emoji подключился с улицы с телефона в костюмчике
emoji не понравилось, когда старший коллега спросил, можно ли в хайве сделать primary key (типо опытнее, но тупее)

emoji ОС попросил от меня по ответам
emoji "готов с этим справляться"
emoji приятный уверенный чел
emoji инициативный, осознанный
emoji умеет думать

Кто тоже проводил, поделитесь своими флагами?

@data_engineerette
🔥 19
👍 10
5
51 35 2.5K
avatar
дата инженеретта
@data_engineerette
19.03.2026 07:47
Самый дурацкий кусок кода

У вас есть такой код, который вы один раз увидели, но никогда не забудете? Потому что он был настолько странным и запомнился надолго

У меня такой есть. Это джойн 15 раз в цикле с таблицей, от которой отфильтровываются строки, при этом несколько раз копируются датафреймы

Хоть и требовалось максимально сохранить код автора, но я все равно переписала на один джойн + фильтр. Смотря на оригинальный код, я даже сейчас не до конца понимаю, что там происходит и как это писалось

@data_engineerette
🌚 12
🤷 1
13 5 2.3K
avatar
дата инженеретта
Переслано от канала
18.03.2026 16:48
Deckhouse Conf 2026 | 9 апреля | Москва, Main Stage

Снова собираем техническое комьюнити на Deckhouse Conf.

В этом году планируем два параллельных трека: технологии Deckhouse и кейсы внедрения. Готовим доклады про SDN в Kubernetes, виртуализацию, Software-Defined Storage и дашборды мониторинга. И это только начало, программа продолжает расти.

Один день, 15 спикеров, стенды команд и партнёров, демозона и максимум живого общения с теми, кто двигает DevOps-практики и Kubernetes в России.

Участие бесплатное, но мы модерируем заявки, чтобы всем хватило мест. Регистрируйтесь
8 1.2K