ithr-school
Разработка


Разработчик пишет код продукта
по макету, по спецификации, по задаче, по отзывам пользователей, по наитию, по пинку
Лиды и T-shape
T-shaped person
- Концепция, по которой знания можно представить в виде двух полосок
- Горизонтальная часть — возможность работать за пределами главной компетенции
- Вертикальная — глубина знаний в главной компетенции


Технический лидер (техлид)
- Человек, который обладает максимальной компетенций в технической части
- Часто принимает решение о выборе технологий
- Оценивает чужой код, оценивает технический перфоманс
Лидер команды (тимлид)
- Человек, который умеет настраивать процессы внутри команды
- Представляет команду, является её голосом
- Никто не знает кто это

DS, ML, AI
что такое?
Разработчик не делает исследований
Разработчик не анализирует данные пользователей
Датасаентист работает с данными
Датасаентист работает с большими данными
Датасаентист ставит эксперименты
Датасаентисты бывают разные
Зачем это всё нужно?
Заранее понимать
- Предсказывать процессы по тому, что есть сейчас и было в прошлом
- С умным видом считать цифры
- Пользователю нужно предложить купить масло для автомобиля
- Пользователю нужно послать пуш, чтобы он вернулся в приложение
- Пользователю нужно сделать скидку, чтобы он купил продукт
Обучаться и реагировать
- Получить входные данные, обработать, выдать ответ
- Ответ запомнить, если он оказался правильным
- С каждой итерацией отвечать всё точнее и точнее
- Автомобиль должен повернуть налево или пропустить грузовик?
- Завтра биткоин пойдёт вверх?
- Потребление электричества завтра в шесть вечера будет больше чем сегодня?
Большие данные
big data

Data-инженеры и Data Architect
Зачем нужны?
- Есть много данных и нужно их доставать: быстро и только нужные
- Есть много данных и нужно их хранить: быстро и только нужные
Data Engineer
- Выполняет заказ от дата-саентистов на нужные данные
- Знает кучу методов и инструментов для извлечения данных
- Вычищают данные
- SQL, Python, Scala
- ElasticSearch, Tableau, Kafka, Spark

Data Architect
- Выполняет заказ от дата-саентистов и разработчиков на хранение данных
- Знает кучу методов и инструментов для эффективного хранения данных
- Перекликается с DB Architect
- Kafka, Spark, ...


Аналитики данных / Статистики
Зачем нужны?
- Есть данные и нужно их проанализировать
- Посчитать метрики, найти инсайды, измерить процессы в цифрах
- Сколько у нас пользователей?
- Как долго пользователи остаются?
- Если мы предложим им новый продукт, как может измениться их активность?
Аналитик данных
- Знает численные методы и статистику
- Мастерски умеет собрать пять табличек в одну
- Умеет не только цифры считать, но и интерпретировать их
- SQL, Python, Excel


Data Scientist (DS)
Зачем нужны?
- Делать предсказания по данным
- Находить глубокие инсайды в имеющихся данных
- А ещё это общее название всех озвученных сегодня ролей
- Сколько у нас будет пользователей?
- Как долго пользователи будут оставаться?
- Если мы запустим новый сервис, как изменятся наши оценки в СМИ?
Датасаентист
- Знает всё то, что знает аналитик
- Умеет работать с большими-большими данными
- Python, Pandas, Kafka, Scala


Machine Learning (ML)
Зачем нужны?
- Строить математические модели процессов
- Обучать эти модели и делать предсказания / принимать решения
- Нейронные сети, искусственный интеллект, глубокое обучение — всё сюда
- Вот 100 решений задач, реши вот эту задачу
- Это котик или собачка?
- Найди мне преступника среди толпы?
- Бавария выиграет матч?
Инженеры машинного обучения
- Хорошо знают математику и теории нейронных сетей
- Должны понимать предметную область, чтобы строить правильную модель
- Работают с большими данными
- Python, Pandas, SciPy, sklearn

Обучение
обучение на исторических данных
Бектест
проверка и обучение на исторических данных
Форвардтест
проверка и обучение на реалтайм данных

Natural Language Processing (NLP)
Зачем нужны?
- Понимать текст
- Генерировать текст
- Делать оценку тексту и извлекать данные
- Что СМИ думают о нас?
- Это пёсик или собачка?
- Выберут ли Трампа ещё раз по твиттеру?
- Какая основная идея в Майн Кампф?
Инженеры обработки языка
- Составляют "корпус" языка
- Вычленяют нужное и обрабатывают это
- Работают с большими данными
- Python, sklearn, NLTK, TextBlob, SpaCy


Quantitative Analyst (Quant)
Зачем нужны?
- Принимать решения в реальном времени в очень большом потоке данных
- Торговать, управлять потреблением электричества, продавать товары в чёрную пятницу
- Продай мне 300 USD за 30 секунд на 10 биржах
- Нужно ли включать запасной генератор или ещё нет?
- Как быстро вирус Эбола распространится и убьёт всё человечество
Кванты
- Работают с очень большими данными
- В совершенстве знают статистику и аналитику
- Пишут предиктивные стратегии, реагирующие в реальном времени
- Python, Scala, Java, Golang (язык не очень важен)


Research & Development (R&D)
Зачем нужны?
- Изучает технические и продуктовые возможности для компании
- 24/7 смотрят новое и проверяют гипотезы
- Полетим на луну?
- Давайте перепишем всё с Python на JS
- Смена парадигмы разработки снизит burnrate на 20%
Эрэнди (R&D, RnD)
- Делают всё подряд
- Никогда не делают по-настоящему хорошо
- Работают как все роли в компании одновременно
- Python, Scala, Java, Golang (язык не очень важен)

Cindicator
Продакт-овнер
- По сути сам себе R&D
- Придумывает куда идти дальше проекту
- Принимает бизнес-решения
- Умеет в базовую аналитику, ставит эксперименты


Продуктовый аналитик
- Считает что нужно для эксперимента
- Ставит цель в цифрах
- Отклоняет неудачные эксперименты

Дизайнеры
- Делают макеты, согласуют с продактом
- Делают дизайн, согласуют с клиентскими разработчиками

Разработчики
- Разрабатывают и подтверждают спецификацию (базарят)
- Пишут код, исправляют баги, рефакторят испортившееся
- Отдают тестерам на тестирование

Тестировщики и тесты
- Проверяют что новое работает так, как надо
- Проверяют, что старое не сломалось
- Уточняют и фиксируют требование к фиче

Девопсы
- Помогают подняться и заработать новому
- Помогают не упасть старому

Продуктовые аналитики
- Анализируют эксперимент и говорят, что всё хорошо или что всё плохо
- Показывают цифры, делают базовые прогнозы

Разработчики
- Рефакторят (переписывают) решение при необходимости, фиксируют его конечно
- Выключают эксперимент, включают фичу в основной продукт

Дата-саентисты
- Извлекают, преобразуют и обрабатывают данные
- Запрашивают доработки или новые типы данных

ML
- Придумывают и пишут модели (нейронные сети и пр.), которые делают предсказание "событие X произойдет с вероятностью Y"

Кванты
- Используют ответы пользователей, предсказания с ML, данные с рынка и другие данные
- Пишут по этим данным новую стратегию и запускают её бек- и форвард-тест




Ну и что
Дальше
Девопсы, системные админы, архитекторы
Тестирование и тестировщики
Кружки
DS, ML, Quant
By b0g3r
DS, ML, Quant
страшный искусственный интеллект
- 206