Требования к Python, SQL и пр. для аналитика данных в 2025
https://t.me/abba_testingНачнем с Python:
0. Комментируйте, в особенности функции сразу после ее определения: что делает и пр. Просить комментировать это настолько избито, что сравнимо лишь с тем, насколько часто этого до сих пор не делают.
1. Неплохо бы познакомится получше со cтандартной библитекой:
- встроенные структуры и типы данных: нужно знать особенности списков, словарей и пр.
- list comprehension, только без злоупотреблений
- в части DataTypes это datetime, collections
- само собой это встроенные функции
2. Логирование через модуль logging, а не print. Подключайте - привыкайте.
3. Уделите numpy чуточку больше внимания, чем всяким мастерству с pandas: скорость вычислительным операций имеет смысл.
4. Модули requests, os.
5. Неплохо бы иметь представление о разнице между итераторами и генераторами.
6. Типизация внутри функций, что подаем, что возвращаем. Нужно для читаемости.
7. Декораторы и лямбда функции. Хотя бы сможете прочесть.
8. Классы, основы ООП, - да, теперь пишем/читаем. Спасибо, что еще паттерны не требуют… Или нет?..
9. Организация кода: пишем свои модули, раскидываем по папкам, где надо, там и подключаем.
10. В целом, обратите внимание Clean code: да-да, “почти не тормозит”, зато поддерживается. Смотрите / пересматривайте best python practices, noobs mistakes и пр. на Youtube: полезно, сам пересматриваю время от времени.
11. Тестирования кода, да-да, теперь желательно: это полезно, если будете вносить изменения в логику расчетов. Тут рекомендую pytest с микстурами, по мне так удобнее, чем unittest. В рамках тестов хорошо бы различать, где нужны встроенные except’ы, а где assert’ы.
12. Познакомится с параллельными и асинхронными вычислениями будет, скажем так, полезным для общего развития.
Отдельно по алгоритмам: честно, они вам будут нужны только на этапе лайф-кодинга, скажите спасибо за традицию отечественной голландской компании. Поэтому “Грокаем алгоритмы”, сидим в литкоде перед собесом, увы. Если что, отнеситесь к этому приседанию серьезно, скорее всего вам его не миновать.
Отдельно про оценку сложности: да, она тоже нужна и тоже на этапе собеседований. Ну, может иногда как-то выстрелит, но - вряд ли. В общем, научитесь в оценку/повторите перед собесом, видео на ютубе полно.
SQL:
1. Здесь все просто: все просто сходят с ума от оконных функций. Есть только одно правильное решение - оконная функция. Все остальное уже неправильное решение даже если оно правильное; покажите людям, во имя OVER через PARTITION BY, оконную функцию, ORDER BY.
2. Вы любите CTE, подзапросы? На собеседовании лучше держите эти излишества при себе, дайте людям окно. Но знать, что это такое, и уметь вы должны, а уж какие бывают JOIN’ы это вообще молчу.
3. Просто оставлю это здесь: RANK и DENSE_RANK.
4. Индексы и пр. пока не требуют, но я видел, что о них в блогах про аналитику пишут, хотя бы познакомьтесь.
PySpark:
- Библиотека polars вам в помощь, считайте это вариантом диалекта, к тому же это вполне себе альтернатива pandas. Но потребуется привычка.
Git:
- https://learngitbranching.js.org/ - научит, точка.
(спасибо Богдану из одной секретной элитной конфы)
“AI”/умение в промпты и пр.:
Пока в вакансиях это особо не встречал, но тенденция имеется, начинайте пользоваться. - ChatGPT, пр. DickPic: внедряйте в свою жизнь это также, как однажды это случилось с гуглением. Многие компании разворачивают внутри себя всякие копилоты и пр., то есть “пойти и спросить помощи у нейронки” это база.
Но не расслабляйтесь, текущие нейронки не совершенны и могут ещё как вам лапши на уши накидать; заметить её тем, кто не в теме, будет сложно. Поэтому кто не окреп в хардах и не стал синиором, тому не рекомендую отдавать код на откуп Go-Po-Te. Потому что вы не сможете это отредактировать, понять, что не так. А вот если вы уже крепыш, то это реально экономит кучу времени, даже при правках выданного кода.
В целом, нейронки очень хороши, это правда. Их ответы мне очень по душе, это действительно прекрасный помощник. В семье Excel, Google достойное пополнение.
Собственно, по части текущих требований всё.
---
Далее вот, что я об этом думаю. Просто сложим всё вместе (кроме “AI”): у вас нет ни с кем ассоциации с таким набором хардов? Я озвучил этот стек своему брату Андрею, - он давно как занимает руководящую роль в разработке, - он сразу сказал, что если у кандидата имеется всё озвученное, то это в текущих реалиях примерно junior+ разработчик. Плюс-минус.
(кстати, злоупотребление начинающими разработчиками нейронками стало тоже актуальной проблемой по его словам)
И вот вопрос для аналитических вкатунцов - а может ну её, эту аналитику? Сами подумайте, вам в довесок потребуется “знание статистики и теории вероятности, стат. проверки гипотез и пр. что-там-еще-много-всего про математическое”. А при этом вы будете даже при должном уровне “яжматематик” лишь Tier-2 в рамках IT, где Tier-1 это разработчики. Почему? Потому что анализ анализом, а приложение само себя не накодит, вот в чем проблема. Поэтому разработку (не всегда, конечно) попросят последними на выход, если что. А прочих “люблю анализировать данные” первыми вместе с маркетингом под нож.
И ведь вместе с этим уровень зарплат при тех же грейдах в аналитике в лучшем случае сравним, но пока первенство еще за разработкой (правда, могу уже ошибаться). У вас будет прям очень все вкусно по зп, если вы пойдете долиной ML-ой и не убоитесь
а) вопросов к собеседованию на ML-инженера (прочитайте эти вопросы и спросите себя, понимаете ли вы половину слов в самом вопросе),
б) скуки от перспектив добавлять больше layers.
И да, кстати, там требования к хардам по озвученным инструментам у них еще жестче.
Мой вопрос, конечно, про вкат в аналитику риторический - чем хочется заниматься, туда и стремитесь. Но в любом случае требования теперь другие, я лишь надеюсь, что озвученные рекомендации по инструментам вам помогут. Успехов!