Forwarded from Stanislav Lysikov
Всем привет.
В рамках развития сообщества @dbt_users мы проводим второй митап, затрагивающий уже более технические подробности инструмента.
14 июня в 19-00 в онлайне ребята из Wheely, ADV/web-engineering co., Space307 и NabuMinds расскажут:
- надежанная дружба clickhouse и dbt
- data quality в modern data stack
- куда расти в зрелых dbt-проектах
- dbt для байтовозов с маленьким t в elt
Слоты фиксированы по времени, можно подключаться на любой канал. Ссылка на ютуб придет как обычно перед началом митапа.
До встречи :)
https://space307.team/dbtmeetup
В рамках развития сообщества @dbt_users мы проводим второй митап, затрагивающий уже более технические подробности инструмента.
14 июня в 19-00 в онлайне ребята из Wheely, ADV/web-engineering co., Space307 и NabuMinds расскажут:
- надежанная дружба clickhouse и dbt
- data quality в modern data stack
- куда расти в зрелых dbt-проектах
- dbt для байтовозов с маленьким t в elt
Слоты фиксированы по времени, можно подключаться на любой канал. Ссылка на ютуб придет как обычно перед началом митапа.
До встречи :)
https://space307.team/dbtmeetup
Если вдруг кто не видел, то у гитлаба часть репозитория в открытом доступе - https://gitlab.com/gitlab-data/analytics/-/tree/master/transform/snowflake-dbt
GitLab
transform/snowflake-dbt · master · GitLab Data / GitLab Data Team · GitLab
This is the primary project for the GitLab Data team.
Две статьи от CTO https://www.selfr.io/ про modern data stack и вообще построение дата команд/подходов в компании
https://medium.com/alexandre-beauvois/modern-data-stack-as-a-service-1-3-1a1813c38633
https://medium.com/@abeauvois/modern-data-stack-as-a-service-2-3-9a15fd8dfb31
Автор подсвечивает довольно классические проблемы всех хранилищ, и показывает современный дата стак. Статьи, как обзорные, мне понравились
Для себя также открыл https://www.castordoc.com/, возможно запрошу демо и попробую осветить в канале
https://medium.com/alexandre-beauvois/modern-data-stack-as-a-service-1-3-1a1813c38633
https://medium.com/@abeauvois/modern-data-stack-as-a-service-2-3-9a15fd8dfb31
Автор подсвечивает довольно классические проблемы всех хранилищ, и показывает современный дата стак. Статьи, как обзорные, мне понравились
Для себя также открыл https://www.castordoc.com/, возможно запрошу демо и попробую осветить в канале
👍3
Рефлексии пост (отметим 2 юбилея! год в Эстонии и 100+ подписчиков 🙂 )
Год назад я переехал в Эстонию. Уходить из Deutsche Bank было тяжко, в виду очень крутой команды, но нерабочие причины побудили к переезду. Выбирал я между Германией (New Yorker) и Nabuminds (Эстония). По совокупности причин была выбрана Эстония. Получилось так, что я попал в совершенно другой бизнес, другой стек (cloud vs on-premise), и в другую парадигму работы (неуправляемый хаос кек).
На момент переезда в компании был BI департамент с классическим подходом дата инженеры + bi analyst. В команде дата инжей было 2 человека + 1 джун на аутстаффе. Процесс был выстроен довольно лайтово.
За год произошло следующее:
⁃ Поменяли парадигму на Core Data Team + Analytics Team (и отчетность как доп команда в ней)
⁃ Core Data Team выросла с 2 дата инжей до Data Architect + Lead DE + 3 DE + 2 Data QA Engineer
⁃ Ввели Code Review и практику написания дата тестов дата инжами
⁃ Мы стали не бек-офисом для BI, а самостоятельным бизнес-юнитом с разными стейкхолдерами
⁃ Организовали Reverse-ETL
Как обычно, планов в разы больше, чем реализованного
Что хочется
⁃ Организовать полноценный CI/CD. Сейчас это в начальном состоянии
⁃ Сейчас выбираем ELT инструмент для новых источников. До это у нас была связка Pure Python + Kafka -> BigQuery, но сейчас требуется более масштабируемый инструмент. Смотрим на Fivetran, Hevo, StitchData
⁃ Организация End-to-End column data lineage. Как инструментарий у нас dbt + airflow + elt тул + Tableau. Главная проблема тут Tableau, но планируем изучить доступные решения и в случае чего, допилить свою интеграцию
⁃ Кросс-клауд. Сейчас у нас GCP + BigQuery, но ожидается вторым проектом AWS + Snowflake и, скорее всего, потребуется кросс-клауд интеграция
⁃ Демократизация работы с данными. Планируем отдать часть витрин под продукт команды с нашим высокоуровневым контролем + предоставление полноценной документации
⁃ Мониторинг - тоже пока относительно сырая часть, опираемся на слак алерты, но для более детализированной картины будем добавлять мониторинг
⁃ Адаптация команды под рост. У нас открыты 3 дата инженерных позиции + DataOps. С учетом такого бурного роста требуется адаптация процессов
Год назад я переехал в Эстонию. Уходить из Deutsche Bank было тяжко, в виду очень крутой команды, но нерабочие причины побудили к переезду. Выбирал я между Германией (New Yorker) и Nabuminds (Эстония). По совокупности причин была выбрана Эстония. Получилось так, что я попал в совершенно другой бизнес, другой стек (cloud vs on-premise), и в другую парадигму работы (неуправляемый хаос кек).
На момент переезда в компании был BI департамент с классическим подходом дата инженеры + bi analyst. В команде дата инжей было 2 человека + 1 джун на аутстаффе. Процесс был выстроен довольно лайтово.
За год произошло следующее:
⁃ Поменяли парадигму на Core Data Team + Analytics Team (и отчетность как доп команда в ней)
⁃ Core Data Team выросла с 2 дата инжей до Data Architect + Lead DE + 3 DE + 2 Data QA Engineer
⁃ Ввели Code Review и практику написания дата тестов дата инжами
⁃ Мы стали не бек-офисом для BI, а самостоятельным бизнес-юнитом с разными стейкхолдерами
⁃ Организовали Reverse-ETL
Как обычно, планов в разы больше, чем реализованного
Что хочется
⁃ Организовать полноценный CI/CD. Сейчас это в начальном состоянии
⁃ Сейчас выбираем ELT инструмент для новых источников. До это у нас была связка Pure Python + Kafka -> BigQuery, но сейчас требуется более масштабируемый инструмент. Смотрим на Fivetran, Hevo, StitchData
⁃ Организация End-to-End column data lineage. Как инструментарий у нас dbt + airflow + elt тул + Tableau. Главная проблема тут Tableau, но планируем изучить доступные решения и в случае чего, допилить свою интеграцию
⁃ Кросс-клауд. Сейчас у нас GCP + BigQuery, но ожидается вторым проектом AWS + Snowflake и, скорее всего, потребуется кросс-клауд интеграция
⁃ Демократизация работы с данными. Планируем отдать часть витрин под продукт команды с нашим высокоуровневым контролем + предоставление полноценной документации
⁃ Мониторинг - тоже пока относительно сырая часть, опираемся на слак алерты, но для более детализированной картины будем добавлять мониторинг
⁃ Адаптация команды под рост. У нас открыты 3 дата инженерных позиции + DataOps. С учетом такого бурного роста требуется адаптация процессов
👍7
Forwarded from Data Coffee
Наконец-то это случилось, и мы поговорили про dbt! К нам в гости заходил Никита Баканчев, Lead Data Engineer из NabuMinds (LinkedIn, Telegram)
Никита рассказал нам что же за инструмент такой dbt и зачем он нужен на data-проектах, чем отличается open source версия dbt core от закрытой dbt cloud, про возможности тестирования и data quality, документацию и lineage, а также про community.
Кроме того, мы не могли обойти стороной расширяемость dbt и попросили гостя назвать те пакеты, на которые точно стоит обратить внимание, и сделали для вас подборочку:
- dbt_utils
- dbtvault
- snowflake_utils
- dbt_expectations
- dbt_date
#datacoffee #podcast #data
Где слушать🎧:
— Anchor.FM
— YouTube
— Бот (последний эпизод)
— Остальные площадки
Канал в Telegram: https://news.1rj.ru/str/datacoffee
Профиль в Twitter: https://twitter.com/_DataCoffee_
Чат подкаста: https://news.1rj.ru/str/datacoffee_chat
Поддержать нас чашечкой кофе и даже присоединиться онлайн во время записи можно с помощью сервиса Buy me a coffee
Никита рассказал нам что же за инструмент такой dbt и зачем он нужен на data-проектах, чем отличается open source версия dbt core от закрытой dbt cloud, про возможности тестирования и data quality, документацию и lineage, а также про community.
Кроме того, мы не могли обойти стороной расширяемость dbt и попросили гостя назвать те пакеты, на которые точно стоит обратить внимание, и сделали для вас подборочку:
- dbt_utils
- dbtvault
- snowflake_utils
- dbt_expectations
- dbt_date
#datacoffee #podcast #data
Где слушать🎧:
— Anchor.FM
— YouTube
— Бот (последний эпизод)
— Остальные площадки
Канал в Telegram: https://news.1rj.ru/str/datacoffee
Профиль в Twitter: https://twitter.com/_DataCoffee_
Чат подкаста: https://news.1rj.ru/str/datacoffee_chat
Поддержать нас чашечкой кофе и даже присоединиться онлайн во время записи можно с помощью сервиса Buy me a coffee
🔥6👍5
https://habr.com/ru/company/lamoda/blog/684658/
довольно интересный пост по вкату в DE
довольно интересный пост по вкату в DE
Хабр
Что должен знать дата-инженер. Роадмап для джуниора
Привет, username! Меня зовут Иван Васенков и я джуниор дата-инженер в дирекции данных и аналитики Lamoda. Но к этой профессии я пришел не сразу: окончив университет, я начал работать аналитиком...
👍7🔥1
Стартовал ML Zoomcamp 2022 (точнее первая неделя уже заканчивается сегодня)
Попробую поучаствовать, посмотрть, что там за ваш ML с этим курсом. А то мы только данные дата сайнтистов перекладывали, да бизнесу отдавали
https://github.com/alexeygrigorev/mlbookcamp-code/tree/master/course-zoomcamp
Попробую поучаствовать, посмотрть, что там за ваш ML с этим курсом. А то мы только данные дата сайнтистов перекладывали, да бизнесу отдавали
https://github.com/alexeygrigorev/mlbookcamp-code/tree/master/course-zoomcamp
GitHub
mlbookcamp-code/course-zoomcamp at master · alexeygrigorev/mlbookcamp-code
The code from the Machine Learning Bookcamp book. Contribute to alexeygrigorev/mlbookcamp-code development by creating an account on GitHub.
Упустил момент, что Andy Pavlo вернулся к преподаванию и его потрясающуй курс по СУБД снова с нами !
https://www.youtube.com/watch?v=uikbtpVZS2s&list=PLSE8ODhjZXjaKScG3l0nuOiDTTqpfnWFf
https://www.youtube.com/watch?v=uikbtpVZS2s&list=PLSE8ODhjZXjaKScG3l0nuOiDTTqpfnWFf
YouTube
01 - Relational Model & Relational Algebra (CMU Intro to Database Systems / Fall 2022)
Andy Pavlo (https://www.cs.cmu.edu/~pavlo/)
Slides: https://15445.courses.cs.cmu.edu/fall2022/slides/01-introduction.pdf
Notes https://15445.courses.cs.cmu.edu/fall2022/notes/01-introduction.pdf
15-445/645 Intro to Database Systems (Fall 2022)
Carnegie Mellon…
Slides: https://15445.courses.cs.cmu.edu/fall2022/slides/01-introduction.pdf
Notes https://15445.courses.cs.cmu.edu/fall2022/notes/01-introduction.pdf
15-445/645 Intro to Database Systems (Fall 2022)
Carnegie Mellon…
🔥6❤2
Как Nik в ФААНГ не попал
В сентябре 2021 на меня вышел рекрутер Меты и предложил пройти собес на позицию Senior DE. Я подумал, а что бы и нет.
Опишу форматы интервью и как все проходило
1. Телефонный скрининг
Уже на телефонном скрининге были заданы вопросы про Python, SQL, Product metrics, на которые надо было ответить. Самый кек что по сикулэ вопросы были не до конца точные, поэтому я пытался угадать, что от меня хотели
2. Programming screening
На этом этапе обычно ждешь ЛитКод. Поэтому взял месяц на подготовку.Приступил я к подготовке .. за день до интервью. В итоге был кек момент, когда я решил задачу фор-фор через О(n^2), предложил сделать норм решение, но сказали - го некст. В итоге в этом интервью было n задач на Python и SQL. N >= 5
3. On-site interview. Про инсайт говорить сложно, так как я подписал NDA.
Кому интересно просто о чем онсайт - у меты материалы есть https://www.metacareers.com/DE-prep-onsite/
Курс для подготовки который довольно не плохо cover basics - https://www.udemy.com/course/data-engineer-interview-prep/
По факту инсайт состоял из 4 интервью - 1 бихейв + 3 специфичных ДЕ интервью (это и не сис дизайн и не кодинг, а что-то среднее).
На подготовку взял как обычно месяц, готовился 2 дня (по факту посмотрев курс выше гг)
В итоге 19 февраля был получен оффер, 23 я подтвердил, а 24 началась активная стадия войны.
Про стадию переговоров могу только сказать, что без второго оффера из ФААНГ почти без шансов нормально поднять.
Изначально я должен был выйти летом, потом в ноябре, потом начались лайоффы. В итоге отказался от выхода.
Так что галочка пройти в ФААНГ выполнена, но опытом работы там в ближайшее время не поделюсь.
Отмечу потрясающий професионализм рекрутинга Меты, это просто небо и земля по сравнению с другими компаниями (например, букинг ггг). Видно, насколько это одновременно поставлено на поток, но и как работает индивидуальный подход.
В сентябре 2021 на меня вышел рекрутер Меты и предложил пройти собес на позицию Senior DE. Я подумал, а что бы и нет.
Опишу форматы интервью и как все проходило
1. Телефонный скрининг
Уже на телефонном скрининге были заданы вопросы про Python, SQL, Product metrics, на которые надо было ответить. Самый кек что по сикулэ вопросы были не до конца точные, поэтому я пытался угадать, что от меня хотели
2. Programming screening
На этом этапе обычно ждешь ЛитКод. Поэтому взял месяц на подготовку.Приступил я к подготовке .. за день до интервью. В итоге был кек момент, когда я решил задачу фор-фор через О(n^2), предложил сделать норм решение, но сказали - го некст. В итоге в этом интервью было n задач на Python и SQL. N >= 5
3. On-site interview. Про инсайт говорить сложно, так как я подписал NDA.
Кому интересно просто о чем онсайт - у меты материалы есть https://www.metacareers.com/DE-prep-onsite/
Курс для подготовки который довольно не плохо cover basics - https://www.udemy.com/course/data-engineer-interview-prep/
По факту инсайт состоял из 4 интервью - 1 бихейв + 3 специфичных ДЕ интервью (это и не сис дизайн и не кодинг, а что-то среднее).
На подготовку взял как обычно месяц, готовился 2 дня (по факту посмотрев курс выше гг)
В итоге 19 февраля был получен оффер, 23 я подтвердил, а 24 началась активная стадия войны.
Про стадию переговоров могу только сказать, что без второго оффера из ФААНГ почти без шансов нормально поднять.
Изначально я должен был выйти летом, потом в ноябре, потом начались лайоффы. В итоге отказался от выхода.
Так что галочка пройти в ФААНГ выполнена, но опытом работы там в ближайшее время не поделюсь.
Отмечу потрясающий професионализм рекрутинга Меты, это просто небо и земля по сравнению с другими компаниями (например, букинг ггг). Видно, насколько это одновременно поставлено на поток, но и как работает индивидуальный подход.
Meta Careers
Meta's mission is to build the future of human connection and the technology that makes it possible.
👍13🔥5❤3
Боли modern stack
Буквально пару дней dbt cloud объявил что они изменяют систему подписки, и Team Plan, на котором мы сидели, во-первых, увеличивает стоимость x2, во-вторых, сокращает кол-во лицензий до 8. Данный нововведения будут с февраля.
Для нас это крайне неприятно, так как, во-первых, у нас уже 11 лицензий, а также я “продал” использование dbt команде аналитиков и data science (это еще + 10 лицензий). Платить x3-4 за enterprise лицензию мы не готовы.
Вот и появилась резкая необходимость съезда с dbt cloud на cloud hosted решение. В принципе это напрашивалось и ранее, так как мы начали понимать, что в процессе роста команды dbt cloud перестал быть жирным плюсом, а также у него появились минусы для нас (например, в количестве параллельных dbt cloud jobs).
В течение декабря - января придется сделать переезд. В принципе, это все было озвучено не раз, что paas/saas - lock по факту всегда является фактором риска (так как, если вендор видит возможность повышения цены - он будет это делать). Но сделано это было в декабре, когда бюджеты на след год уже обычно утверждены. Не уверен, насколько данное решение принесет пользы dbt cloud.
Из минусов - придется делать еще большие девопс обвески. Плюсы - считаю для команды это будет плюс, так как мы плавно добавляем различные сервисы и т.п. и переход на локальную разработку в dbt принесет более инженерный подход, в том числе.
Буквально пару дней dbt cloud объявил что они изменяют систему подписки, и Team Plan, на котором мы сидели, во-первых, увеличивает стоимость x2, во-вторых, сокращает кол-во лицензий до 8. Данный нововведения будут с февраля.
Для нас это крайне неприятно, так как, во-первых, у нас уже 11 лицензий, а также я “продал” использование dbt команде аналитиков и data science (это еще + 10 лицензий). Платить x3-4 за enterprise лицензию мы не готовы.
Вот и появилась резкая необходимость съезда с dbt cloud на cloud hosted решение. В принципе это напрашивалось и ранее, так как мы начали понимать, что в процессе роста команды dbt cloud перестал быть жирным плюсом, а также у него появились минусы для нас (например, в количестве параллельных dbt cloud jobs).
В течение декабря - января придется сделать переезд. В принципе, это все было озвучено не раз, что paas/saas - lock по факту всегда является фактором риска (так как, если вендор видит возможность повышения цены - он будет это делать). Но сделано это было в декабре, когда бюджеты на след год уже обычно утверждены. Не уверен, насколько данное решение принесет пользы dbt cloud.
Из минусов - придется делать еще большие девопс обвески. Плюсы - считаю для команды это будет плюс, так как мы плавно добавляем различные сервисы и т.п. и переход на локальную разработку в dbt принесет более инженерный подход, в том числе.
👍12
Если вы также, как я и из мира batch processing, то понятие message broker (event-driven .. ) может быть вам не знакомо.
Мне кажется отличное прикладное введение на эту тему получилось у Google с их плейлистом https://www.youtube.com/playlist?list=PLIivdWyY5sqKwVLe4BLJ-vlh9r9zCdOse
Буквально за час покрываются высоуровнево следующее:
1. Общий обзор, как данные системы могут помочь
2. Кто есть publisher/subscriber
3. Общая архитектура таких решений
4. Примеры работы
5. Модели работы subscriber pull/streaming pull/push
6. Обработка ошибок и недоставленных сообщений
7. Работа с endpoint на пример cloud function/cloud run
8. Сравнение Pub/Sub, Apache Kafka и альтернатив
В общем, под чаек посмотреть вполне неплохо =)
P.S.Интересно, если я настроил pub sub topic, который пишет 4 сообщения в день и отправляет на webhook, я же могу писать в cv опыт с real time solutions? 😄
Мне кажется отличное прикладное введение на эту тему получилось у Google с их плейлистом https://www.youtube.com/playlist?list=PLIivdWyY5sqKwVLe4BLJ-vlh9r9zCdOse
Буквально за час покрываются высоуровнево следующее:
1. Общий обзор, как данные системы могут помочь
2. Кто есть publisher/subscriber
3. Общая архитектура таких решений
4. Примеры работы
5. Модели работы subscriber pull/streaming pull/push
6. Обработка ошибок и недоставленных сообщений
7. Работа с endpoint на пример cloud function/cloud run
8. Сравнение Pub/Sub, Apache Kafka и альтернатив
В общем, под чаек посмотреть вполне неплохо =)
P.S.Интересно, если я настроил pub sub topic, который пишет 4 сообщения в день и отправляет на webhook, я же могу писать в cv опыт с real time solutions? 😄
YouTube
Pub/Sub Made Easy
Pub/Sub is the great serverless tool for message oriented middleware or event driven ingestion and delivery for your streaming pipelines. Learn everything th...
👍11
#english
Начинаю писать потихоньку цикл статей - "Что-то пошло не так". Они на английском + мой письменный английский оставляет желать лучшего. Но надо же практиковаться, а что может быть лучше чем Learn in Public 😄 (Второе, это написание документации и post-mortem)
Первый рассказ про то, что могло пойти не так, если вы используете так называемые ручные справочники в полуструктурированном формате.
https://bakanchevn.github.io/nulls_handling.html
Начинаю писать потихоньку цикл статей - "Что-то пошло не так". Они на английском + мой письменный английский оставляет желать лучшего. Но надо же практиковаться, а что может быть лучше чем Learn in Public 😄 (Второе, это написание документации и post-mortem)
Первый рассказ про то, что могло пойти не так, если вы используете так называемые ручные справочники в полуструктурированном формате.
https://bakanchevn.github.io/nulls_handling.html
👍7
Мне очень понравилась аналогия с транспортом в курсе от Гугла при обсуждении On-prem, IaaS, Pass, SaaS:
On-premise:
Вы купили машину и сами решаете, как с ней поступить. Но техосмотр, исправление проблем, обновление (покупка новой машины или обновление движка на вашей стороне)
Cloud IaaS (Infrastucture-as-a-Service)
Вы взяли машину в лизинг. Вы сами выбрали, что за машина и можете использовать как хотите (с возможным ограничением в контракте). Но машина не ваша (В любой момент или в зависимости от контракта в течение нескольких месяцев ее могут забрать). Для обновления достаточно взять новую машину в лизинг
Cloud Paas (Platform-as-a-Service)
Вы взяли такси. Вы выбрали направление и, возможно, класс машины, но все управление делается уже не вами. Также вы можете быть лимитированы в выборе направления пути.
Cloud Saas (Software-as-a-Service)
Вы используете общественный транспорт (автобус, трамвай, троллейбус). У вас есть доступ к транспорту, но вы не можете “кастомизировать” маршрут (если это конечно не маршрутка ггг). Есть ряд установленных направлений. Вы делите место с другими пассажирами, что в худшем случае может вызвать дискомфорт.
P.S. Возможно это адский баян, но я такой аналогии ранее не встречал =)
On-premise:
Вы купили машину и сами решаете, как с ней поступить. Но техосмотр, исправление проблем, обновление (покупка новой машины или обновление движка на вашей стороне)
Cloud IaaS (Infrastucture-as-a-Service)
Вы взяли машину в лизинг. Вы сами выбрали, что за машина и можете использовать как хотите (с возможным ограничением в контракте). Но машина не ваша (В любой момент или в зависимости от контракта в течение нескольких месяцев ее могут забрать). Для обновления достаточно взять новую машину в лизинг
Cloud Paas (Platform-as-a-Service)
Вы взяли такси. Вы выбрали направление и, возможно, класс машины, но все управление делается уже не вами. Также вы можете быть лимитированы в выборе направления пути.
Cloud Saas (Software-as-a-Service)
Вы используете общественный транспорт (автобус, трамвай, троллейбус). У вас есть доступ к транспорту, но вы не можете “кастомизировать” маршрут (если это конечно не маршрутка ггг). Есть ряд установленных направлений. Вы делите место с другими пассажирами, что в худшем случае может вызвать дискомфорт.
P.S. Возможно это адский баян, но я такой аналогии ранее не встречал =)
🔥8👍3
Важен ли вам моральный аспект при поиске работы? (отмечай, что является красным флагом)
Anonymous Poll
7%
Работа в банках это отъем денег у населения
35%
Гемблинг?! Да никогда
15%
Индустрия не важна, лишь бы была регуляция
19%
Никогда не пойду в криптоиндустрию, это какой-то скам
29%
18+ Контент
23%
Лут боксы ака современный гейминг
60%
Гос и аффилированные с государством компании
В виду выхода из режима близкому к burnout, постепенно возращаюсь к публичным активностям. Одной из тем, которую я давно хотел обсудить, является корпоративное обучение.
У меня есть опыт преподавания как академический (в университете), так и корпоративный, поэтому я бы хотел поделиться с вами двумя историями и систематизировать свои мысли на эту тему.
Первая история связана с моим опытом работы экспертом на курсе. Мне было поручено создание курса для системных аналитиков DWH, адаптированного под потребности компании. Курс был разработан как интенсивный курс продолжительностью 20 дней, с множеством практических занятий и лекций. Однако проблема заключалась в том, что на подготовку с нуля у нас был только один месяц. Мои обязанности включали в себя сбор требований от заказчика, разработку плана лекций, постановку технических задач, формулирование задач для лекций и проверку готовых материалов. Лекции были разработаны другими специалистами.
Однако возникла проблема, когда меня не включили в процесс отбора людей, которые создавали лекции. Фактически первые лекции состояли из нескольких броских картинок из интернета, которые лишь отдаленно относились к теме курса. В процессе испрвление, был исправлен контент, но не картинки, меня заверили, что дизайнеры сделают это. Однако они внесли изменения лишь в общее оформление, и материал был отправлен заказчику без изменений. В итоге выяснилось, что автором одной из картинок был большой манагер компании-заказчика и главный человек по примке ЛУЛЦ. В этот момент мой работодатель счел, что моя деятельность может стать причиной конфликта интересов, и я ушел с проекта, передав дела другому специалисту, так что как это закончилось я точно не знаю =) Но мне была выплачена оплата за мою часть работы.
Вторая история, связана с тем, как я преподавал часть уроков по курсу DWH Analyst / Analytics Engineer. Мне это было интересно, так как по факту это был курс по dbt для русско язычного сегмента. Это был не первый запуск курса, поэтому все лекции уже были готовы. Сам курс был выстроен довольно неплохо по наполнению (тем более это был главный популизатор dbt в руязычном сегменте!). Основная проблема была в том, что лекции были заточены под проекты главного разработчика курса и часть слайдов была не воспроизводима. Например, там был рассказ про определенный инструментарий и следующий слайд демо (Для примера, скажем инкрементальное использование dbt и Redshift). А у меня нет таких таблиц и готового Redshift кластера, и демо у меня на BQ.
Казалось бы, почему бы не переделать слайды? А тут вступает вопрос прайсинга, тебе платят только за проведение лекций, а материалы уже готовые (хотя демо и практику все равно приходилось самому к слову). И когда ты предлагаешь переделать слайды, то тебе отвечают, что в текущем запуске курса это в бюджете нет и подумаем в след запуск. Вот и получается, по факту сам курс представляет собой набор демо-классов от разных людей, далеко не всегда собранный в единное целое. (Самый кек, что я в итоге работал бесплатно, проведя 10+ лекций, потому что это было в период 2021-2022 года и мне было не интересно получить выплату в рублях, а других вариантов у компании не было)
В целом, у меня есть ощущение, что ввязываться в корп. обучение есть смысл тогда и только тогда, когда есть полный контроль над тем, как курс составлен и что в него входит. Иначе это может быть как минус для тебя как преподавателя, так как контент ассоциируют с тобой, даже если ты не его автор. Да и в целом корп. обучение ставит перед собой цель в заработке, что приводит к тому, что надо продать курс, а потом формально его закрыть и провести (Это относится не ко всем курсам, но ко многим).
У меня есть опыт преподавания как академический (в университете), так и корпоративный, поэтому я бы хотел поделиться с вами двумя историями и систематизировать свои мысли на эту тему.
Первая история связана с моим опытом работы экспертом на курсе. Мне было поручено создание курса для системных аналитиков DWH, адаптированного под потребности компании. Курс был разработан как интенсивный курс продолжительностью 20 дней, с множеством практических занятий и лекций. Однако проблема заключалась в том, что на подготовку с нуля у нас был только один месяц. Мои обязанности включали в себя сбор требований от заказчика, разработку плана лекций, постановку технических задач, формулирование задач для лекций и проверку готовых материалов. Лекции были разработаны другими специалистами.
Однако возникла проблема, когда меня не включили в процесс отбора людей, которые создавали лекции. Фактически первые лекции состояли из нескольких броских картинок из интернета, которые лишь отдаленно относились к теме курса. В процессе испрвление, был исправлен контент, но не картинки, меня заверили, что дизайнеры сделают это. Однако они внесли изменения лишь в общее оформление, и материал был отправлен заказчику без изменений. В итоге выяснилось, что автором одной из картинок был большой манагер компании-заказчика и главный человек по примке ЛУЛЦ. В этот момент мой работодатель счел, что моя деятельность может стать причиной конфликта интересов, и я ушел с проекта, передав дела другому специалисту, так что как это закончилось я точно не знаю =) Но мне была выплачена оплата за мою часть работы.
Вторая история, связана с тем, как я преподавал часть уроков по курсу DWH Analyst / Analytics Engineer. Мне это было интересно, так как по факту это был курс по dbt для русско язычного сегмента. Это был не первый запуск курса, поэтому все лекции уже были готовы. Сам курс был выстроен довольно неплохо по наполнению (тем более это был главный популизатор dbt в руязычном сегменте!). Основная проблема была в том, что лекции были заточены под проекты главного разработчика курса и часть слайдов была не воспроизводима. Например, там был рассказ про определенный инструментарий и следующий слайд демо (Для примера, скажем инкрементальное использование dbt и Redshift). А у меня нет таких таблиц и готового Redshift кластера, и демо у меня на BQ.
Казалось бы, почему бы не переделать слайды? А тут вступает вопрос прайсинга, тебе платят только за проведение лекций, а материалы уже готовые (хотя демо и практику все равно приходилось самому к слову). И когда ты предлагаешь переделать слайды, то тебе отвечают, что в текущем запуске курса это в бюджете нет и подумаем в след запуск. Вот и получается, по факту сам курс представляет собой набор демо-классов от разных людей, далеко не всегда собранный в единное целое. (Самый кек, что я в итоге работал бесплатно, проведя 10+ лекций, потому что это было в период 2021-2022 года и мне было не интересно получить выплату в рублях, а других вариантов у компании не было)
В целом, у меня есть ощущение, что ввязываться в корп. обучение есть смысл тогда и только тогда, когда есть полный контроль над тем, как курс составлен и что в него входит. Иначе это может быть как минус для тебя как преподавателя, так как контент ассоциируют с тобой, даже если ты не его автор. Да и в целом корп. обучение ставит перед собой цель в заработке, что приводит к тому, что надо продать курс, а потом формально его закрыть и провести (Это относится не ко всем курсам, но ко многим).
👍12
Выступил внутри компании на прошлой неделе, по факту - первый опыт монолога на 40+ минут для аудитории 30-40 человек (часть была еще в зуме) на английском языке :)
Очень сильно большая разница с обычными митингами или даже зум созвонами, где что-то рассказывается
До этого я делал интенсив обучение по sql с сессиями на полтора часа внутри компании, но все равно, совершенно разные ощущения
Примерно понял по фидбеку, что нужно улучшать в своей речи и по выступлению в целом
Очень сильно большая разница с обычными митингами или даже зум созвонами, где что-то рассказывается
До этого я делал интенсив обучение по sql с сессиями на полтора часа внутри компании, но все равно, совершенно разные ощущения
Примерно понял по фидбеку, что нужно улучшать в своей речи и по выступлению в целом
👍8❤2🔥1
AI tutor
Недавно мне скинули ссылку на AI Tutor для ChatGPT-4 https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor и я решил посмотреть, как это может помочь дата инженеру.
- Задача: Я хотел изучить внутренний движок запросов Apache Spark. Сам чат можно посмотреть на этой странице Notion: https://bakanchevn.notion.site/AI-Learning-782d325ffbee44ab88467bfcd9e6bc12
- Подача материала: В целом, формат ответов выглядит довольно хорошо, хотя есть некоторые недочеты (поэтому надо прокачивать скилл prompt engineering! в том числе). Я предполагаю, что для более программистских тем задачи сами по себе будут более детализированными. Иногда мне приходилось задавать вопрос несколько раз, чтобы действительно добраться до сути.
- Надежность и качество материала : Конечно, есть вопрос корректности материала, и однозначно, ориентироваться только на этот механизм не стоит👨🦳 , но в целом ссылки на код спарка и методы плюс минус валидные. Думаю, попробую другие темы и посмотрю, будет ли лучше или хуже.
- Тестирование. Я попробовал систему тестов и попробовал поделать ошибки в ответах. Кажется, что бот слишком вежливый, надо бы поиграться с параметрами🤔 Фидбек выглядит валидным.
В целом, впечатление положительное, и думаю, что это может помочь людям, кто предпочитает формат самообучения, если конечно через пару лет AI не поработит нас окончательно😡
P.S. В моем английском на скриншотах есть ошибки и недочеты, прошу этот момент игнорировать
Недавно мне скинули ссылку на AI Tutor для ChatGPT-4 https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor и я решил посмотреть, как это может помочь дата инженеру.
- Задача: Я хотел изучить внутренний движок запросов Apache Spark. Сам чат можно посмотреть на этой странице Notion: https://bakanchevn.notion.site/AI-Learning-782d325ffbee44ab88467bfcd9e6bc12
- Подача материала: В целом, формат ответов выглядит довольно хорошо, хотя есть некоторые недочеты (поэтому надо прокачивать скилл prompt engineering! в том числе). Я предполагаю, что для более программистских тем задачи сами по себе будут более детализированными. Иногда мне приходилось задавать вопрос несколько раз, чтобы действительно добраться до сути.
- Надежность и качество материала : Конечно, есть вопрос корректности материала, и однозначно, ориентироваться только на этот механизм не стоит
- Тестирование. Я попробовал систему тестов и попробовал поделать ошибки в ответах. Кажется, что бот слишком вежливый, надо бы поиграться с параметрами
В целом, впечатление положительное, и думаю, что это может помочь людям, кто предпочитает формат самообучения, если конечно через пару лет AI не поработит нас окончательно
P.S. В моем английском на скриншотах есть ошибки и недочеты, прошу этот момент игнорировать
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - JushBJJ/Mr.-Ranedeer-AI-Tutor: A GPT-4 AI Tutor Prompt for customizable personalized learning experiences.
A GPT-4 AI Tutor Prompt for customizable personalized learning experiences. - JushBJJ/Mr.-Ranedeer-AI-Tutor
👍4🔥1
Техническое решение и политические игры
Казалось бы, довольно понятная тема. Кажется, что процесс поиска технического решения довольно прямолинеен в теории
Возьмем “простой пример” - Представим что вы только пришли в компанию и вам поставлена задача поиска “плохих клиентов” aka fraud customers. Предположим, что наша абстрактная компания работает уже долго в индустрии и данных достаточно. Бизнес хочет, как обычно, чтобы это было как можно быстрее, чтобы “плохие клиенты” не успели совершить действий, которые приведут к потере денег
Как первая версия можно рассмотреть следующее решение, которое состоит из трех пунктов
---
1. В момент регистрации клиента происходит кросс чекинг по мейлу / телефону / другим признакам, и в случае нахождения совпадения осуществляется бан / ограничение функциональности / отправка на KYC / другой вариант
2. При осуществлении каких-нибудь платежей, если обнаружена совпадение по платежной информации с одним из “плохих клиентов” осуществляется отправка на доп. Проверку / бан / …
3. В целом, разрабатывается ML Fraud Detection Model (куда уж без этого в 2023!) для обнаружения “плохих клиентов”
---
А теперь представьте вы работаете в большой компании, например в отделе аналитики (со своими data / analytics инженерами конечно!), и вам была поставлена задача (ну или ваш менеджер оценил это так) выкатить все это в течении месяца.
Кажется, идеальная задача под стриминг для пункта 1 и 2, и возможно даже 3. Вы радостно разрабатываете архитектуру решения и предлагаете его внутри команды.
Но тут менеджер вашего департамента сообщает, что у вас нет доступа к streaming части инфраструктуры (в крайнем случае, даже к файлам сырого слоя) по соображениям безопасности / структуры / …
Рассмотрим, что можно сделать
---
1. Подключить команду, занимающуюся streaming инфраструктурой и совместно разработать проект
2. Сделать микробатч решение на вашей собственной инфраструктуре
3. Подключить команду backend разработки и сделать решение через синхронную / асинхронную передачу данных с разработкой сервиса на своей стороне
4. Сказать, что у вас такой возможности нет и передать задачу в другой отдел
5. ..
---
У каждого из этих решений есть вероятность применения в зависимости от взаимотношений и политических решений как внутри отдела, так и в целом, в компании.
Например, вариант 2 может быть достижим в случае, если вам нужна полная изолированность от других отделов (или политическое влияние обладанием этого проекта), а переговоры о предоставлении доступа с другими отделами. закончились неудачно. При этом вам нужно еще “продать” решение бизнесу, почему нужно выбрать именно это решение.
Поэтому вам, как инженеру, иногда придется делать решения, которые не являются лучшими с технической точки зрения в зависимости от других вводных условий.
Есть люди, для которых такая “несвобода” при принятии решений может быть красным флагом, и если у вас такая ситуация в отделе/департаменте, чтобы не возникло неприятных расставаний в течении работы, есть смысл устраивать role play таких ситуация на сис дизайн/behaioral интервью, если у вас есть такие практики
P.S. Пример выдуманный, все совпадения случайны и не имеют отношения к моей рабочей деятельности за последние X лет
Казалось бы, довольно понятная тема. Кажется, что процесс поиска технического решения довольно прямолинеен в теории
Возьмем “простой пример” - Представим что вы только пришли в компанию и вам поставлена задача поиска “плохих клиентов” aka fraud customers. Предположим, что наша абстрактная компания работает уже долго в индустрии и данных достаточно. Бизнес хочет, как обычно, чтобы это было как можно быстрее, чтобы “плохие клиенты” не успели совершить действий, которые приведут к потере денег
Как первая версия можно рассмотреть следующее решение, которое состоит из трех пунктов
---
1. В момент регистрации клиента происходит кросс чекинг по мейлу / телефону / другим признакам, и в случае нахождения совпадения осуществляется бан / ограничение функциональности / отправка на KYC / другой вариант
2. При осуществлении каких-нибудь платежей, если обнаружена совпадение по платежной информации с одним из “плохих клиентов” осуществляется отправка на доп. Проверку / бан / …
3. В целом, разрабатывается ML Fraud Detection Model (куда уж без этого в 2023!) для обнаружения “плохих клиентов”
---
А теперь представьте вы работаете в большой компании, например в отделе аналитики (со своими data / analytics инженерами конечно!), и вам была поставлена задача (ну или ваш менеджер оценил это так) выкатить все это в течении месяца.
Кажется, идеальная задача под стриминг для пункта 1 и 2, и возможно даже 3. Вы радостно разрабатываете архитектуру решения и предлагаете его внутри команды.
Но тут менеджер вашего департамента сообщает, что у вас нет доступа к streaming части инфраструктуры (в крайнем случае, даже к файлам сырого слоя) по соображениям безопасности / структуры / …
Рассмотрим, что можно сделать
---
1. Подключить команду, занимающуюся streaming инфраструктурой и совместно разработать проект
2. Сделать микробатч решение на вашей собственной инфраструктуре
3. Подключить команду backend разработки и сделать решение через синхронную / асинхронную передачу данных с разработкой сервиса на своей стороне
4. Сказать, что у вас такой возможности нет и передать задачу в другой отдел
5. ..
---
У каждого из этих решений есть вероятность применения в зависимости от взаимотношений и политических решений как внутри отдела, так и в целом, в компании.
Например, вариант 2 может быть достижим в случае, если вам нужна полная изолированность от других отделов (или политическое влияние обладанием этого проекта), а переговоры о предоставлении доступа с другими отделами. закончились неудачно. При этом вам нужно еще “продать” решение бизнесу, почему нужно выбрать именно это решение.
Поэтому вам, как инженеру, иногда придется делать решения, которые не являются лучшими с технической точки зрения в зависимости от других вводных условий.
Есть люди, для которых такая “несвобода” при принятии решений может быть красным флагом, и если у вас такая ситуация в отделе/департаменте, чтобы не возникло неприятных расставаний в течении работы, есть смысл устраивать role play таких ситуация на сис дизайн/behaioral интервью, если у вас есть такие практики
P.S. Пример выдуманный, все совпадения случайны и не имеют отношения к моей рабочей деятельности за последние X лет
👍11
