Советы для аналитиков данных. Как стать лучше?
Иногда кажется, что работа аналитика данных — это бесконечные запросы, графики и попытки объяснить менеджеру, почему так, а не иначе. Но чем дольше я наблюдаю за людьми в этой профессии, тем яснее понимаю: лучшие аналитики — это не те, кто знает больше всех формул, а те, кто умеет смотреть чуть глубже, чем остальные.
Прокачка начинается не с новых инструментов, а с привычки задавать правильные вопросы. Когда перед тобой задача — не спеши сразу писать SQL. Сначала попробуй понять, что на самом деле хочет бизнес, какую боль пытается закрыть команда и какое решение будет действительно приносить ценность. Часто именно это отличает зрелого аналитика от просто “человека, который умеет строить графики”.
Ещё один важный момент — уметь видеть историю в данных. Сухие цифры сами по себе мало кому интересны, но как только ты превращаешь их в понятный сюжет, тебя начинают слушать. Это умение приходит с практикой: чем больше ты работаешь с реальными кейсами, тем проще замечать закономерности, выбросы, странные пики и падения, которые могут объяснить гораздо больше, чем огромные отчёты.
И, конечно, любопытство. Настоящее, детское, когда хочется копать глубже просто потому что интересно. Задавать себе вопрос «а почему?» чуть чаще, чем требуется. В итоге именно это любопытство превращается в навык, за который аналитиков ценят сильнее всего — находить ответы, которых никто не ожидал.
Иногда кажется, что работа аналитика данных — это бесконечные запросы, графики и попытки объяснить менеджеру, почему так, а не иначе. Но чем дольше я наблюдаю за людьми в этой профессии, тем яснее понимаю: лучшие аналитики — это не те, кто знает больше всех формул, а те, кто умеет смотреть чуть глубже, чем остальные.
Прокачка начинается не с новых инструментов, а с привычки задавать правильные вопросы. Когда перед тобой задача — не спеши сразу писать SQL. Сначала попробуй понять, что на самом деле хочет бизнес, какую боль пытается закрыть команда и какое решение будет действительно приносить ценность. Часто именно это отличает зрелого аналитика от просто “человека, который умеет строить графики”.
Ещё один важный момент — уметь видеть историю в данных. Сухие цифры сами по себе мало кому интересны, но как только ты превращаешь их в понятный сюжет, тебя начинают слушать. Это умение приходит с практикой: чем больше ты работаешь с реальными кейсами, тем проще замечать закономерности, выбросы, странные пики и падения, которые могут объяснить гораздо больше, чем огромные отчёты.
И, конечно, любопытство. Настоящее, детское, когда хочется копать глубже просто потому что интересно. Задавать себе вопрос «а почему?» чуть чаще, чем требуется. В итоге именно это любопытство превращается в навык, за который аналитиков ценят сильнее всего — находить ответы, которых никто не ожидал.
👍5🔥4❤3😁1
Просто о кэшировании
Когда-то я думал, что кэширование — это что-то сложное и запутанное😱 На деле всё проще, хотя нюансы есть. Разберёмся по порядку.
Что такое кэширование❔
🏠 Представьте кладовку дома, где лежат часто используемые вещи. Мы не возим их в гараж за три квартала, потому что они должны быть под рукой. В IT это и есть кэширование, то есть хранение часто востребованных данных в быстродоступном месте. Разница лишь в том, что такие данные «живут» ограниченное время и со временем исчезают.
Зачем оно нужно❔
Если вещи рядом, не нужно тратить время на поездку в гараж💡 Так же и в системах: кэширование ускоряет доступ к данным и снижает нагрузку на БД. Даже при сбое сервиса мы можем получить данные из кэша.
Какие данные кэшируют❔
Всё зависит от частоты изменений:
• Очень часто (каждую секунду) — кэш бесполезен. Пример: биржевые котировки.🕯
• Иногда (раз в минуты или часы) — нужно оценить целесообразность. Пример: курс валют, рейтинг товаров.
• Редко (дни, недели, месяцы) — отличные кандидаты. Пример: коды регионов РФ, список стран.
Где хранится кэш❔
Варианты:
• Клиентский (браузер, мобильное приложение)
• Серверный (in-memory, Redis)
• Распределённый (CDN)
На сервере выделяют два подхода:
• Внутренний (in-memory) — хранение прямо в памяти сервиса➕ Очень быстро, но 🚨 требует синхронизации при масштабировании.
• Внешний (например, Redis) — чуть медленнее, зато можно хранить больше данных и легко масштабировать➕ .
Чаще всего выбирают внешнее кэширование, если нет жёстких требований к скорости.
Основные термины:
• TTL (Time To Live)⏱ — время жизни данных в кэше.
• Cache miss — данных нет в кэше.
• Cache hit — данные найдены в кэше.
• Hit ratio — процент попаданий в кэш, показатель его эффективности.
• Горячий ключ🔥 — ключ с наибольшим числом запросов.
• Прогрев кэша — наполнение данными заранее.
• Инвалидация 🗑 — удаление данных из кэша.
Как это работает❔
• Cache Aside — сервис сам решает, когда обратиться к кэшу, а когда к БД.➕ Простота, минимум рисков.
• Cache Through — все запросы идут через кэш, а тот уже тянет данные из БД.➕ Консистентность данных.
• Cache Ahead — кэш сам периодически подгружает данные из БД.➕ Нет «промахов» (Cache Miss).
Итог
Кэширование — это мощный способ ускорить работу и разгрузить систему. Чаще всего используют внешнее кэширование с паттерном Cache Aside для редко изменяемых данных.
Когда-то я думал, что кэширование — это что-то сложное и запутанное
Что такое кэширование❔
Зачем оно нужно❔
Если вещи рядом, не нужно тратить время на поездку в гараж
Какие данные кэшируют❔
Всё зависит от частоты изменений:
• Очень часто (каждую секунду) — кэш бесполезен. Пример: биржевые котировки.
• Иногда (раз в минуты или часы) — нужно оценить целесообразность. Пример: курс валют, рейтинг товаров.
• Редко (дни, недели, месяцы) — отличные кандидаты. Пример: коды регионов РФ, список стран.
Где хранится кэш❔
Варианты:
• Клиентский (браузер, мобильное приложение)
• Серверный (in-memory, Redis)
• Распределённый (CDN)
На сервере выделяют два подхода:
• Внутренний (in-memory) — хранение прямо в памяти сервиса
• Внешний (например, Redis) — чуть медленнее, зато можно хранить больше данных и легко масштабировать
Чаще всего выбирают внешнее кэширование, если нет жёстких требований к скорости.
Основные термины:
• TTL (Time To Live)
• Cache miss — данных нет в кэше.
• Cache hit — данные найдены в кэше.
• Hit ratio — процент попаданий в кэш, показатель его эффективности.
• Горячий ключ
• Прогрев кэша — наполнение данными заранее.
• Инвалидация 🗑 — удаление данных из кэша.
Как это работает❔
• Cache Aside — сервис сам решает, когда обратиться к кэшу, а когда к БД.
• Cache Through — все запросы идут через кэш, а тот уже тянет данные из БД.
• Cache Ahead — кэш сам периодически подгружает данные из БД.
Итог
Кэширование — это мощный способ ускорить работу и разгрузить систему. Чаще всего используют внешнее кэширование с паттерном Cache Aside для редко изменяемых данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5❤4
Мощный инструмент для документирования баз данных. Он анализирует структуру базы данных и автоматически генерирует красивую документацию в формате Markdown, HTML, JSON и других.
🔹 Основные возможности:
- Автоматический разбор схемы базы данных.
- Поддержка множества СУБД (PostgreSQL, MySQL, SQLite, MSSQL и др.).
- Генерация наглядных диаграмм и связей между таблицами.
- Возможность кастомизации документации.
- Интеграция с CI/CD для автоматического обновления документации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5
В различных системах очен важно обеспечить согласованность данных при параллельных транзакциях. Одним из ключевых механизмов, который помогает в этом, являются уровни изоляции транзакций. Они регулируют, как обрабатываются изменения в данных при параллельной работе транзакций, предотвращая возможные аномалии.
Изоляция транзакций указывает степень, до которой операции в одной транзакции изолированы от операций в других. Это предотвращает такие проблемы, как грязные чтения, неповторяемые чтения и фантомные записи, обеспечивая целостность данных.
📌 Read Uncommitted:
Самый низкий уровень изоляции.
Транзакции могут читать изменения, сделанные другими транзакциями, даже если они не были зафиксированы (грязные чтения). Быстро, но рискованно.
📌 Read Committed:
Видны только зафиксированные данные. Это исключает грязные чтения, но могут возникать неповторяемые чтения (данные меняются между двумя запросами).
📌 Repeatable Read:
Это уровень, что данные, прочитанные транзакцией, не могут быть изменены другой транзакцией до завершения первой. Однако возможны фантомные чтения (новые строки появляются при повторных запросах).
📌 Serializable:
Самый высокий уровень изоляции. Полностью изолирует транзакцию, предотвращая грязные, неповторяемые и фантомные чтения. Однако это существенно снижает производительность.
Каждый уровень предлагает компромисс между производительностью и консистентностью данных. Более высокий уровень изоляции снижает конкурентоспособность, тогда как более низкий увеличивает риск возникновения аномалий. Важно правильно подобрать уровень в зависимости от требований приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍6❤3
Свершилось ✨
Рассказываю как я за два месяца (почти три..) пота и нервов😅 всё-таки устроился на позицию Middle Data Analyst.
Скажу честно, собесился я не прям чтобы активно. Всего было 6 собесов в разные компании на позицию дата-аналитика. И 2 собеса на позицию аналитика-разработчика. С поиском самих вакансий проблем не было, HR сами писали и предлагали созвониться📩 Разумеется, я откликался на различные вакансии, но без фанатизма. Никаких автооткликов не юзал. Не знаю, почему многих ребят не зовут на собес даже после откликов🤔 Думаю, опыт и резюмешка сильно решают. Было нелегко, учитывая что опыта собеседований у меня не было больше двух лет. Поэтому тупил много 😅 , хотя готовился.
Первым этапом был созвон с рекрутером📞 Поговорили про мой опыт, рассказали за компанию, чем занимаются и почему в поисках аналитика сейчас. Так как опыт у меня больше в e-commerce, спросили, интересно ли мне будет попробовать себя в фин-секторе, так как проект больше направлен на это. Я ответил, что да. Формат работы - полная удаленка. Ну шик🔥
Вилка в вакансии не была указана. Попросил 180к на руки💵 всё было ок. Думаю, что можно было просить и больше, но перестраховался. После звонка она отправила резюме коллегам, и на следующий день назначили тех-собес.
Много спрашивали про SQL, базовые концепции, оптимизация запросов, ну и конечно же про оконные функции.. Плавал поначалу, но справился💪
Была задача на фильтрацию и задача на поднимание join-ов. Тут было не сложно
Были вопросы про логику, python, а именно pandas📊 В одной задаче был момент, когда лоханулся сильно, но быстро вышел из болота )
По итогу, заветный оффер получен, можно выдохнуть
Я очень нервничал, так было на каждом собесе. Где-то сильно, где-то нет. Зависит от собеседующих и человеческого фактора. Мало просто иметь знания, нужно уметь найти контакт👥 Я думаю, у многих так, вроде бы всё знаешь, повторяешь всю теорию, но вдруг, когда нужно, всё забывается 🤦♂️ Просто нужно вырабатывать скилл. В месяц буду проходить хотя бы пару собесов для профилактики ахах. Чтобы выработать этот скилл.
Безумно рад, что этот период прошёл. Устал за это время, но усталость приятная. Теперь плавно буду проходить онбординг и вливаться в коллектив👨💻 В понедельник первый созвон с коллегами и обсуждение задач🗓
В завершение хочу сказать ребятам, которые сейчас в поисках - удачи вам!🍀 Она точно нужна. Главное - не опускайте руки и топите до конца🚀 В комментариях можете поделиться своим опытом прохождения собесов или факапов. Будет приятно почитать 😊
Рассказываю как я за два месяца (почти три..) пота и нервов
Скажу честно, собесился я не прям чтобы активно. Всего было 6 собесов в разные компании на позицию дата-аналитика. И 2 собеса на позицию аналитика-разработчика. С поиском самих вакансий проблем не было, HR сами писали и предлагали созвониться
Первым этапом был созвон с рекрутером
Вилка в вакансии не была указана. Попросил 180к на руки
Много спрашивали про SQL, базовые концепции, оптимизация запросов, ну и конечно же про оконные функции.. Плавал поначалу, но справился
Была задача на фильтрацию и задача на поднимание join-ов. Тут было не сложно
Были вопросы про логику, python, а именно pandas
По итогу, заветный оффер получен, можно выдохнуть
Я очень нервничал, так было на каждом собесе. Где-то сильно, где-то нет. Зависит от собеседующих и человеческого фактора. Мало просто иметь знания, нужно уметь найти контакт
Безумно рад, что этот период прошёл. Устал за это время, но усталость приятная. Теперь плавно буду проходить онбординг и вливаться в коллектив
В завершение хочу сказать ребятам, которые сейчас в поисках - удачи вам!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤7😎5
Собственно, первый день на новом проекте, а предложения все ещё поступают. Ясное дело, ведь я не убрал активный статус на Хабре и hh. Не хочу менять, пусть пишут )
Надо вырабатывать скилллл
По описанию проект вроде все норм, только плохо что гибрид. Завтра созвонюсь и узнаю что к чему. Если все будет ок, пойду на собес и напишу тут что было.
Надо вырабатывать скилллл
По описанию проект вроде все норм, только плохо что гибрид. Завтра созвонюсь и узнаю что к чему. Если все будет ок, пойду на собес и напишу тут что было.
🔥16❤11👍9
Как вести себя на новом проекте 🤷♂️
Попал в новое окружение, новая компания. Никого не знаешь. Ничего не понимаешь. Паника?? Спакуха🙂
Вот что тебе поможет пережить первые рабочие дни в IT.
Вот уже почти неделю нахожусь в новой компании, и подумал написать пост с годными советами. Так вот:
1️⃣ Прими, что первые 1–2 недели ты «плаваешь»
Это нормально.
Никто не ждёт, что ты с первого дня будешь пушить фичи в прод и предлагать идеи.
Твоя главная задача врубиться в процессы, людей и контекст.
ВСЕ проходят через это.
2️⃣ Учись задавать хорошие вопросы
Самый простой способ показать вовлечённость это задавать вопросы, которые помогают делать работу:
🟢 Где хранятся источники данных?
🟢 Какой стек аналитики мы используем?
🟢 Где лежат метрики и словари?
🟢 Как мы выкатываем отчёты?
Не надо спрашивать то, что легко гуглится.
Но если что то важное, лучше спросить сразу, чем молча страдать в тишине.
3️⃣ Пиши заметки
Новый проект это всегда миллион новых терминов, сервисов и имён.
Старайся записывать все самое важное, бизнес метрики, формулы🧐 важные запросы, как обновляются отчеты и тд
Через неделю ты скажешь себе спасибо.
4️⃣ Сделай маленькую полезную задачу
Очень важно, не геройствуй.
Можешь поделать мелкую задачу, поправь запрос, сделай фильтр в отчёте, или почини метрику,
Маленькая победа➡️ доверие + уверенность.
5️⃣ Найди «своего человека»
На любом проекте есть тот, кто может подсказать и помочь быстрее, чем вся документация.
Не надо тупить. Просто больше общайся, спрашивай и узнавай.
Обычно люди сами рады помочь.
6️⃣ Слушай, как команда общается
В чате и митах видно всё. Например кто принимает решения, кто шарит в данных, кто курирует задачи и какой тон общения
Подстраиваешься под стиль и внезапно становишься «своим».
7️⃣ Не пытайся казаться умнее
Самая частая ошибка новичков это делать вид, что они всё понимают.
Это просто убивает.
Лучше честно скажите
«Сори, я не до конца понял, можете пожалуйста ещё раз объяснить вот эту часть?»
Вас только зауважают за это🪖
8️⃣ Первые дни важнее то, как ты общаешься
Умение коммуницировать, договариваться, слушать и быть адекватным, чаще важнее всего остального
9️⃣ И самое главное, расслабься
Тебя наняли не случайно.
Тебе доверяют и ты справишься.
⛓ Первые дни это про адаптацию.
Спокойно впитываешь контекст, людей, процессы.
Маленькими шагами приносишь пользу.
А настоящая работа начнётся чуть позже😉
Попал в новое окружение, новая компания. Никого не знаешь. Ничего не понимаешь. Паника?? Спакуха
Вот что тебе поможет пережить первые рабочие дни в IT.
Вот уже почти неделю нахожусь в новой компании, и подумал написать пост с годными советами. Так вот:
Это нормально.
Никто не ждёт, что ты с первого дня будешь пушить фичи в прод и предлагать идеи.
Твоя главная задача врубиться в процессы, людей и контекст.
ВСЕ проходят через это.
Самый простой способ показать вовлечённость это задавать вопросы, которые помогают делать работу:
Не надо спрашивать то, что легко гуглится.
Но если что то важное, лучше спросить сразу, чем молча страдать в тишине.
Новый проект это всегда миллион новых терминов, сервисов и имён.
Старайся записывать все самое важное, бизнес метрики, формулы
Через неделю ты скажешь себе спасибо.
Очень важно, не геройствуй.
Можешь поделать мелкую задачу, поправь запрос, сделай фильтр в отчёте, или почини метрику,
Маленькая победа
На любом проекте есть тот, кто может подсказать и помочь быстрее, чем вся документация.
Не надо тупить. Просто больше общайся, спрашивай и узнавай.
Обычно люди сами рады помочь.
В чате и митах видно всё. Например кто принимает решения, кто шарит в данных, кто курирует задачи и какой тон общения
Подстраиваешься под стиль и внезапно становишься «своим».
Самая частая ошибка новичков это делать вид, что они всё понимают.
Это просто убивает.
Лучше честно скажите
«Сори, я не до конца понял, можете пожалуйста ещё раз объяснить вот эту часть?»
Вас только зауважают за это
Умение коммуницировать, договариваться, слушать и быть адекватным, чаще важнее всего остального
Тебя наняли не случайно.
Тебе доверяют и ты справишься.
Спокойно впитываешь контекст, людей, процессы.
Маленькими шагами приносишь пользу.
А настоящая работа начнётся чуть позже
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤13👍11💯2
Как и обещал, рассказываю как проходил собес сюда
Спойлер:Не вывез
Вакансия: Аналитик данных
Компания: Альфа-Банк🏦 (через Selecty)
Предполагаемая вилка: ~200k rub net
Формат работы: Гибрид (1-2 раза в офис)
Этапы собеседований:
HR🔜 Tech interview 🔜 Reject
Как все было:
Собственно, начало вы можете увидеть в прошлом посте. Рекрутер сама нашла меня через HH, рассказала за вакансию. Меня все устроило и назначили созвон на след день.
📞 В звонке все было как обычно. Рассказали про проект планирования и бюджетирования, слегка намекнули на зп, ДМС со стоматологией и всякие плюшки. Гибрид, в офис заезжать тоже надо. Спросили за мой опыт, бэкграунд. С чем работал, что знаю, чем дышу. Короче, 🟢
После скрининга позвали на техническое интервью с командой. Тут уже началось..🔥
Интервью было спокойное по тону, но сложное по содержанию. Примерно час разбирали кейсы на:
➖ прогнозирование продаж в разрезах продуктов
➖ откуда брать факторы для модели
➖ что делать, если исторические данные неполные
➖ как автоматизировать сбор данных
По Python и SQL спрашивали дофига и больше, но без лайфкодинга. Больше про то, как я решал задачи раньше, какие библиотеки использовал, чем проверял качество моделей. Из статистики спрашивали базовые вещи по типу: сезонность, тренды, какие метрики уместны для качества прогноза (MAPE/MSE), и как правильно сравнивать модели.
В какой-то момент стало понятно, что они ожидают опыт именно в банковских процессах(Ну ясное дело, этож банк..). Планирование, бюджетирование, продуктовый P&L, то, с чем я работал меньше всего. Я честно рассказывал, что делал, где применял прогнозы, но конкретно под их задачи у меня опыта не хватало.
В общем по фидбеку🔔 сказаали, что:
После этого до свидания, без второго круга. В целом, нормально. Проект интересный, ребята адекватные, но слишком уж точечный запрос.
☺️ Позитивный момент. Уходить в другое место я все равно не собирался. А получить доп опыт всегда приятно. Теперь лучше понимаю, что нужно больше практики по тайм-сериям, фичам, факторным моделям и автоматизации процесса прогноза.
Что думаете? Не слишком жестко?🤯
Спойлер:
Вакансия: Аналитик данных
Компания: Альфа-Банк
Предполагаемая вилка: ~200k rub net
Формат работы: Гибрид (1-2 раза в офис)
Этапы собеседований:
HR
Как все было:
Собственно, начало вы можете увидеть в прошлом посте. Рекрутер сама нашла меня через HH, рассказала за вакансию. Меня все устроило и назначили созвон на след день.
После скрининга позвали на техническое интервью с командой. Тут уже началось..
Интервью было спокойное по тону, но сложное по содержанию. Примерно час разбирали кейсы на:
По Python и SQL спрашивали дофига и больше, но без лайфкодинга. Больше про то, как я решал задачи раньше, какие библиотеки использовал, чем проверял качество моделей. Из статистики спрашивали базовые вещи по типу: сезонность, тренды, какие метрики уместны для качества прогноза (MAPE/MSE), и как правильно сравнивать модели.
В какой-то момент стало понятно, что они ожидают опыт именно в банковских процессах
В общем по фидбеку
недостаточно сильный технический бэкграунд именно по моделям прогнозирования для продуктового планирования. Хорошая логика и потенциал, но нам нужен человек, который уже делал это в большом контуре.
После этого до свидания, без второго круга. В целом, нормально. Проект интересный, ребята адекватные, но слишком уж точечный запрос.
Что думаете? Не слишком жестко?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥7❤3