Модуль requests в Python позволяет легко отправлять HTTP-запросы и обрабатывать ответы.
Он широко используется для взаимодействия с веб-сервисами, так как удобен для работы с API благодаря простому синтаксису и поддержке множества HTTP-методов.
Основные функции модуля requests:⚪️ requests.get(url) — отправляет GET-запрос для получения данных с указанного URL.⚪️ requests.post(url, data=...) — отправляет POST-запрос для передачи данных на сервер.⚪️ requests.put(url, data=...) — отправляет PUT-запрос для обновления существующих данных на сервере.⚪️ requests.delete(url) — отправляет DELETE-запрос для удаления данных на сервере.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Из Python Backend разработчика в Аналитика данных.
Да да, рассказываю как я свичнулся из одного направления в другое и не пожалел. И до сих пор работаю аналитиком и кайфую
Я уже писал, что в первом моем коммерческом проекте я был разработчиком на python. Работал я там почти пол года. До этого очень много писал свои проекты, ботов, фрилансил. Короче, опыт был, чтобы устроиться на работу на младшую позицию. Но знаете что, в конце концов я сильно выгорел от сплошного кода и задач. Я понял что мне это не нравится и меня это не заряжает.
Мне нравится писать код на python, но я не могу это делать 24/7. Это очень однотипный процесс: пишешь, отлаживаешь, деплоишь. Эта постоянная инженерная рутина начала выжимать.
И тогда я стал думать, что нужно пойти туда, где задачи более разнообразные, кода меньше, но в то же время есть python. Первое что мне пришло в голову, это аналитика данных.
Что меня зацепило:
- Есть python который мне так нравится, но немного вдругом его проявлении.
- Больше работы с цифрами, исследованиями, гипотезами.
- Много SQL — но он ощущается как логические пазлы, а не ручная починка микросервисов.
- Дашборды, визуализация, метрики — всё это даёт ощущение результата быстрее.
- Общение с командой, продуктом, понимание реального влияния — не просто «пишу код», а понимаю, что и зачем меняется.
- Задачи короче, разноплановее, каждый день немного другой.
Мне это нравится больше, потому что для меня важнее видеть смысл и влияние на продукт, чем писать очередной сервис.
Больше всего мне нравится то, что все навыки Python-разработки отлично переносятся в аналитику.
Вся логика, структурирование, мышление — это только плюс. Плюс на собеседованиях, когда у твоих конкурентов есть опыт в аналитике как у тебя, но ты еще и в разработке шаришь. Это сильное преимущество позволило мне быстро устроиться в компанию, где я уже работаю почти 2 года.
В общем я рад что все так обернулось и развиваюсь в этом направлении дальше.
Да да, рассказываю как я свичнулся из одного направления в другое и не пожалел. И до сих пор работаю аналитиком и кайфую
Я уже писал, что в первом моем коммерческом проекте я был разработчиком на python. Работал я там почти пол года. До этого очень много писал свои проекты, ботов, фрилансил. Короче, опыт был, чтобы устроиться на работу на младшую позицию. Но знаете что, в конце концов я сильно выгорел от сплошного кода и задач. Я понял что мне это не нравится и меня это не заряжает.
Мне нравится писать код на python, но я не могу это делать 24/7. Это очень однотипный процесс: пишешь, отлаживаешь, деплоишь. Эта постоянная инженерная рутина начала выжимать.
И тогда я стал думать, что нужно пойти туда, где задачи более разнообразные, кода меньше, но в то же время есть python. Первое что мне пришло в голову, это аналитика данных.
Что меня зацепило:
- Есть python который мне так нравится, но немного вдругом его проявлении.
- Больше работы с цифрами, исследованиями, гипотезами.
- Много SQL — но он ощущается как логические пазлы, а не ручная починка микросервисов.
- Дашборды, визуализация, метрики — всё это даёт ощущение результата быстрее.
- Общение с командой, продуктом, понимание реального влияния — не просто «пишу код», а понимаю, что и зачем меняется.
- Задачи короче, разноплановее, каждый день немного другой.
Мне это нравится больше, потому что для меня важнее видеть смысл и влияние на продукт, чем писать очередной сервис.
Больше всего мне нравится то, что все навыки Python-разработки отлично переносятся в аналитику.
Вся логика, структурирование, мышление — это только плюс. Плюс на собеседованиях, когда у твоих конкурентов есть опыт в аналитике как у тебя, но ты еще и в разработке шаришь. Это сильное преимущество позволило мне быстро устроиться в компанию, где я уже работаю почти 2 года.
В общем я рад что все так обернулось и развиваюсь в этом направлении дальше.
❤2✍2
Как не прокрастинировать❓
Прокрастинация во время обучения программированию — это довольно распространённая проблема особенно из-за сложности материала и постоянного ощущения, что ты чего-то не знаешь. Думаю, что каждый из нас с этим сталкивался⚔️
Напишу тут одни из самых эффективных советов, которые мне когда то помогли🆘
1️⃣ Определи чёткие цели
Вместо абстрактных задач вроде «выучить Python» ставь конкретные цели:🎯
➖ Сделать простое веб-приложение на FastAPI.
➖ Разобраться с базами данных, создав небольшую CRUD-программу.
Это помогает видеть конкретный результат, а не тонуть в бесконечном процессе обучения.
2️⃣ Используй метод «Pomodoro»
Работай по 25 минут с короткими перерывами в 5 минут. Это помогает сохранить концентрацию и не даёт мозгу устать. После четырёх циклов делай более длинный перерыв (15–20 минут).
3️⃣ Минимизируй отвлекающие факторы
➖ Убери телефон подальше.
➖ Отключи уведомления.
➖ Работай в тихом месте.
Если отвлёкся, то осознай это и сразу возвращайся к задаче. Это очень важно😏
4️⃣ Разделяй обучение и практику
Прокрастинация часто возникает из-за того, что изучаешь теорию без применения. После изучения нового материала сразу же попробуй написать код, который использует новые знания.👩🎓
5️⃣ Не бойся ошибок
Иногда прокрастинация — это страх перед сложными задачами. Просто пойми, что ошибки, это часть процесса. Ты учишься на них, а не на чтении книг📚
6️⃣ Веди учёт прогресса
В конце каждого дня записывай, что ты сделал. Это даст ощущение движения вперёд и укрепит мотивацию⚡️
7️⃣ Занимайся каждый день, даже понемногу
Даже если у тебя всего 30 минут свободного времени, используй их с пользой. Регулярность важнее продолжительности🛡
Если у вас есть, хорошие советы, то можете поделиться ими в комментариях⤵️
Прокрастинация во время обучения программированию — это довольно распространённая проблема особенно из-за сложности материала и постоянного ощущения, что ты чего-то не знаешь. Думаю, что каждый из нас с этим сталкивался
Напишу тут одни из самых эффективных советов, которые мне когда то помогли
Вместо абстрактных задач вроде «выучить Python» ставь конкретные цели:
Это помогает видеть конкретный результат, а не тонуть в бесконечном процессе обучения.
Работай по 25 минут с короткими перерывами в 5 минут. Это помогает сохранить концентрацию и не даёт мозгу устать. После четырёх циклов делай более длинный перерыв (15–20 минут).
Если отвлёкся, то осознай это и сразу возвращайся к задаче. Это очень важно
Прокрастинация часто возникает из-за того, что изучаешь теорию без применения. После изучения нового материала сразу же попробуй написать код, который использует новые знания.
Иногда прокрастинация — это страх перед сложными задачами. Просто пойми, что ошибки, это часть процесса. Ты учишься на них, а не на чтении книг📚
В конце каждого дня записывай, что ты сделал. Это даст ощущение движения вперёд и укрепит мотивацию
Даже если у тебя всего 30 минут свободного времени, используй их с пользой. Регулярность важнее продолжительности
Если у вас есть, хорошие советы, то можете поделиться ими в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
Как применять нормальное распределение в реальной аналитике
Представь, мы работаем дата-аналитиками в новом музыкальном стриминговом сервисе — конкуренте Spotify или SoundCloud. Пользователей приводим двумя способами: через блогеров и через контекстную рекламу. После регистрации они попадают на бесплатный тариф, а часть из них в первый же месяц оформляет подписку.
Наша цель — понять, отличается ли конверсия между двумя рекламными каналами.
📊 Сначала собираем данные по отчетному периоду, считаем конверсию для каждой кампании и смотрим, как она распределена внутри когорты (например, какой процент пользователей успел оплатить подписку за 30 дней).
Чтобы сравнить результативность кампаний, планируем использовать параметрический t-test, но он работает корректно только если данные примерно соответствуют нормальному распределению.
🔍 Проверяем нормальность вот так:
Если p_value > 0.05, всё ок — распределение можно считать нормальным. Если меньше — лучше переходить к непараметрическим методам вроде теста Манна–Уитни.
🧪 Если нормальность подтверждена — запускаем t-тест:
Дальше всё просто:
— p_value < 0.05 → разница в конверсии статистически значима, одна кампания действительно сильнее.
— p_value > 0.05 → различий нет, но это повод изучить сегменты глубже.
Почему мы так заморачиваемся с нормальностью? Потому что t-тест при нарушении предположений может ввести в заблуждение: показать «эффект», которого нет, или наоборот — скрыть важный сигнал. А это уже риск для бизнеса: можно отключить рабочий канал или оставить слабый.
Представь, мы работаем дата-аналитиками в новом музыкальном стриминговом сервисе — конкуренте Spotify или SoundCloud. Пользователей приводим двумя способами: через блогеров и через контекстную рекламу. После регистрации они попадают на бесплатный тариф, а часть из них в первый же месяц оформляет подписку.
Наша цель — понять, отличается ли конверсия между двумя рекламными каналами.
📊 Сначала собираем данные по отчетному периоду, считаем конверсию для каждой кампании и смотрим, как она распределена внутри когорты (например, какой процент пользователей успел оплатить подписку за 30 дней).
Чтобы сравнить результативность кампаний, планируем использовать параметрический t-test, но он работает корректно только если данные примерно соответствуют нормальному распределению.
🔍 Проверяем нормальность вот так:
from scipy.stats import normaltest
stat, p_value = normaltest(conversion_A)
print(p_value)
Если p_value > 0.05, всё ок — распределение можно считать нормальным. Если меньше — лучше переходить к непараметрическим методам вроде теста Манна–Уитни.
🧪 Если нормальность подтверждена — запускаем t-тест:
from scipy.stats import ttest_ind
stat, p_value = ttest_ind(conversion_A, conversion_B, equal_var=False)
print(p_value)
Дальше всё просто:
— p_value < 0.05 → разница в конверсии статистически значима, одна кампания действительно сильнее.
— p_value > 0.05 → различий нет, но это повод изучить сегменты глубже.
Почему мы так заморачиваемся с нормальностью? Потому что t-тест при нарушении предположений может ввести в заблуждение: показать «эффект», которого нет, или наоборот — скрыть важный сигнал. А это уже риск для бизнеса: можно отключить рабочий канал или оставить слабый.
🔥3❤1👍1
Про деревья 🌳
Немного про машинное обучение. Почему решающие деревья считаются одним из самых наглядных алгоритмов в ML. На скрине - то самое дерево, которое я «вырастил» когда решил немного поизучать ML. Его задача - предсказывать пол человека по двум признакам: длине волос и размеру ноги.
🔍 Начало работы дерева
В корневом узле (самом верхнем) алгоритм делит выборку с вопроса:
«Размер ноги ≤ 41.5?».
В наборе - 186 человек: 120 женщин и 66 мужчин.
➡️ Если ответ «нет», мы попадаем в правый лист — там все 53 объекта оказываются мужчинами.
➡️ Если «да», то в левый узел уходят 120 женщин и 13 мужчин — у всех размер ноги действительно ≤ 41.5.
👩🦰 Дальнейшие разбиения
Следующий вопрос уже про волосы: «Длина волос ≤ 8.5?».
И так дерево шаг за шагом делит выборку дальше. В моём случае оно задаёт четыре вопроса — но глубину можно ограничивать.
📉 А что за gini в каждом узле?
Это критерий Джини - популярный показатель качества разбиения. Он показывает, насколько смешаны классы в узле:
Если все объекты относятся к одному классу➡️ gini = 0 (идеальная чистота).
Если классы пополам➡️ gini = 0.5 (максимальная неопределённость при двух классах).
Алгоритм старается подбирать такие разбиения, которые уменьшают Джини сильнее всего. Чем выше «чистота» узлов - тем лучше дерево учится.
(в этот момент в голове играет Тейлор Свифт — «Out of the woods» 🏙️)
Немного про машинное обучение. Почему решающие деревья считаются одним из самых наглядных алгоритмов в ML. На скрине - то самое дерево, которое я «вырастил» когда решил немного поизучать ML. Его задача - предсказывать пол человека по двум признакам: длине волос и размеру ноги.
В корневом узле (самом верхнем) алгоритм делит выборку с вопроса:
«Размер ноги ≤ 41.5?».
В наборе - 186 человек: 120 женщин и 66 мужчин.
👩🦰 Дальнейшие разбиения
Следующий вопрос уже про волосы: «Длина волос ≤ 8.5?».
И так дерево шаг за шагом делит выборку дальше. В моём случае оно задаёт четыре вопроса — но глубину можно ограничивать.
Это критерий Джини - популярный показатель качества разбиения. Он показывает, насколько смешаны классы в узле:
Если все объекты относятся к одному классу
Если классы пополам
Алгоритм старается подбирать такие разбиения, которые уменьшают Джини сильнее всего. Чем выше «чистота» узлов - тем лучше дерево учится.
(в этот момент в голове играет Тейлор Свифт — «Out of the woods» 🏙️)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Ред флаги на собесах 😅 🚩
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
1. Высокий спрос на рынке
Все компании — от банков до стартапов — хотят понимать свои данные. А значит, специалисты нужны всегда 🔥
2. Карьерный рост без потолка
Можно расти в продакт-аналитику, data science, machine learning или переходить в менеджмент. Опций — море 🌊
3. Отличная зарплата
Даже джуны получают выше среднего по рынку, а мидлы и сеньоры выходят на очень достойные суммы 💸
4. Прямая польза бизнесу
Ты реально влияешь на решения: от маркетинга до разработки. Чувствуешь, что делаешь что-то важное ⚡️
5. Постоянное развитие
Новые инструменты, новые подходы, новые данные — скучать просто не получится 🤓
6. Гибкость формата работы
Удалёнка? Гибкий график? Полу-офис? Всё реально. Главное — результат 💼
7. Низкий порог входа
Не всегда требуется суперматематика: достаточно логики, Python/SQL и умения думать 🧠
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
1. Много рутины
Очистка данных, проверка гипотез, подготовка отчётов — иногда это превращается в бесконечный цикл 🌀
2. Большая ответственность
Одна неверная цифра может повлиять на решение бизнеса и поломать процессы. Ошибаться страшно 😅
3. Постоянное обучение
Инструменты обновляются, появляются новые подходы, и держать уровень бывает тяжело. Учиться приходится всегда 📚
4. Давление со стороны менеджеров
От аналитика часто ждут быстрых ответов, даже если данных недостаточно. Нужно уметь держать удар ⚔️
5. Много коммуникации
Придётся объяснять цифры людям, которые вообще не обязаны разбираться в аналитике. Иногда это выматывает 😮💨
6. Разрозненные данные
В компаниях часто хаос: разные источники, разная структура, баги. И всё это нужно как-то свести в одно целое 🧩
7. Не всегда есть чёткие критерии успеха
Иногда твоя работа — это «помог» или «не помог». Метрики размыты, и бывает сложно понять, хорошо ли ты справляешься 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Хорошие новости для всех питонистов! 🔥
В этом году ожидается релиз Python 3.14, который может стать самым быстрым Python в истории! Главная новинка — новый тип интерпретатора, который обещает ускорение выполнения кода до 30% без необходимости переписывать его.
🔥 В чём суть?
Разработчики CPython внедрили новую технику оптимизации байт-кода:
✅ Использование хвостовых вызовов между C-функциями, которые обрабатывают опкоды Python.
✅ Снижение накладных расходов на интерпретацию инструкций.
✅ Более эффективное управление стеком вызовов, что снижает издержки на переключение контекста.
🛠 Что нужно, чтобы это заработало?
🔹 Новый интерпретатор будет доступен при сборке Python из исходного кода с соответствующим флагом.
🔹 Поддерживается только Clang 19+ и архитектуры x86-64, AArch64 (но в будущем планируют добавить GCC).
🔹 Обычные дистрибутивные версии Python пока не получат эту фишку «из коробки».
❓ Стоит ли ждать?
Python 3.14 делает шаг к более высокой производительности, но пока нововведение требует ручной сборки. Это может стать стандартом в будущем, если комьюнити примет новинку.
Ссылка на доку https://docs.python.org/3.14/whatsnew/3.14.html
Кому не лень, можете почитать
📢 Как думаете, нужно ли ускорение Python или его главная сила не в скорости?
@pycode1
В этом году ожидается релиз Python 3.14, который может стать самым быстрым Python в истории! Главная новинка — новый тип интерпретатора, который обещает ускорение выполнения кода до 30% без необходимости переписывать его.
🔥 В чём суть?
Разработчики CPython внедрили новую технику оптимизации байт-кода:
✅ Использование хвостовых вызовов между C-функциями, которые обрабатывают опкоды Python.
✅ Снижение накладных расходов на интерпретацию инструкций.
✅ Более эффективное управление стеком вызовов, что снижает издержки на переключение контекста.
🛠 Что нужно, чтобы это заработало?
🔹 Новый интерпретатор будет доступен при сборке Python из исходного кода с соответствующим флагом.
🔹 Поддерживается только Clang 19+ и архитектуры x86-64, AArch64 (но в будущем планируют добавить GCC).
🔹 Обычные дистрибутивные версии Python пока не получат эту фишку «из коробки».
❓ Стоит ли ждать?
Python 3.14 делает шаг к более высокой производительности, но пока нововведение требует ручной сборки. Это может стать стандартом в будущем, если комьюнити примет новинку.
Ссылка на доку https://docs.python.org/3.14/whatsnew/3.14.html
Кому не лень, можете почитать
📢 Как думаете, нужно ли ускорение Python или его главная сила не в скорости?
@pycode1
Please open Telegram to view this post
VIEW IN TELEGRAM
Python documentation
What’s new in Python 3.14
Editors, Adam Turner and Hugo van Kemenade,. This article explains the new features in Python 3.14, compared to 3.13. Python 3.14 was released on 7 October 2025. For full details, see the changelog...
🔥3
Что внутри:
https://github.com/metabase/metabase
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Почему именно python? 📱
Я уже говорил о том, что писал на многих языках программирования, но почему решил остановился именно на питоне, напишу ниже🔽
1️⃣ Высокий спрос на рынке труда
Python востребован в разных областях:
веб-разработка, автоматизация, анализ данных📊 искусственный интеллект 🤖 DevOps. Компании активно ищут Python-разработчиков, что увеличивает шансы найти работу, особенно на позиции junior-разработчика. Но нужно учитывать, что конкуренция высокая.
2️⃣ Простота и скорость изучения
Python обладает лаконичным и понятным синтаксисом, что позволяет быстрее освоить основы программирования🧑💻 Благодаря этому можно быстро приступить к решению реальных задач.
3️⃣ Широкая экосистема библиотек
Для Python существует огромное количество библиотек и фреймворков:
🔻 Для веб-разработки: Django Flask, FastAPI.
🔻 Для работы с данными: Pandas, NumPy, Matplotlib.
🔻 Для машинного обучения: TensorFlow, Scikit-learn, PyTorch. На этом языке вы можете написать буквально, все что возможно.
4️⃣ Кросс-платформенность
Python поддерживается на всех популярных операционных системах — Windows, macOS, Linux. Это удобно как для разработки, так и для запуска приложений✅
5️⃣ Сообщество и документация
У Python одно из крупнейших сообществ разработчиков. Это значит, что для большинства вопросов уже есть готовые ответы. Качественная документация📖 и большое количество обучающих материалов делают изучение языка и его инструментов проще.
6️⃣ Автоматизация задач
Python отлично подходит для автоматизации рутинных процессов: парсинга сайтов,🖥 работы с файлами, 🗂 тестирования приложений и многого другого. Это полезный навык для любой сферы разработки.
7️⃣ Поддержка современных технологий
Python активно развивается и поддерживает новые технологии: асинхронное программирование, микросервисы, cloud-решения, интеграцию с другими языками и сервисами📱
8️⃣ Подходит для старта и роста
Python позволяет легко начать с простых проектов, а затем переходить к сложным архитектурным решениям👨💻 С его помощью ты можешь освоить все ключевые концепции бэкенд-разработки: работу с базами данных, API, многопоточность и т.д.
@pycode1
Я уже говорил о том, что писал на многих языках программирования, но почему решил остановился именно на питоне, напишу ниже
Python востребован в разных областях:
веб-разработка, автоматизация, анализ данных
Python обладает лаконичным и понятным синтаксисом, что позволяет быстрее освоить основы программирования
Для Python существует огромное количество библиотек и фреймворков:
Python поддерживается на всех популярных операционных системах — Windows, macOS, Linux. Это удобно как для разработки, так и для запуска приложений
У Python одно из крупнейших сообществ разработчиков. Это значит, что для большинства вопросов уже есть готовые ответы. Качественная документация
Python отлично подходит для автоматизации рутинных процессов: парсинга сайтов,
Python активно развивается и поддерживает новые технологии: асинхронное программирование, микросервисы, cloud-решения, интеграцию с другими языками и сервисами
Python позволяет легко начать с простых проектов, а затем переходить к сложным архитектурным решениям
@pycode1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1💯1
Как понять айтишников?
У вас когда нибудь бывало такое, что слушаете какого то программиста, и не понимаете на каком языке он говорит? У меня тоже.
Так вот, я создал словарик, который простыми словами объясняет сложный ИТ-сленг. Он поможет быстрее разобраться в терминах, упростит общение в команде и сделает обучение комфортнее.
📝Этот глоссарий — не просто шпаргалка, а способ побороть синдром самозванца и перестать чувствовать себя чужим в мире ИТ. Когда я только начинал, мне бы он сэкономил кучу нервов на созвонах, потому что даже в контексте задачи многое оставалось непонятным.
Переходите по ссылке, сохраняйте документ себе и изучайте новые слова 🔥
У вас когда нибудь бывало такое, что слушаете какого то программиста, и не понимаете на каком языке он говорит? У меня тоже.
Так вот, я создал словарик, который простыми словами объясняет сложный ИТ-сленг. Он поможет быстрее разобраться в терминах, упростит общение в команде и сделает обучение комфортнее.
📝Этот глоссарий — не просто шпаргалка, а способ побороть синдром самозванца и перестать чувствовать себя чужим в мире ИТ. Когда я только начинал, мне бы он сэкономил кучу нервов на созвонах, потому что даже в контексте задачи многое оставалось непонятным.
Переходите по ссылке, сохраняйте документ себе и изучайте новые слова 🔥
🔥2
Почему программировать на самом деле сложно❓
Сегодня тысячи программ для обучения кодингу. Очно, заочно, онлайн, можно даже бесплатно учиться. Но почему тогда не все становятся программистами? Это же самая востребованная и дорогая профессия.💵
📝 Начнем с того, что программирование и кодинг это не одно и то же. Кодингу по сути даже учиться не обязательно. Можно запречь бесплатный OpenAI от Gemini или DeepSeek. Они будут за секунду клепать тысячи строк кода. А программирование – это образ мышления 🧠
Надо понимать суть написания программы, логику ее работы, функционала, какие инструменты где и как применять. Этому тоже можно научиться. Но как и многое в этой жизни, по-настоящему понимать и чувствовать такие вещи начинаешь только с опытом🌡
Откуда берется опыт? Даже не из практики, а из ошибок. Ты становишься сеньором не тогда, когда запомнил наизусть 10 языков или написал 20 программ, а когда научился предвидеть, понимать, находить и решать ошибки☑️ Большинство новичков идут за дорогой и востребованной профессией, но они не вывозят, когда сталкиваются с проблемами. А это не проблемы на работе раз-два в неделю. Это регулярный процесс.
Даже опытные инженеры ошибаются и порой не могут найти косяки неделями. Так что бояться ошибок не стоит, это часть вашей работы. Если вы ошибаетесь, значит учитесь.
Сегодня тысячи программ для обучения кодингу. Очно, заочно, онлайн, можно даже бесплатно учиться. Но почему тогда не все становятся программистами? Это же самая востребованная и дорогая профессия.
Надо понимать суть написания программы, логику ее работы, функционала, какие инструменты где и как применять. Этому тоже можно научиться. Но как и многое в этой жизни, по-настоящему понимать и чувствовать такие вещи начинаешь только с опытом
Откуда берется опыт? Даже не из практики, а из ошибок. Ты становишься сеньором не тогда, когда запомнил наизусть 10 языков или написал 20 программ, а когда научился предвидеть, понимать, находить и решать ошибки
Даже опытные инженеры ошибаются и порой не могут найти косяки неделями. Так что бояться ошибок не стоит, это часть вашей работы. Если вы ошибаетесь, значит учитесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2
О чем молчат на собеседованиях? 🤫
Полезная инфа не только вкатунам, но и тем кто уже работает. Проработав какое то время в IT, я понял, что:
▶️ У каждой компании есть чёткая вилка по зарплате на позицию. Но первое правило HR - заставить тебя назвать цифру первым. Кто первый назвал сумму - тот проиграл.
▶️ Твоя годовая оценка часто не имеет ничего общего с твоими реальными достижениями. Это игра в квоты и бюджеты. На весь отдел уже заранее размечено, сколько человек получат низкие оценки, независимо от их реального вклада.
▶️ Самый токсичный миф - «карьерный рост внутри компании». Правда в том, что за 2-3 перехода между компаниями ты вырастешь больше, чем за 5-7 лет лояльности одной.
▶️ «Корпоративный психолог» - это не твой психолог. Это инструмент компании. Всё, что ты скажешь, может быть использовано... сами знаете как.
▶️ Крутое название должности часто маскирует примитивную работу. Senior Cloud Architecture Designer может заниматься простой поддержкой легаси-кода.
▶️ HR - не твой друг. Их задача - чтобы компания работала эффективно. Твоё счастье в их КРІ не входит.
▶️ Если слышишь от коллег разговоры про «корпоративную культуру» - беги. Это верный признак, что компания - дно, там где реально есть культура ты ни разу про неё не услышишь.
▶️ В компании есть должность «скрам мастер»? - беги. Это компания где люди будут заниматься чем угодно, только не делом, в основном сидеть и порастать мхом, но если ты деятельный то на тебе будут ехать все.
▶️ Система грейдов и уровней придумана не для твоего роста, а чтобы было удобнее держать людей в рамках.
🐸 Самое страшное - большинство так и проживает всю карьеру, не понимая этих правил игры.
Ставим 🔥 если согласны
Полезная инфа не только вкатунам, но и тем кто уже работает. Проработав какое то время в IT, я понял, что:
Ставим 🔥 если согласны
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Синдром overthinking или почему вы прокрастинируете
Уверен, что каждый из вас сталкивался с ситуацией, когда очень долго сидишь за определенной задачей, пытаясь подобрать идеальное решение.
Чрезмерное обдумывание ситуаций, анализ каждого мелкого аспекта и прокручивание возможных исходов, и есть синдром overthinking.
У программистов он встречается довольно часто. Особенно если ты новичок или работаешь над сложной задачей. Вот почему:
1. Желание написать идеальный код➡️ Бесконечное продумывание лучшей архитектуры, выбора библиотек, алгоритмов.
2. Страх ошибок➡️
Можно зациклиться на поиске потенциальных багов, даже если они маловероятны.
3. Много вариантов решения➡️
В программировании почти всегда есть несколько путей, и выбор может затянуться.
4. Импостер-синдром➡️ Мысль “А вдруг мой код плохой?” заставляет переделывать и анализировать бесконечно.
5. Постоянное обучение➡️ Размышления о том, какие технологии учить, какую карьерную стратегию выбрать.
Как с этим бороться❔
✔️ Практиковать принцип KISS (Keep It Simple, Stupid) – проще = лучше.
✔️ Ограничивать время на обдумывание – если за 30 минут нет решения, переходи к прототипированию.
✔️ Не бояться ошибок – быстрее ошибся → быстрее исправил → быстрее научился.
✔️ Разбивать задачи на маленькие части – так легче принимать решения.
✔️ Делать приоритеты – не всё требует глубокого анализа. Иногда достаточно просто рабочего решения.
Ставьте ❤️ если сталкивались с этим
Уверен, что каждый из вас сталкивался с ситуацией, когда очень долго сидишь за определенной задачей, пытаясь подобрать идеальное решение.
Чрезмерное обдумывание ситуаций, анализ каждого мелкого аспекта и прокручивание возможных исходов, и есть синдром overthinking.
У программистов он встречается довольно часто. Особенно если ты новичок или работаешь над сложной задачей. Вот почему:
1. Желание написать идеальный код
2. Страх ошибок
Можно зациклиться на поиске потенциальных багов, даже если они маловероятны.
3. Много вариантов решения
В программировании почти всегда есть несколько путей, и выбор может затянуться.
4. Импостер-синдром
5. Постоянное обучение
Как с этим бороться
Ставьте ❤️ если сталкивались с этим
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
Классный способ визуализации, который открыл для себя недавно
Сегодня хочу поделиться мощным способом визуализации, который отлично подходит для анализа распределения непрерывной переменной (например, зарплаты) в зависимости сразу от двух категориальных признаков.
В чём суть ?
Берём два категориальных признака (в моём примере — IT-специализация и грейд) и для каждой их комбинации строим boxplot. Это позволяет одним взглядом оценить комплексное влияние двух факторов на целевую переменную.
Какие инсайты можно найти? 💡
Вот что я обнаружил на примере датасета с зарплатами в IT:
• Чёткий рост зарплаты от middle к senior почти во всех специализациях
• В сфере Research and Advanced ML джуны получают неожиданно много — часто больше, чем миддлы в других направлениях. Вероятно, сказывается высокий порог входа и нехватка сильных кадров
• Аномально высокие зарплаты у некоторых джунов (например, 300к у AI Developer) — возможно, это ошибки в данных или уникальные кейсы
• Самый перспективный карьерный рост (по разрыву в зарплате между грейдами) — в ML Engineering, Management и Data Engineering
Как это построить? 🛠
Вот пример кода на Python с seaborn:
Ссылка на датасет
Сегодня хочу поделиться мощным способом визуализации, который отлично подходит для анализа распределения непрерывной переменной (например, зарплаты) в зависимости сразу от двух категориальных признаков.
В чём суть ?
Берём два категориальных признака (в моём примере — IT-специализация и грейд) и для каждой их комбинации строим boxplot. Это позволяет одним взглядом оценить комплексное влияние двух факторов на целевую переменную.
Какие инсайты можно найти? 💡
Вот что я обнаружил на примере датасета с зарплатами в IT:
• Чёткий рост зарплаты от middle к senior почти во всех специализациях
• В сфере Research and Advanced ML джуны получают неожиданно много — часто больше, чем миддлы в других направлениях. Вероятно, сказывается высокий порог входа и нехватка сильных кадров
• Аномально высокие зарплаты у некоторых джунов (например, 300к у AI Developer) — возможно, это ошибки в данных или уникальные кейсы
• Самый перспективный карьерный рост (по разрыву в зарплате между грейдами) — в ML Engineering, Management и Data Engineering
Как это построить? 🛠
Вот пример кода на Python с seaborn:
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(10, 8))
sns.boxplot(x='experience_level', y='salary_in_usd', hue='job_category', data=df, palette='Set2')
plt.title('Зависимость зарплаты от грейда и сферы деятельности', fontsize=15)
plt.xlabel('Грейд')
plt.ylabel('Заработная плата, $ в год')
plt.legend(title='Сфера деятельности')
plt.tight_layout()
plt.show()
Ссылка на датасет
🔥5
Насколько важны алгоритмы для аналитика данных? 🤔📊
Если коротко, то важны. Но не так, как для разраба.
Для аналитика данных алгоритмы это не про сложные формулы в 3 экрана, а про понимание логики, которая стоит за инструментами, которыми ты пользуешься каждый день🔍
На своем опыте скажу, что действительно нужно на уровне мидла или выше
🔤 Понимание базовых структур данных
Списки, словари, таблицы, матрицы - вся твоя работа крутится вокруг них.
Чем лучше понимаешь их поведение, тем быстрее решаешь задачи.
🔤 2. Алгоритмическое мышление
Умение разложить задачу на шаги: как обработать данные, как оптимизировать выборку, где ускорить, где не нужно.
🔤 3. Знание классики: сортировки, фильтрации, группировки
Это основа SQL, Python (Pandas), Excel. Всего, чем живёт аналитик🤓
🔤 4. Минимум математики - максимум практичности
Не нужно знать Дейкстру или FFT, но стоит понимать, как работает регрессия, классификация, кластеризация.
Не по формулам а по смыслу🤝
🔤 5. Скорее важно понимать не “как написать алгоритм”, а “как он работает внутри”
Этим ты отличаешься от тех, кто просто жмёт кнопки. Это и есть уровень выше🚀
📌 Что по итогу?
Аналитику не нужно уметь писать сложные алгоритмы. Но нужно понимать их логику, чтобы уверенно работать с данными, моделями и инструментами. Собственно это и делает тебя ценным специалистом💡
Если коротко, то важны. Но не так, как для разраба.
Для аналитика данных алгоритмы это не про сложные формулы в 3 экрана, а про понимание логики, которая стоит за инструментами, которыми ты пользуешься каждый день
На своем опыте скажу, что действительно нужно на уровне мидла или выше
Списки, словари, таблицы, матрицы - вся твоя работа крутится вокруг них.
Чем лучше понимаешь их поведение, тем быстрее решаешь задачи.
Умение разложить задачу на шаги: как обработать данные, как оптимизировать выборку, где ускорить, где не нужно.
Это основа SQL, Python (Pandas), Excel. Всего, чем живёт аналитик
Не нужно знать Дейкстру или FFT, но стоит понимать, как работает регрессия, классификация, кластеризация.
Не по формулам а по смыслу
Этим ты отличаешься от тех, кто просто жмёт кнопки. Это и есть уровень выше
Аналитику не нужно уметь писать сложные алгоритмы. Но нужно понимать их логику, чтобы уверенно работать с данными, моделями и инструментами. Собственно это и делает тебя ценным специалистом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Кто устроился лучше всех в IT ❓
Каждый задавал себе вопрос, чему лучше обучаться, чтобы не сильно тяжело было и нормально платили? Frontend, Backend, Тестировщик, Мобильщик, а может вообще на аналитика пойти🤔
Нужно выбирать то, что вам больше нравится. Чтобы это понять, нужно немало времени. Порешать какие то задачки, посмотреть видео на ютабе, попилить проекты. И уже тогда выбрать верный путь✅
Неважно кто вы, web программист, devops или жесткий MLщик. Если вы хороший специалист + грамотный продажник💵 (да, без навыка «хорошо себя продавать» не обойтись), то вас ждет хорошее соотношение денег в час/трудовой день 👨💻
Вам может показаться что достаточно просто быть очень крутым техническим специалистом, но для того чтобы устроиться лучше всех, этого, к сожалению, недостаточно❌
Я лично встречал случаи когда крутые специалисты получают меньше более наглых ребят и самое интересное, в дальнейшем более наглые ребята, за счет того что они замотивированы☄️ получать все больше и больше, находили более высокооплачиваемые офферы и были вынуждены расти в профессиональном уровне, в итоге, обгоняя скромных, но очкошных гениев
🛡 По итогу, наглость в хорошем смысле этого слова, ценность себя как специалиста и осознание того что ты заслуживаешь больше денег - приносит успех 🥇
Со мной кто-то может не согласиться. Если так, то напишите в комменты ваще мнение👇
Каждый задавал себе вопрос, чему лучше обучаться, чтобы не сильно тяжело было и нормально платили? Frontend, Backend, Тестировщик, Мобильщик, а может вообще на аналитика пойти
Нужно выбирать то, что вам больше нравится. Чтобы это понять, нужно немало времени. Порешать какие то задачки, посмотреть видео на ютабе, попилить проекты. И уже тогда выбрать верный путь
Неважно кто вы, web программист, devops или жесткий MLщик. Если вы хороший специалист + грамотный продажник
Вам может показаться что достаточно просто быть очень крутым техническим специалистом, но для того чтобы устроиться лучше всех, этого, к сожалению, недостаточно
Я лично встречал случаи когда крутые специалисты получают меньше более наглых ребят и самое интересное, в дальнейшем более наглые ребята, за счет того что они замотивированы
Со мной кто-то может не согласиться. Если так, то напишите в комменты ваще мнение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Советы, которые я использую при работе с SQL-запросами 😎
Сейчас я стал писать гораздо больше кода, чем раньше, особенно это касается SQL. Поэтому решил составить небольшую памятку с рекомендациями, которые помогают мне не путаться и не ломать запросы💀
Используйте отступы, выравнивание и пишите ключевые слова в верхнем регистре
Не обязательно вручную расставлять пробелы и держать нажатым caps lock. Всё это можно настроить автоформатированием в любой среде. Это нужно, чтобы не запутаться в длинных однострочных запросах.
Запрашиваем только нужные столбцы, а не всё подряд
Так правильно:
Если использовать SELECT *, а в таблице десятки колонок — читать такой результат неудобно. А если ещё и замешаны JOIN на несколько крупных таблиц, то рискуем вытащить сотню лишних полей, перегрузить запрос и устроить себе хаос.
Подзапросы
Я не фанат подзапросов. Их сложнее читать, тестировать и понимать (кому-то легко, но мне не очень). Особенно когда их 3-4 подряд. Потом ищи, где сломались данные.
Лучше заменить подзапросы на CTE или JOIN🫨
Раннее фильтрование данных
Чем раньше отфильтруем строки, тем меньше объёмы данных, которые пойдут в соединения. Это снижает нагрузку и ускоряет запросы.
EXISTS
Для больших таблиц EXISTS часто работает быстрее, чем IN.
Пример:
Используем CTE
В сложных запросах всегда применяю CTE: сначала фильтрую данные там, а затем подключаю их в основном запросе. Так проще отлаживать и заметно повышается читаемость.
EXPLAIN
Написали тяжёлый запрос — смотрим его через EXPLAIN. Команда показывает план выполнения и помогает понять, насколько ваш SQL нагружает систему. Это ключевой инструмент для оптимизации.
Читаемый SQL = меньше багов и проще поддержка.
Оптимизированный SQL = быстрее выполнение и меньшая нагрузка на базу.
Что ещё можно добавить в этот список? 🍂
Сейчас я стал писать гораздо больше кода, чем раньше, особенно это касается SQL. Поэтому решил составить небольшую памятку с рекомендациями, которые помогают мне не путаться и не ломать запросы
Используйте отступы, выравнивание и пишите ключевые слова в верхнем регистре
Не обязательно вручную расставлять пробелы и держать нажатым caps lock. Всё это можно настроить автоформатированием в любой среде. Это нужно, чтобы не запутаться в длинных однострочных запросах.
Запрашиваем только нужные столбцы, а не всё подряд
Так правильно:
SELECT id, name, email
FROM Table
Если использовать SELECT *, а в таблице десятки колонок — читать такой результат неудобно. А если ещё и замешаны JOIN на несколько крупных таблиц, то рискуем вытащить сотню лишних полей, перегрузить запрос и устроить себе хаос.
Подзапросы
Я не фанат подзапросов. Их сложнее читать, тестировать и понимать (кому-то легко, но мне не очень). Особенно когда их 3-4 подряд. Потом ищи, где сломались данные.
Лучше заменить подзапросы на CTE или JOIN
Раннее фильтрование данных
Чем раньше отфильтруем строки, тем меньше объёмы данных, которые пойдут в соединения. Это снижает нагрузку и ускоряет запросы.
EXISTS
Для больших таблиц EXISTS часто работает быстрее, чем IN.
Пример:
SELECT id, name FROM products p
WHERE EXISTS (SELECT 1 FROM orders o WHERE o.product_id = p.id)
Используем CTE
В сложных запросах всегда применяю CTE: сначала фильтрую данные там, а затем подключаю их в основном запросе. Так проще отлаживать и заметно повышается читаемость.
EXPLAIN
Написали тяжёлый запрос — смотрим его через EXPLAIN. Команда показывает план выполнения и помогает понять, насколько ваш SQL нагружает систему. Это ключевой инструмент для оптимизации.
Читаемый SQL = меньше багов и проще поддержка.
Оптимизированный SQL = быстрее выполнение и меньшая нагрузка на базу.
Что ещё можно добавить в этот список? 🍂
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Разбирем продуктовые метрики.
Начнем с ARPU/ARPPU
Определение:
ARPU - средний доход на юзера. Берем сумму продаж допустим за месяц, делим на активных юзеров этого месяца.
ARPPU - тоже самое что и ARPU, но делим на платящих юзеров.
Применение:
Очень часто используется в аб как контрольная метрика. И как любая денежная метрика говорит о "здоровье" продукта, и позволяет прикидывать сколько денег получаем/теряем в динамике. Ее оценивают как в прогнозах так и в презах для инвесторов.
пример расчета в SQL:
Подсветить:
ARPPU это не средний чек!
ARPPU = доход/платников
Сред. чек = доход/ кол-в чеков
ну мало ли кто не понял)
Upd:
Еще бы добавил одну штуку, что «удобность» этих метрик в том, что они составные и позволяют оценить совокупный эффект изменения конверсии и среднего чека (особенно арпу, например базово давая скидку насколько в конверсии в оплату перекрываем)
Начнем с ARPU/ARPPU
Определение:
ARPU - средний доход на юзера. Берем сумму продаж допустим за месяц, делим на активных юзеров этого месяца.
ARPPU - тоже самое что и ARPU, но делим на платящих юзеров.
Применение:
Очень часто используется в аб как контрольная метрика. И как любая денежная метрика говорит о "здоровье" продукта, и позволяет прикидывать сколько денег получаем/теряем в динамике. Ее оценивают как в прогнозах так и в презах для инвесторов.
пример расчета в SQL:
WITH revenue_per_user AS (
SELECT
user_id,
SUM(amount) AS revenue
FROM payments
WHERE pay_date BETWEEN '2025-04-01' AND '2025-04-30'
GROUP BY user_id
)
SELECT
ROUND(SUM(revenue)::NUMERIC / (SELECT COUNT(*) FROM users), 2) AS arpu,
ROUND(SUM(revenue)::NUMERIC / COUNT(user_id), 2) AS arppu
FROM revenue_per_user;
Подсветить:
ARPPU это не средний чек!
ARPPU = доход/платников
Сред. чек = доход/ кол-в чеков
ну мало ли кто не понял)
Upd:
Еще бы добавил одну штуку, что «удобность» этих метрик в том, что они составные и позволяют оценить совокупный эффект изменения конверсии и среднего чека (особенно арпу, например базово давая скидку насколько в конверсии в оплату перекрываем)
🔥5