Найти в Дзене
❓ В проекте есть часть в которой очень много плохого легаси кода. Есть несколько программистов, который попали на проект, разобрались в этом легаси и могут выполнять задачи не разваливая этот модуль. Если давать задачи по этой части другим, они не разбираются в коде, а начинают поверх пилит что-то свое, еще больше усложняя поддержку этого модуля. У тех кто разобрался сильно просела мотивация и падает производительность из-за однообразных и скучных задач. Как поднять производительность? Просто переписать — сложно, из-за постоянного потока задач и невозможности в один момент все переключить. Подскажи, пожалуйста, какие-нибудь варианты решения проблемы. —— 2 проблемы, даже 3: 1) Новые программисты не хотят разбираться в легаси и пилят лишь бы отстали. 2) Те, кто разобрался — застряли в легаси и приуныли. 3) легаси не переписывается, а дописывается. Вообще классическая ловушка из-за которой не стоит ловить эту горячую картошку легаси. Не стоит геройствовать и разбираться. Вы навсегда останетесь человеком легаси. Все задачи будут тупо валить на вас. Решать такие проблемы системно мало кто хочет. Я пробовал. Некоторые вещи из советов сработали. По порядку: разобраться с документацией и максимально задокументировать модуль. Далее, новых программистов надо обучать легаси. Т.е. чтобы они программировали не самостоятельно, а в паре с тем, кто разобрался. Только один этот момент может поднять мотивацию. Они увидят, что новых людей вводят системно. Будет желание помочь, потому что это их самих освободит. Легасёров ставить на новые проекты. Отлепить от легаси. Пусть легаси они пишут ТОЛЬКО в паре с новичком. Пусть параллельно пишут что-то новое для души. Мотивацию можно попробовать поднять и рефреймингом поддержки легаси, но лучше дать людям нормально жить, а не трахать им голову манипуляциями про то, как этот модуль важен клиентам и бизнесу. Последнее. От легаси надо избавляться. Про подходы написано в книге Kill it with Fire by Marianne Bellotti. По кусочку или сразу от всего продукта. Копать под него, запрашивать метрики использования. Сколько денег оно генерирует и сколько на него денег тратится. Иногда эти вещи просто никто не контролирует. Ну есть команда, пилят. А то что на 100 тыс выручки у тебя 3 программиста работает, ну ой. Правда что ли? Тогда конечно давайте закроем. Спасибо за #вопросы! Вступай в семью 🫶 | YouTube | Twitter
2 года назад
​Gzip побил нейросеть 🥹 В задачах классификации, где нужно просто объекты одного класса по коробочкам разложить, gzip компрессор победил все существующие методы. Да, тот самый зип архиватор. Интуиция состояла в том, что близкие по теме тексты будут сжиматься примерно одинаково. Интуиция подтвердилась. Почитать бумагу: https://aclanthology.org/2023.findings-acl.426 Внимание, алгоритм: Вступай в семью 🫶 | YouTube | Twitter
2 года назад
❓ Никита спрашивает https://t.me/nikitonsky_pub/499 Мне совершенно непонятно, почему бы не разрешить человеку работать в пол-силы и получать пол-зарплаты. Почему надо обязательно заебываться и выгорать к хуям? Почему единственный приемлимый work-life баланс с точки зрения работодателя это «максимально разрешенное по ТК количество часов на полной выкладке»? Вроде бы вот я сделал Х работы, дайте мне Y денег. Какая для компании разница, сделал я эту работу за пять дней на пределах своих возможностей или за один чиллово? При равных X и Y? Если я прошу за нее те же деньги? Кнопка, покрашенная заебанным джуном, ничем не отличается от кнопки, покрашенной проходя сеньором. — В действительности когда компания нанимает человека в штат, то это не только объем работы, но и присутствие человека полную неделю. Однако, существуют другие формы занятости: 1) частичная занятость 2) фриланс 3) проектная работа на компанию, 4) свой лайфстайл бизнес. Но тут человек, на пост которого Никита рефлектирует, хочет работать в пол силы, не обязательно 20 часов из 40. Может даже те же 40 часов присутствовать, но не работать. Хз короче. Здесь действительно можно увидеть проблему мотивации. Зачем тебе выгоревший сеньор, который хочет работать на пол ставки? Слишком большой риск, что человек не будет работать на совесть. Возможно будет говнить или снисходительно улыбаться над проблемами, которые ему не по «грейду». Ну или просто футболить, потому что идентифицирует себя как джун. Не член команды, а непонятно что. С другой стороны тебе придется менять все процессы под этого человека, а то и подбирать отдельные задачи. Ведь мы не только кнопки на скорость красим. Некоторые задачи, к сожалению, нужно попой сидеть и ждать пока задеплоится. А у человека часы кончились, он завтра продолжит. Зачем это делать тоже совершенно непонятно. Была попытка сделать подобную компанию с оплатой за таску: Зерокраси. Заработал свои пол зарплаты и отдыхаешь. Не получилось. В-третьих, когда нанимают джуна, таки надеятся вырастить и попользовать мидла. А человек не хочет расти, он уже вырос. Он не станет брать задачи мидлов навырост. Не будет праздновать победу выкатки первого сложного проекта. Не подарит радость менторинга твоим сеньорам. Короче ничего кроме покрашенной кнопки, которую ты специально для человека выбирал, он не сделает. И уйдет через год отдохнувшим, а у тебя ни джуна, ни мидла, которого бы ты успел вырастить не останется. В Германии почти на любой работе можно уйти на 80% за 80% денег. Ничтожно мало количество программистов, которые так поступают. Мне как-то чел прямо на первом собесе сказал, что хочет работать 80% с первого дня. Я на задницу присел и подумал: во дела, мне что придется перестроить все процессы ради 80% сеньора? Мне так-то 100% надо. Может в пайплайне есть кто-то попроще? Челик отвалился не решив простой алгосик на собесе. Или решил 80% тут хз, как посмотреть. Вступай в семью 🫶 | YouTube | Twitter
2 года назад
А вот еще рофляна со Scala Есть такая библиотечка в Scala - Akka называется. Это порт идеи акторов erlang на скалу. Все было хорошо, пока в головах у создателей жили левые идеи коммунизма, но 7 сентября ребята показали капиталистический оскал и выкатили ценник за использование их фреймворка. Деньги, ребята решили брать за каждое ЯДРО процессора, который плавится гоняя ваш код. Больше ядер — больше денег Акке. Минимум можно купить 40 ядер. Ох и сгорела же срака у сообщества. Первым делом конечно же форкнули последнюю чистую версию и назвали проект Pekko: pekko.apache.org Такой шанс был назвать Bekka упустили! Короче я сейчас сижу с калькулятором и считаю риски. Прогнуться и платить капиталистам или рискнуть, авось Pekka будет чинить критические баги с той же скоростью. Вообще момент выбран хорошо и доказывает тупик Scala. Ребята посадят на иглу тех, кто уже не может слезть с Акка. Это как если приложение с руби он рейлс переписывать, чтобы вы понимали. Т.е. ребята пользуясь спадающим трендом популярности языка решили на посошок набить себе карманы выжимая деньги их других ребят, котоыре с их поделки уже не могут слезть. Отличная бизнес модель! * да, там есть бесплатная версия для нищих, я вижу, да.
2 года назад
❓Привет, у меня вопрос про тимлидерство. Как ты распределяешь задачи между разработчиками? Если давать задачи на выбор есть вероятность, что задачу возьмет некомпетентный разработчик. С другой стороны если давать интересные и сложные задачи только самым продвинутым разработчикам, то другим будет скучно. Возникает вопрос- как никого не обидеть и при этом сохранить эффективность разработки. Может есть какой-то проверенный подход, может их несколько. Спасибо Некомпетентных разработчиков в команде быть не должно. Их надо определять, пробовать подтянуть, если не тянутся — отсеивать. Предположим, что вопрос, про джуна, который возьмет задачу не по силам и не справится. На самом деле не так важно. Важно, что в скраме задачи даются не на человека, а на команду. В канбане первый свободный человек берет верхнюю задачу и начинает ее делать. Т.е. распределять не надо. Надо заботиться о том, чтобы задачи были делаемы. Чтобы задачи были делаемы мы заботимся на уровень выше. На уровне декомпозиции. Здесь обычно работают сеньоры. В зависимости от проекта и мидлы с джунами, иначе они не смогут научиться, но обычно сеньоры. Сеньор нарезает проект, описывает задачи и помогает советом и парным программированием там, где другие буксуют. Вот так и получается и эффективность сохранить, и люди растут, и никому не обидно. Бывают ситуации, что возникает конкуренция вести проект. Надо записывать кто что делал, чтобы распределять проекты поровну. Кажется, я сам себе противоречу? И да и нет. Как менеджер ты распределяешь проекты, но не распределяешь таски на доске. За редким исключением, потому что иногда нужно чтобы конкретный человек быстро сделал срочную или критическую задачу, но это редкость. Спасибо, что присылаете #вопросы! Нажми кнопусик, пришли вопрос 👍 Вступай в семью 🫶 | YouTube | Twitter
2 года назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала