Как стать автором
Обновить
101
Карма
0
Рейтинг

java / open source

Что будет, если от разработчиков не отстать: умирающая команда

Блог компании Газпромбанк Управление разработкой *Управление проектами *
✏️ Технотекст 2022
Мне досталась команда, которая болела. Все понимали, что происходит, никому не нравилось, что творится в команде, и традиционно менеджеры такие команды сильно режут. Но здесь были шансы вылечить и без ампутаций.


Источник

15 человек, из них — один руководитель проекта, три фронта, два бэка, три аналитика, девопс. Симптомы обычные: процессы всем не нравятся, соседи — козлы, потому что не то и не так делают, а как нужно — не знают, ответственности ни на ком толком нет ни за что.

Вроде бы когда-то это был настроенный конвейер, но теперь его куски — как будто в разных зданиях. Особо не заботятся о том, что было «до» и что будет «после». А если всё падает, то люди поднимают руки: «Я не виноват. Я не знаю, как поднять».

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

Почему процессы разваливались? На первый взгляд, потому, что была куча ненужных совещаний и встреч с теми, кого разработчики вообще не должны были видеть. Плюс местами странноватые KPI. Как это ни странно, но если психологически давить на разработчика пару лет, то ничем хорошим это не закончится. Руководство подразделения дало мне карт-бланш на исправления, и я начал разбираться, что же случилось.
Читать дальше →
Всего голосов 213: ↑209 и ↓4 +205
Просмотры 52K
Комментарии 73

Datafaker: альтернатива использованию производственных данных

Java *
Туториал
Перевод

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

Но получить доступ к хорошим тестовым данным не всегда просто. Иногда данные являются весьма конфиденциальными, например, медицинские или финансовые данные. В других случаях данных недостаточно (например, при попытке нагрузочного тестирования), а иногда искомые данные трудно найти. Для случаев, подобных описанному выше, есть решение называемое  Datafaker.

Datafaker — это библиотека для JVM, предназначенная для генерации фиктивных данных, похожих на производственные данные. 

Эти данные могут быть сгенерированы как часть ваших модульных тестов или могут быть сгенерированы в виде внешних файлов, таких как файлы CSV или JSON, чтобы они могли служить в качестве входных данных для других систем. 

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

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

Маск дал всем сотрудникам Twitter сутки на выбор: перейти на «хардкорный» режим и не жаловаться или покинуть компанию

Управление персоналом *Карьера в IT-индустрии Финансы в IT IT-компании


16 ноября Илон Маск предоставил всем сотрудникам Twitter сутки на принятие решения: перейти на новый «хардкорный» режим и не жаловаться или покинуть компанию с выходным пособием.
Читать дальше →
Всего голосов 34: ↑33 и ↓1 +32
Просмотры 46K
Комментарии 156

Автоматический подбор параметров для Spark-приложений

Блог компании oneFactor IT-инфраструктура *Scala *Big Data *Машинное обучение *

Всем привет! Меня зовут Валерия Дымбицкая, я технический руководитель команды дата-инженеров в OneFactor. В этой статье я расскажу о том, как мы научились автоматически подбирать параметры для Spark-приложений на основе логов.

Проблема, которую мы решали, может встретиться при регулярном, предсказуемом, интенсивном использовании Hadoop-кластера. Я расскажу, как мы простыми средствами сделали рабочую автономную систему тюнинга, сэкономив в итоге 15-16% ресурсов кластера. Вас ждут детали с примерами кода.

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

Зачем нам вообще понадобился автоматический тюнинг?

Начнём с инфраструктуры. Сетап у нас "классический": ограниченный Hadoop-кластер из купленных серверов. В нём на тот момент, когда мы начали всё это делать, было около 30Тб RAM и 5к CPU. В этом кластере запускается множество разноплановых приложений на Apache Spark и в какой-то момент им стало тесновато. Всё больше приложений висели в PENDING значительное время, потребление памяти утроилось за последние 4 месяца. Сохранять такую тенденцию не хотелось.

Довольно много приложений были от продукта Лидогенерация. Базово он устроен так: есть список номеров телефонов (база) и есть Spark ML Pipeline, который каким-то образом отбирает из этой базы лидов абонентов для некоего целевого действия – например, для предложения продукта клиенту. База может меняться от раза к разу. Вот такую пару из

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 2.5K
Комментарии 10

Управление данными с помощью CI/CD

Блог компании RUVDS.com SQL *Администрирование баз данных *DevOps *
Перевод

Я вспоминаю свой первый день разработчиком-джуном, он свеж в моей памяти, как будто это было вчера. Я ужасно нервничал и понятия не имел, что делаю. Наверно, мой стресс был заметен, потому что одна добрая душа решила взять меня под свою защиту. В тот день я научился писать SQL в коде на PHP, чтобы делать интересные вещи с базой данных.

Однако прежде чем начать, я должен был попросить администратора базы данных (database administrator, DBA) создать несколько таблиц. Я быстро понял, что для того, чтобы сделать любое действие, нужно сразу обращаться к DBA. Нужен новый столбец? Свяжись с DBA. Необходимо отредактировать хранимую процедуру? Это работа для DBA. Я смотрел на него снизу вверх, он был такой суперзвездой, что в итоге позже я сам стал администратором.

Разумеется, я понимаю, что зависимость от кого-либо неизбежно создаёт ограничения. Это безрассудно, трудно и, что хуже всего, впустую тратит навыки DBA.
Читать дальше →
Всего голосов 35: ↑34 и ↓1 +33
Просмотры 3.9K
Комментарии 0

Мониторинг ML-систем. «6 лет назад vs сегодня»

Тестирование IT-систем *Тестирование веб-сервисов *Машинное обучение *Искусственный интеллект

Шесть лет назад я занимался стартапом FscoreLab, мы разрабатывали ML-системы для кредитного скоринга. Тогда я ещё слыхом не слыхивал о термине MLOps, да я и не уверен, что он вообще существовал. Однако, необходимость определённых практик и процессов, которые сейчас относят к MLOps, стала быстро понятна уже тогда. Один из самых важных уроков того времени - если модель обучить, задеплоить и отправить в свободное плавание, то рано или поздно, постепенно или внезапно, но случится что-то не очень хорошее. Да, сейчас от этого "откровения" хочется зевать - написана тонна книг и статей, запилена куча полезных инструментов, но в то время пришлось собирать систему ML-мониторинга опытным путём из подручных материалов. Состояла она из следующих компонентов:

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

Пожалуйста, не используйте Python для инструментария

Python *Программирование *DevOps *
Перевод

Разработчики любят спорить о языках программирования и инструментах. Если опустить типичные претензии, обычно все сводится к тому, что люди просто защищают свой выбор. Это проявление тенденции оправдывать и защищать свои инвестиции - время потраченное на изучение используемых языка и инструментов. И в этом есть смысл. Но не всегда это поведение является рациональным.

Читать далее
Всего голосов 134: ↑93 и ↓41 +52
Просмотры 46K
Комментарии 287

Обзор операторов PostgreSQL для Kubernetes. Часть 3: CloudNativePG

Блог компании Флант PostgreSQL *Администрирование баз данных *DevOps *Kubernetes *

Статья продолжает наш обзорный цикл о PostgreSQL-операторах для Kubernetes. В первой части мы рассматривали операторы Stolon, Crunchy Data и Zalando. Во второй — KubeDB и StackGres, а также объединили все пять операторов в сравнительную таблицу. В этот раз разбираем решение CloudNativePG, его возможности и особенности, а заодно актуализируем таблицу.

Читать далее
Всего голосов 32: ↑32 и ↓0 +32
Просмотры 3.7K
Комментарии 1

Кем вы видите себя через 5 лет? Почему вы пришли к нам на собеседование?

Карьера в IT-индустрии
Из песочницы

Как Рекрутер и основатель небольшого международного агентства, также как человек, который вырос в США, я имею неплохое представление не только о рынке труда в мире, но и о манере проведения собеседований в разных странах. Я часто общаюсь с разработчиками как из России, также из США и Европы. И какого было моё удивление узнать, что их до сих пор спрашивают: “Кем вы видите себя через 5 лет?”. Что?! Это шутка?

На данный момент IT сектор - это рынок кандидата. Они диктуют условия, а не Рекрутеры или работодатели.

Читать далее
Всего голосов 84: ↑76 и ↓8 +68
Просмотры 50K
Комментарии 200

Здоровье индексов в PostgreSQL глазами Java-разработчика

Open source *PostgreSQL *Java *Администрирование баз данных *

Привет.


Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным.


За последнее время я привёл в порядок несколько баз данных в наших микросервисах и написал java-библиотеку pg-index-health, которая облегчает эту работу, экономит моё время и помогает избежать некоторых типовых ошибок, допускаемых разработчиками. Именно об этой библиотеке сегодня и пойдёт речь.



Disclaimer


Основная версия PostgreSQL, с которой я работаю, это 10-ка. Все используемые мною SQL-запросы также проверены на 11-й версии. Минимальная поддерживаемая версия — это 9.6.


Предыстория


Началось всё почти год назад со странной для меня ситуации: конкурентное создание индекса на ровном месте завершилось с ошибкой. Сам индекс, как водится, в невалидном состоянии остался в базе. Анализ логов показал нехватку temp_file_limit. И понеслось… Копнув поглубже, я обнаружил целый ворох проблем в конфигурации БД и, засучив рукава, с блеском в глазах принялся их чинить.

Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 15K
Комментарии 21

Варианты использования Java ML библиотек совместно с Spring, Docker, Spark, Rapids, CUDA

Java *
Из песочницы
☕️ Cезон Java
✏️ Технотекст 2022

В данной статье рассматривается способ использования GPU nVidia с технологией CUDA в Docker-контейнерах для распределенной тренировки моделей машинного обучения на нескольких машинах. Цель статьи - показать вариант использования Big Data Tool Apache Spark в Docker-контейнерах, совместно с акселератором GPU вычислений Rapids на устройствах nVidia CUDA, с применением библиотек DJL, Spark ML, XGBoost, в приложении Spring Boot на Java 8 (требование Rapids), на нескольких машинах под управлением ОС Windows 10 Pro для решения задачи тренировки моделей машинного обучения в распределенной системе.

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

Концепция Data Mesh. Принципы, идеи, применение на практике

Data Mining *Машинное обучение *Искусственный интеллект Data Engineering *

С чего началась наша компания? В первую очередь, конечно, с людей и с идеи. Как это обычно бывает, правильные люди абсолютно случайно познакомились друг с другом, и вот я здесь, сижу и пишу этот пост =) Была, однако, и ещё одна очень важная составляющая - данные...

Любой ML-проект начинается с анализа ландшафта доступных данных - что мы можем скачать, выгрузить, разметить, купить. За четыре года наша культура работы с данными, инструментарий, подходы, процесс разметки претерпели очень большие изменения. Сейчас у нас накоплено почти 100 терабайт медицинских исследований, но количество данных абсолютно не важно, если они плохого качества, и их неудобно изучать, понимать и использовать. Недавно я делал обзорный доклад про разные аспекты качества медицинских данных, а вот наше выступление про технические аспекты пути к качеству. Сегодня же я хочу поговорить об очень интересной концепции (или даже философии), которая в последнее время на слуху, но, судя по разным постам в интернете, её суть понятна далеко не всем. Это Data Mesh.

Впервые я столкнулся с этим понятием в докладе Леруа Мерлен на митапе LeanDS. Доклад любопытный, но суть дата меш мне из него была понятна не до конца, так что недавно я взялся за чтение книги от авторки этой концепции и термина - Data Mesh: Devlivering Data-Driven Value at Scale.

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 3.3K
Комментарии 8

Самопишущийся код

Блог компании JUG Ru Group Программирование *Java *Искусственный интеллект

Когда речь идёт о технологиях, позволяющих компьютеру написать часть кода за человека, разговор вечно соскальзывает в гадания на кофейной гуще. Уволят через десять лет всех программистов или нет?


Но вообще-то тут есть о чём поговорить помимо этих спекуляций, причём разговор может быть куда предметнее. Как все эти разнообразные «copilot» вообще работают (вот сейчас, а не через десять лет)? Какие сложности возникают при их создании? Где эти сложности можно преодолеть, а где есть принципиальные ограничения формата?


На конференции Joker об этом рассказывали Никита Поваров allfather и Роман Поборчий p0b0rchy. На момент доклада оба работали в JetBrains, так что получилось не просто абстрактное описание вопроса, а «взгляд изнутри» со стороны тех, кто делает инструменты для разработчиков.



Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Просмотры 9K
Комментарии 18

Вот такой ширины, вот такой ужины: какие ИТ-специалисты нужны рынку

Блог компании ДОМ.РФ Исследования и прогнозы в IT *Карьера в IT-индустрии

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

Читать далее
Всего голосов 16: ↑3 и ↓13 -10
Просмотры 22K
Комментарии 19

Financial News Sentiment Dataset: определяем точку входа в акции по настроению новостей

Python *Финансы в IT Natural Language Processing *

Набор данных Financial News Sentiment Dataset (FiNeS) содержит в себе заголовки финансовых новостей о компаниях, торгующихся на Московской и СПб биржах. Целевой переменной датасета является оценка тональности новостных заголовков в виде вещественного числа. Идеи для использования датасета: Создание трейдинговых стратегий на основе анализа тональности новостей "на лету"; Анализ новостного фона в разрезе времени (день/неделя) или в разрезе компании.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 3.9K
Комментарии 14

Cache pollution? Запасайтесь тестами

Программирование *C++ *Разработка игр *Алгоритмы *

Всем ведь приходилось заниматься улучшением производительности? Для игр особенно актуально, ну может какая-то три-в-ряд не страдает этим. Как обычно серебряной пули нет, начинаем со структур данных, алгоритмов, спускаемся ниже если не помогает, придумываем SoA, AoS шаблоны. Если проблема не решается, подтягиваем профайлеры и предметно разбираем узкие места, но все чтобы мы не делали зачастую таким узким местом всегда будет "железо". Можно сколько угодно оптимизировать другие места, но CPU c его гигагерцами будет простаивать 90% времени если его неправильно "кормить" данными. Одной (только одной из проблем) проблемой организации эффективной работы с данными будет меньше, если знать и уметь работать с кэшами разных уровней. Тут на вики описано, как "на пальцах" быстренько убить перф на обходе массива, простого и общего решения для такого обхода нет. Можно и дальше увеличивать размер кэша, что собственно и делают (гдето здесь на хабре была новость, что Интел при переходе на L1 кэш размером 32кб, заново спроектировал блок доступа к нему, сорян не нашел ссылку), но это дорого, неэффективно на масштабах современных процов, и всегда найдутся данные, которые этот кэш отравят, опять. Интересно как починить? го под кат...

Читать далее
Всего голосов 41: ↑41 и ↓0 +41
Просмотры 6.5K
Комментарии 7

Почему интеграционная БД это отстой

Программирование *Анализ и проектирование систем *Микросервисы *

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

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

Не надо думать о синхронизации данных, если данные в БД записались значит консистентность достигнута.

Не надо снимать бэкапы с нескольких хранилищ, если можно снимать с одной единственной БД.

Читать далее
Всего голосов 16: ↑10 и ↓6 +4
Просмотры 9.1K
Комментарии 15

Netflix включил режим строжайшей экономии

Облачные сервисы *Финансы в IT IT-компании

Netflix сокращает свои расходы. Строгая финансовая дисциплина будет распространяться на все сферы работы компании: от облачных вычислений до найма. По мнению экспертов, контроль над расходами на облачные сервисы, который Netflix собирается реализовать вместе с давним партнёром Amazon Web Services, может стать шансом для Microsoft Azure.

Читать далее
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 11K
Комментарии 33

“Один дашборд, чтобы править ими всеми”

Блог компании Цифровой СИБУР Интерфейсы *Big Data *Визуализация данных *Статистика в IT

Привет! Как мы писали в предыдущих постах, наша команда создает удобные дашборды для разных департаментов СИБУРа, от хозяйственной деятельности до продаж. 

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

Для этого мы создаем так называемый Царь-Дашборд. Control Tower. Мета-дашборд. Он содержит информацию о самых важных дашбордах, которые есть в компании, по сквозным процессам (это такие процессы, которые касаются нескольких разных функций, нескольких различных исполнителей в одной компании). Целевая аудитория такого дашборда — первые лица компании: CEO и, что называется, “минус 1” от его должности. Также данные с дашборда могут пригодиться и операционным специалистам, если им удобно воспринимать данные в таком формате.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 3.1K
Комментарии 3

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность