🔋 Труба данных – Telegram
🔋 Труба данных
3.99K subscribers
330 photos
5 videos
9 files
449 links
Авторский канал обо всем, что происходит в мире работы с данными: хранение, обработка, визуализация, как мы принимаем решения и как мы становимся профессионалами в работе с данными.

Автора канала - @SimonOsipov
Download Telegram
Что я хотел бы знать об IT в 20 лет

Я очень люблю продукт Максима Дорофеева. И да, я знаю, что часть идей не уникальна, часть адаптирована и вот это все. Однако мне удалось с ним общаться лично некоторое количество времени и это потрясающей энергии человек. Поэтому вне зависимости от того, какую тему он рассказывает, ты все равно находишь что-то интересное и полезное для себя. Сегодня очень интересная и забавная лекция (причем из очень давних): Что я хотел бы знать об IT в 20 лет. Подойдет всем, как и прожженым айтишникам, так и тем, кто только начинает свой путь.

https://www.youtube.com/watch?v=fY8hhOv7lmE

#пятничныйYoutube
Почему я ненавижу Jupyter Notebook

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

На самом деле, конечно, Jupyter штука хорошая, чтобы быстро что-то поизучать, прототипировать, набросать или in-line графики показать. Но не более..

Кстати, сам доклад происходит на JupyterCon (конференция по Jupyter Notebook 😂), а докладчик - автор одной из самых популярных книг по DS - "Data Science from Scratch", с птичкой.

https://www.youtube.com/watch?v=7jiPeIFXb6U

#пятничныйYoutube
DE or DIE #1

Ребята из Dodo-пиццы провели на этой неделе крайне интересный митапчик: "DE or DIE" про то, кто такие data engineers, чем они занимаются, как в эту профессию приходят и как уходят. И оба доклада мне показались крайне интересными и полезными, особенно для начинающих.
Особенно хочется сказать про доклад Яндекса - в одном слайде крайне просто и наглядно пояснить то, что архитекторы обычно рисую крайне громоздко.
Обязательно посмотрите, а о следующих митапах буду объявлять здесь заранее. Главное, чтобы регистрация не закрывалась так быстро, как в этот раз.

Видео - https://youtu.be/F5wvsxus-Ig?t=1179
Слайды - ниже
Дурацкий Телеграм все перепутал! Слайды выше 👆
Вредные советы 7. Проще просить прощения, чем разрешения

Есть такой принци в Питончике: EAFP, то есть Easier to Ask for Forgiveness than Permission. На русский язык это переводится как Проще попросить прощения, чем разрешения. Что под этим подразумевается? Что все, что нам нужно - существует (файлы, папки, переменные). А если с доступом есть проблемы - это исключение. Получается довольно чистенько и однообразно.

Антипаттерн
Код ниже сначала спрашивает, есть ли файл, и, если есть, делает с ним логику.

import os

if os.path.exists("file.txt"):
os.unlink("file.txt")


А как надо?
Считаем по умолчанию, что такой файли есть и сразу пытаемся применить к нему логику. А если файла нет - выбрасываем ошибку.

import os

try:
os.unlink("file.txt")
except OSError:
pass # Вот тут pass тоже антипаттерн "Ошибки не должны происходить тихо", но про это в другой раз =)


#ВредныеСоветы
A data janitor is a person who works to take big data and condense it into useful amounts of information. Also known as a "data wrangler," a data janitor sifts through data for companies in the information technology industry. A multitude of start-ups rely on large amounts of data, so a data janitor works to help these businesses with this basic, but difficult process of interpreting data.

Ну все, так и буду себя именовать теперь 😂

https://en.wikipedia.org/wiki/Data_janitor
Вредные советы 8. Как не надо сравнивать с None
Если посмотреть в PEP, то нам скажут, как надо сравнивать с None и это будет if Cond is None. "Но ведь PEP это только гайдлайны, их можно нарушать!", скажете вы мне. Некоторые да, а вот некоторые не надо, потому что это нарушает читабельность кода.

Антипаттерн
Как не надо сравнивать с None:

number = None
if number == None:
print("Работает!")


А как надо?
Все просто и по гайдлайну:

number = None

if number is None:
print("Теперь хорошо")


Тут используется identity operator или оператор тождественности. Он вернет True только в том случае, если обе переменные указывают на один и тот же объект.

#ВредныеСоветы
Построение высокоэффективной Agile команды

1.5 года назад в моем продукте было 4 человека: product owner, delivery manager, один разработчик и один DS. Ребята получили в нагрузку от консультантов большой четверки код в Юпитере без описания работы и обещания, что вот эта методология принесет миллиарды миллиардов.😂

На сегодняшний момент нас почти 25, со своим собственным архитектором, бизнес и системными аналитиками, тестировщиками, фронт и бек разработчиками, DE, DS разной направленности. И мы несемся в светлое будующее.

Да, не без провалов.
Да, не без ошибок.
Да, не без фейлов.

Но весь проект начинался как перебрасывание csv файлов между DS и виртуальной машиной, на которой простой бек рендерил Excel-like табличку.
Сейчас это полноценные команды разработки и аналитики, CI/CD, трекинг метрик, мониторинги и, господи прости, кубернетес и автодеплой.

Вот только с увеличением числа человек растет и количество коммуникаций и сложность управления такой командой. "А как?", "а что?", "а куда?", "а зачем?", "а где документация?" и другие вопросы. Не говоря уже о том, что на совещания стало уходить существенно больше времени ввиду возросшей сложности.

Команды не сразу строятся и не сразу становятся rockstars, и мы сами еще в середине пути. Поэтому ребятам, которым приходится немножко управлять другими и процессами постоянно изучают и подсматривают про организацию команд. Сегодня одно из таких видео - Асхат Уразбаев из ScrumTrack про построение команд.😄

https://www.youtube.com/watch?v=MEJgZpHBSDY

#пятничныйYoutube
Глобальный эксперимент по удалённой работе

Шутка уже бородатая, но все же. Каждый день мы слышим как ещё одна компания отправила своих сотрудников на WFH или work from home.

Рассказывать про правила, лайфаки и фишки работы из дома не буду, их и так на каждом шагу, тема же горячая, трафик и вот это все. Главное, помните: удалённая работа это все ещё та же работа. На пляже с ноутом не получится посидеть, и не только из-за запрета на перелёты, но и потому, что солнце бликует на не матовых экранах и песок забивается в кулеры😂😂

В связи со всей этой паникой, вот вам тред из твиттера, в котором люди показывают свои необычные рабочие места дома:

https://twitter.com/julesforrest/status/1238526424719355904?s=19

Выглядит крайне смешно и забавно =)
#НамДжунаБы

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

Погнали!
#НамДжунаБы

Очень давно наблюдаю за Иваном и его крутым проектом про психологию и тут, неожиданно, оказалось, что им нужен part-time junior разработчик. Why not?
Зачем нужен персональный бренд?

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

https://www.youtube.com/watch?v=sEexbEv2iGc

#пятничныйYoutube
Щедрость от организаций конференций

Обычно таких подборок приходится ждать полгода+, но раз карантин, то Конференции Олега Бунина пошли на встречу и выложили записи последних 6 конференций, в том числе TeamLeadConf++ 2020.
Самое время подсмотреть для себя что-нибудь интересное

https://habr.com/ru/company/oleg-bunin/blog/497154/
Теперь я - тимлид, но почему мне так плохо?

Мой техлид говорит прекрасную фразу: "Нужен баланс в сложности задач и плавный рост, а не взрывное быстрое повышение до уровня некомпетентности". Очень много ребят рвутся скорей стать сеньорами и тимлидами, упуская возможность планомерного погружения в технологии, системный и архитектурный анализ.
Знаете, кто самый опасный на дороге? Водитель со стажем 1 год. Ему уже кажется, что он Шумахер, а на деле он еще и не побывал в большинстве ситуаций. Тоже самое с тимлидством и сеньорством: чтобы стать сеньором, нужно покодить всякий говнокод, понять почему он такой хреновый, обжечься об свой код на рефакторинге, вот это все.

- Как тебе этот кандидат?
- Выглядит как человек, который видел всякое дерьмо. Нам такие подходят.


В итоге, с взрывным ростом есть еще одна проблема, кроме того, что на сеньорной позиции оказывается человек, у которого недостаточен кругозор и знакомство с технологиями. Это рост зарплаты и аппетитов. Когда вы задумаете сменить работу, при вашем уровне знаний может оказаться, что никто не готов платить столько, сколько вы хотите за него (у вас есть недостаток в знаниях и опыте, но лычку вы хотите), а снижаться в должности и деньгах уже вы не хотите.

Поэтому как говорят в анекдотах: "Мы спустимся медленно и возьмем все стадо"

#пятничныйYoutube

https://www.youtube.com/watch?v=7fnY8WVtElY
— Расскажите про Continuous Integration?
— Знаете, я эти времена английского ещё со школы не помню.
#НамДжунаБы

А вот прекрасная возможность начать свою карьеру в Data Engineering. SQL + Python, а HDFS можно догнать на курсе у Stepik https://stepik.org/course/150/syllabus

Ссылка на вакансию: https://hh.ru/vacancy/36724664
Forwarded from Mikhail Kumachev
Друзья!

4 мая в 18:00 MSK состоится наш второй митап сообщества DE or DIE.
В сложившейся мировой ситуации мы проведем мероприятие онлайн. Да, нам тоже будет не хватать живого общения, но зато в этот раз точно не будет ограничения по билетам и привязки к конкретной локации.

Узнать программу мероприятия и зарегистрироваться можно по ссылке: https://deordie.timepad.ru/event/1303716/
За час до мероприятия мы пришлем ссылку на трансляцию.

May the Fourth be with you!