Как стать автором
Обновить
94.71
Сначала показывать

Продуктовые команды: строим правильно

Время на прочтение 9 мин
Количество просмотров 2.7K

Привет, Хабр!

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

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

Разработка IT-решений

В компаниях встречаются два подхода к организации команд разработки: функциональные команды и кросс-функциональные команды.

В первом случае предполагается, что образуются команды с одинаковым набором экспертиз: команда backend-разработчиков, команда frontend-разработчиков, команда data science и т. д. Во втором случае команды формируются из людей с различными компетенциями для достижения некоторой бизнес-цели. Бизнес-целью может являться как создание и развитие продукта, так и выполнение определенного проекта.

Легенды гласят, что кросс-функциональные команды появились в далеких 1950-х годах.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 2

Как стать надёжной базой Secure-base leadership или как стать надежной базой для коллег в нестабильные времена

Время на прочтение 14 мин
Количество просмотров 753

Сейчас набирает популярность относительно новый вид лидерства: secure base или «надёжная база». Этот подход в большей степени отражает контекст и потребности людей в вопросах построения карьеры и коммуникаций на работе. Во времена неопределенности важно, чтобы лидер мог воодушевить и поддержать команду, одновременно развивая потенциал людей и сосредотачивая на достижении KPI. Но как с учетом удалёнки и негативного внешнего контекста поддерживать доверительную атмосферу и создавать благоприятные условия для развития и роста? Или формировать в команде привычку делиться своими успехами и неудачами и работать сообща с другими командами?

Меня зовут Артём Каледин, я руководитель по анализу данных в команде геоаналитики в билайне. Эта статья написана по следам моего выступления на конференции Saint TeamLead Conf 2023. Я расскажу о новом типе лидерства — «надежной базе», формате, который помогает развиваться лидеру и растить сотрудников вокруг себя. В статье будет не только теория, но и мои примеры и идеи о лидерской роли и построении карьеры. Возможно, я смогу натолкнуть вас на размышления о дальнейшем развитии в лидерстве. 

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 0

Использование ML для прогнозирования CLTV

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1.4K

Из прошлой статьи мы узнали, что CLTV (customer lifetime value) — метрика, используемая для оценки прибыли, которую компания может получить от своего клиента за время его пользования продуктами и сервисами компании.

Разберем, что означает каждая буква в определении CLTV (customer lifetime value). Кто такой клиент, что мы понимаем под lifetime и ценностью, которую приносит нам клиент. 

CLTV строится для клиента, а не для номера телефона, так как мы не хотим терять историю взаимодействий с ним. Мы учитываем, что абонент может сменить номер телефона и/или может измениться номер договора. Также билайн — это не только мобильная связь, но и домашний интернет, которым наши абоненты могут пользоваться в рамках одного договора. Поэтому мы сразу решили собирать информацию и по этим услугам в рамках одной записи по клиенту. В будущем мы планируем прогнозировать CLTV уже на уровне физического лица и домохозяйств, объединяя историю пользования всех сим-карт клиента.

Под lifetime мы понимаем не полный жизненный цикл клиента от момента заключения договора до момента его закрытия, а пятилетний горизонт, который мы отсчитываем от текущего момента времени. То есть, если мы строим прогноз от января 2023 года, то прогноз будет построен помесячно до декабря 2027 года. Почему 5 лет? Этот срок был определен опытным путем — при нем достигается баланс между качеством предсказаний и потребностью в бизнес-процессах.

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 2

Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 12K

Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.

Поэтому, когда было решено мигрировать объемные базы данных с легаси-решений на общедоступные платформы, возник вопрос — можно ли применить эту технологию для увеличения дискового пространства для создания зеркал локальных дисков?

Чтобы все зеркала не вышли из строя сразу, принимать такие диски надо бы небольшими группами с нескольких машин из разных стоек. Идея показалась достойной рассмотрения, поэтому создали небольшой стенд.

Меня зовут Алексей Дрожжов, я старший инженер в билайне, и в этом посте расскажу, как мы решали эту задачу.

Задача: подключить много дисков с нескольких серверов

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 8

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 5.1K

Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и поговорим о том, что из себя представляет MLOps в билайне в целом - как с точки зрения инфраструктуры, так и с точки зрения процессов.

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

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

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 5

Как мы переводим наш мониторинг в наблюдаемость

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 5.3K

Привет всем! Полное содержание первого сезона можно прочитать тут и тут, а краткое содержание такое: 

• Компания приняла решение улучшить работу клиентских сервисов и одним из рычагов для этого стал мониторинг.

• Мониторинг был разным (Patrol, Zabbix. NetCool), про Elastic. Про Prometheus, трейсинг и Grafana не слышали.

• У всех команд эксплуатации были свои мониторинги, которые "что-то" показывали, но это все было разрознено и никак не связано.

Привести все это «богатство» в адекватное рабочее русло, как-то структурировать и реструктуризировать было поручено команде супергероев, которые в перерывах между паниками (страшно было) взялись за дело

ВАЖНО: Тут не будет скриптов развертывания. Не будет рецептов и настроек систем (что-то есть в интернете, к чему-то пришли через пот и слезы). Это взгляд людей, которые развивают системы мониторинга и философию, которой они придерживается. Что еще важно – среди нас до момента развертывания не было людей, которые слышали про эти системы. 

Наш первый сезон мы закончили с таким багажом и знаниями:

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 2

Как сделать UI тестируемым и легкоизменяемым?

Время на прочтение 14 мин
Количество просмотров 6.1K

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

Однако, есть проблемы с текущими подходами к созданию пользовательского интерфейса, которые затрудняют достижение этих двух условий.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 4

Форматы ORC и Parquet на базе HDFS

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 1.9K

Каждая компания непрерывно производит и хранит кучу данных, и это вызывает множество проблем. Объёмы хранилищ не бесконечны, как и ресурсы железа. Вот только оптимизация обработки и хранения данных не всегда приносит желаемые результаты. Как всё настроить так, чтобы значительно сократить объём занимаемый ими на диске?

У нас получилось! Мы снизили количество данных на диске в 3 раза, при этом ускорив их обработку. И сейчас расскажу как. Меня зовут Александр Маркачев, я Data Engineer команды Голосовой Антифрод в beeline. В статье затронем тему форматов ORC и Parquet, как их правильно использовать и хранить, чтобы всем было хорошо.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 13

Как мы создали нейросеть, которая составила рейтинг компаний, занимающихся ИИ в России

Время на прочтение 8 мин
Количество просмотров 2.3K

Всем привет! Меня зовут Саша, я тимлид в DS-команде дирекции по искусственному интеллекту и цифровым продуктам билайн бизнес, и хочу рассказать вам, как мы создали рейтинг компаний, которые занимаются искусственным интеллектом. Публикация рейтинга не преследует какие-либо коммерческие цели и не направлена на продвижение каких-либо компаний или услуг.

Идея проекта

Откуда вообще может появиться идея? Иногда она просто витает в воздухе и ждёт, пока её кто-нибудь подхватит. Честно говоря, мне бы никогда в голову не пришло отранжировать компании по их влиянию в сфере ИИ. Но ребята из нашего PR-отдела оказались более прозорливыми и пришли к нам с запросом о создании такого рейтинга. Забегая вперед, можно подчеркнуть, что весь проект сам по себе стал прецедентом с точки зрения взаимодействия представителей PR и специалистов по машинному обучению и анализу данных.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 3

Как мы сломали стену между разработкой и дизайном

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.5K

Привет! Меня зовут Андрей, я несколько лет занимаюсь разработкой, и за это время успел поработать с разными командами дизайнеров, посмотреть на разные подходы, кто где как делает, где какие есть сложности. 

В этом посте как раз о подобных сложностях я и хочу поговорить, а именно — о проблеме в коммуникациях между разработчиками и дизайнерами. Я очень люблю делать личные кабинеты, поэтому и в качестве примера буду говорить именно о разработке ЛК в билайне за последние три года. О том, какие именно трудности возникали и как мы упростили работу на UI-китом, под катом.

Представьте ситуацию.

Вы приходите на новую работу, забираете ноут, начинаете работать над проектом, над которым поработало уже несколько поколений разработчиков до вас. 

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 2

Почему код становится legacy?

Время на прочтение 7 мин
Количество просмотров 9.4K

Написание кода похоже на соединение двух точек. Ожидаемо, что самым простым путем будет нарисовать прямую линию между точками А и Б. 

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

Давайте увеличим количество препятствий на порядок. Линия становится все более извилистой.

Теперь давайте заставим эти препятствия двигаться. Медленно, но достаточно для того, чтобы вызвать проблемы с необходимостью переподключения точек. Это уже не такая простая прямая линия, и начинает выглядеть куда серьезнее.

А если мы заставим двигаться не только препятствия, но и сами точки? Вдобавок убедимся, что эти точки не приклеены к линиям, и вам придется следить за ними, чтобы они оставались соединенными. Начинает немного бесить?

Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 15

Что такое CLTV и как мы в билайне с ним работаем

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 2.7K

Немного душная, но важная вводная часть

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

По сути, перед нами постоянно стоит множество разнообразных вопросов о том, как достичь роста доходности компании. Принимаемые решения могут быть управленческого уровня:

• Какую сумму инвестировать в бизнес-направление и когда вложения окупятся?

• Сколько мы зарабатываем на продукте A, и не каннибализирует ли он доходы с продукта B?

• Насколько капитализация нашего бизнеса изменилась за последний год?

Помимо этого, мы принимаем (преимущественно в автоматизированном режиме) множество операционных решений:

• Информацию о каком продукте направить клиенту в SMS-рассылке?

• С каким приоритетом обслужить клиентов в условиях ограниченных ресурсов?

• Какую оптимальную цену предложить клиенту за потребляемые услуги?

Чтобы отвечать на эти вопросы, компании придумывают множество всевозможных метрик и оценивают их изменения от потенциального решения. Неизбежно метрик становится много, некоторые из них могут иметь обратную корреляцию, и часто неочевидно, какое действие является оптимальным.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 6

Seldon в MLops-инфраструктуре beeline business

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 1.7K

Привет, Хабр!

В этой статье затронем тему организации процессов Machine Learning Operations (MLops) в beeline business, особое внимание акцентируем на тестировании моделей машинного обучения. Тестирование мы построили с использованием Gitlab (CI/CD), Mlflow и open-source фреймворка Seldon Core для деплоя REST API или gRPC сервисов с моделями в среде Kubernetes. А пока… 

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 0

Сообщества для аналитиков, инженеров и DS — почему работа в них продуктивнее, чем в привычных командах

Время на прочтение 7 мин
Количество просмотров 1.3K

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

В этом посте мы поговорим о том, как формат сообществ (чаптеров) помогает нам в работе. Для этого мы подробно побеседовали с Михаилом Благовым, лидером чаптера инженеров данных. Еще нам помогали Николай Безносов (чаптер Data Science) и Артём Смирнов (Data Analytics).

Когда речь заходит об организации командной работы, чаще всего используют два подхода.

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 3

Моя 24-летняя HP Jornada может то, на что не способен современный iPhone

Время на прочтение 5 мин
Количество просмотров 26K
Я люблю баловаться со старым железом. DEC PDP-8 — мой любимый ретро-компьютер, а Office 2003, на мой взгляд — лучшая версия «офиса» из всех. Ещё одно из моих любимых ретро-устройств — это HP Jornada 720. Маленький карманный PC (меньше нетбука) с Windows CE или, как в моём случае, с Linux. У него хорошая клавиатура, экран с CFL-подсветкой, 32 МБ ОЗУ(!), карта compact Flash для хранения данных и стилус для резистивного сенсорного экрана. А, и ещё у моего есть сетевая PCMCIA-карта на 10 Мбит, но до сих пор можно купить и беспроводные карты. Пусть он стар (выпущен в 1999 году), зато способен на то, чего не может современный iPhone.


На нём можно разрабатывать, компилировать и запускать нативное ПО. В нём есть компилятор C и C++, Python и даже Perl, так что это полнофункциональная рабочая станция для разработки. На нём можно не только разрабатывать, но и запускать ПО.
Читать дальше →
Всего голосов 106: ↑97 и ↓9 +88
Комментарии 158

Как писать по-настоящему масштабируемый код?

Время на прочтение 4 мин
Количество просмотров 11K

Почему масштабировать вообще сложно?

В сети много текстов, так или иначе касающихся масштабируемости кода, но авторы очень часто упускают одну главную вещь: почему масштабировать — это сложно.

Основная причина тут в том, что как только вы начинаете изменять какую-то большую систему, она начинает разваливаться. Ну, за исключением тех случаев, когда у вас вообще всё на 100% покрыто тестами. Однако, в реальном мире история с покрытием тестами такова, что код современных приложений покрыт (в лучшем случае) примерно на 1%.

Может быть, 100% покрытие тестами — это реальность не только для библиотек, утилит или компиляторов (ведь мы можем формализовать их поведение математически), но и для веб-приложения? Да не, фигня какая-то...

Читать далее
Всего голосов 20: ↑16 и ↓4 +12
Комментарии 4

JTBD-метод на практике для решения тестового задания

Время на прочтение 4 мин
Количество просмотров 1.6K

Привет! Меня зовут Николай, я дизайнер в билайне. Как-то раз для устройства на одну из работ на своем жизненном пути мне нужно было сделать тестовое задание. И в отличие от множества других тестовых, это было на самом деле интересным.

В посте я расскажу, как разбирался для решения этой задачи с методом JTBD (Jobs To Be Done), когда его стоит применять, что можно из этого выжать и причем тут вообще дизайн.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 2

Спиливаем spill-ы

Время на прочтение 9 мин
Количество просмотров 2.6K

Привет! 

Меня зовут Александр Маркачев, я 3,5 года работаю на позиции Data Engineer в билайне и люблю открывать для себя что-то новое и интересное в работе. Так случилось и с темой, которой я сегодня хочу с вами поделиться — со spill-ами.

Под катом мы поговорим о том, что такое Spill-ы в контексте Spark, и почему именно для Spark это не такая уж сильно плохая штука. Рассмотрим, из-за чего Spill-ы в принципе возникают, разберем несколько видов Spill-ов (и даже вызовем их намеренно), а затем будем решать эту проблему.

Что такое spill-ы в Spark

Вообще, Spill — это термин для обозначения процесса перемещения данных из памяти на диск, а затем снова обратно в память. По крайней мере, именно так гласит официальная трактовка. Если проще, то дело вот в чем — когда у Spark не хватает ресурсов для обработки, он перемещает данные на диск.

В процессе обработки существуют разные участки — есть Executor Memory, есть Storage Memory, и когда эти участки оба целиком заполнены, то они начинают переполняться и вызывать утечку данных. Причем в отличие от утечки в C, Java или еще где-то, в Spark это преднамеренное действие для того, чтобы ваша задача не падала. Собственно, именно поэтому при нехватке ресурсов данные и «проливаются».

Можно ещё сильнее упростить аналогию.

Читать далее
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 3

Implicits в Scala — неявные методы, функции, значения и особенности

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 1.3K

Привет! Меня зовут Сергей Грибков, я тимлид команды FM&RA в билайне, и в этом посте я хочу рассказать об одной фирменной особенности Scala под названием implicits. Это неявные параметры, неявные преобразования, неявные классы.

Почему неявные — потому что они не требуют прямого вызова, если мы говорим о методах, не требуют прямой передачи в метод, если мы говорим о параметрах, и так далее.

В Scala implicits широко распространены. Скорее всего, вы уже сталкивались с ними в различных библиотеках и фреймворках, например, Apache Spark. 

Чтобы успешно использовать implicits в собственном коде и работать со сторонними библиотеками, требуется понимание принципов их работы. Поэтому давайте разберем, как всё устроено.

Итак, существует три основных категории implicits:

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 0

Как я стал Android-разработчиком в 40 лет

Время на прочтение 7 мин
Количество просмотров 12K
Начинать карьеру разработчика ПО в сорок лет не поздно.


Однажды мне кто-то сказал: «Если в 35 лет ты всё ещё программист, то начинай искать другие варианты на вторую половину своей карьеры. Молодое поколение наступает на пятки, и скоро ты устареешь».

И действительно, в 35 лет я начал задумываться над тем, что делаю. Моя ситуация была другой. Тогда я не был программистом, а работал в руководстве. В то время я скучал о своём прошлом программиста на C++.

Первые несколько лет моей карьеры были посвящены разработке на C++. Однако после перехода на руководящую роль мои навыки программирования заржавели. Моя повседневная работа состояла из совещаний, PowerPoint и Excel и, разумеется, из кучи писем. Читал я код раз в недели или месяцы, не говоря уже о его написании.
Читать дальше →
Всего голосов 24: ↑19 и ↓5 +14
Комментарии 16
1

Информация

Сайт
beeline.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия