Pull to refresh
51

Погромист

15
Subscribers
Send message
Я с вами где-то глубоко в душе согласен, надо было бы в теории не так. Но увы — теория с практикой в этот раз разошлась, о чем и суть баек.

Я с таким же успехом могу рассказать, как соседний бангалорский тим в это же время (но из соседней лавки) — на лету ловил мои пропозишены, активно внедрял их, и пел мне осанну на всех митингах… Работа получилась весьма продуктивной, заказчик остался и нами и ими очень доволен…

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

Не должно быть никакой революции

Извините, не удержусь. А ответ вы мне нащелкали на счетах? ;-)

Видите ли, я уловил вашу нелюбовь к резким движениям. Но это ведь реальность, данная нам в ощущениях.

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

Но эти странные люди не смогли даже поддерживать его.

Поэтому я и веселюсь в комментариях — о чем вы? Кому там было рассказывать, очередному Брахмапутре, который на предложение «у вас вот этот метод вызывается 20 раз в течение запроса, и каждый раз ходит в БД за одним и тем же, давайте закэшируем первый результат в рамках реквеста» идет в википедию почитать о чем ему вообще сказали? А потом отвечает «а у нас кэша нет!».

Офигеть. Я знаю что его нет — поэтому я к нему и пришел! Итог — полтора месяца митингов в скайпе. После чего наш Брахмапутра вставил присланные ему кусочки кода в указанные места, бодро отчитался о невиданном прогрессе, и тут же меня облил помоями — мол это он великий и могучий все сделал, он бы сделал быстрее, просто я ему мешал своими звонками.

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

Вот я и интересуюсь — каковы ваши рекомендации, если «команда которая над проектом» не хочет моего участия несмотря на явное требование собственного менеджмента? И что смешно, не хочет ровно потому, что
Если делаете отдельно новую версию другой командой, основная команда должна быть в курсе
и прекрасно понимает что это сигнал паковать вещички ;-)

Тогда и полгода превратятся в пару месяцев

Не превратятся.

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

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

Ладно, уговорили, контрольный в голову.

Получив доступ к моим сырцам, дрим тим первое что сделал, так это купил себе книжки «Java for dummies». ;-) Читать про «что такое генерики».
Ну, у кого какой опыт, вы же понимаете. К вам вот мальчики приходят, я к рукожопым индусам другим прихожу ;-)

Ну, то есть приходил — байкам примерно 10 лет и больше.
о как знакомо, я такое видел.

Что именно, как страничка с TinyMCE двадцать минут открывается? ;-)

А так-то я байки у костра рассказываю не о прототипе, а о новом решении взамен старого. И кстати часть задач на новое не переедет никогда, ибо незачем ;-)
«Залить файлы» это вообще никак не бизнес задача. Почему вы просили их это сделать и зачем?

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

Казалось бы — чего проще… Но индусский дрим-тим решил что им обидно — бюджет прошел мимо их плошек с рисом.

Они потребовали

1. Прямо сейчас

— их участие в работе минимум на 2 недели всего тима,
— снять или сдвинуть их текущие задачи, по которым был завал и ахтунг,
— и им плевать что дема завтра. «Переносите!»

2. In strategic vision,

— переделать мое решение так, чтобы их CMS была не «одно из мест с которым работаем», а центральной частью более крупной системы, и чтобы без их CMS ничего не работало,
— и чтобы переделку делали они.

Ну а чтобы мне было легче на все согласиться, на время моего показа индусский сервак «внезапно упал», типа случайность, так совпало.

А укатал я их на том, что я ожидал такую пакость и заранее сделал себе клон их системы. Так что у меня показ прошел на ура. ;-)
Одна из причин… в том, что с этой команды спрашивают за каждую мелочь.

Это бывает. Но далеко не всегда оно вызвано самодурством заказчика.

Например, я видел и такое — в команде настолько упал уровень компетенций и настолько вырос пофигизм, что заказчик был вынужден профилировать своими силами запросы к БД, вызванивать «команду» и постоянно их спрашивать — а почему запрос «верните первых 20 отчетов за вчера» выполняется пять минут и в нем восемь джойнов и все full row scan'ом?

А в ответ слышалось «мы это напряжемся и посмотрим».

Добавлю вишенку на тортик — БД была всего пару гигов размером и полностью помещалась в ОЗУ мега-сервера, на котором крутилась.

Я бы на месте заказчика к индусам пришел бы не с вопросами, а с огнеметом ;-)
можно и самим переписать

… после того как другие продемонстрировали результат.

А так — все было прекрасно, клиенту продавались часы по суппорту древнего легаси, все супер. Все замечательно. Не надо раскачивать лодку, у нас все по науке. У нас аджайл, спринты и бэклог на полгода вперед. Подумаешь, редактор отчета открывается в браузере двадцать минут. И печатается этот отчет полтора часа.

Дошло до того, что у клиента его клиенты отказывались продлевать контракты, не говоря уж о подписании новых. Главное условие — добиться хоть чего-нибудь работоспособного.

Команде дают карт-бланш, помощь и неограниченный бюджет. Итог — в работу вовлечено 400 мидл/сеньор на жаве, а проблемы все те же.

Но после нас, варягов, того как мы за полгода выкатили рабочий пруф, а за год сдали систему в эксплуатацию вдесятером — да, «мы тоже могли переписать» ;-)

Ну и как это бывает, я крепко кое-каким топ-топам наступил на мозоль. Так что старую команду (ее костяк) подобрал соседний департамент, и мечта сбылась! переписывание старой командой было инициировано. Выделено было все запрошенное… когда я последний раз интересовался пару лет назад, индусский тим все еще «переписывал».
Вам говорят, что правильный вариант — это вносить изменения всей командой, чтобы все были в курсе, а вы упорно его игнорируете

Ага, /me себе представил как это должно было выглядеть ;-)

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

;-)

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

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

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

Но тем не менее — у революции есть имя и фамилия. Или если хотите — Тот Кто Сделал Переход Целесообразным…

А вы мне про что? Что я 10 лет назад все сделал неправильно? ;-)
вот не верю что в задачах где 'да ерунда, тут на полчаса работы, а вы двенедели чтото непонятно зачем делаете' нет подводных камней

Конечно есть. Как же им не есть?

Но есть реальные нюансы, а есть — попытка откусить кусок бюджета при интеграции с вендором другого решения. ;-)

и продукт уходит клиенту. Который его съедает, или понадкусывает и все.

Так а что тут не так? Я когда барбекю делаю — это с целью потом алчно сожрать вместе с гостями и домочадцами. А вовсе не для фоток в инстаграмчик. Почему это вдруг трагедия? ;-)

Да, много типовых проектов — это интермордие к базе и отчеты. Но чем они плохи? Пожарил картофана, вточил с огурчиком… что-то я по ходу проголодался. ;-)
всей команде все равно придется обновлять знание кода в проекте.

Я сразу сказал нехорошее про зайцев Agile (С) :-)

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

Я неоднократно наблюдал такие вот «команды», которые (сидя годами — и кивая с умным видом про сложности) фактически занимались пустой работой.

Самый сюр был — когда от одной такой команды потребовалось залить два моих файла в их CMS. Два часа (!) меня и бизнес убеждали (всей командой, 15 рыл!) как это трудно и почему это занимает «всего» две недели. Целый спринт под это дело нарисовали, распланировали, утрясли сроки, поставки…

В конце этого цирка-шапито я им так и сказал — ребята, вы были невероятно убедительны. Я даже вам поверил. Но есть один малюсенький нюанс. Пока вы рисовали свои картинки по скраму, я сам попробовал. Спасибо за позитив, но уже все готово.

И когда через полгода вся команда была уволена в полном составе, вместе со своими скрам-мастерами и аджайл-паладинами, я почему-то не удивился.

А потом меня еще спрашивают — за что я не люблю индусских аутсорсеров ;-)

Главное — это команда!!! Команда — которая дает результат с ожидаемой скоростью и ожидаемым качеством. А не сама по себе в вакууме ;-)
Извините, что влезаю, но это адЪ и свинья бизнесу.

И еще какая! Знали бы вы в чем именно она состоит ;-)

взять уже готового мидла/сеньора на условной жабе

Почему бы и не взять условного мидла/сеньера? О, это была давняя история.

В далеком уже 2010 году зовет меня сеньер-випи одной большой лавки, и говорит — слушай, что-то надо делать! Мы «еще мидла» берем-берем, а результаты все хуже.

У нас уже

— в NY 50
— в Гонконге 100
— в Бангалоре 400
— и еще мы подключаем китайский офис с 800.

И вся толпа ну просто офигеть какие «суньеры с мидлами на условной жабе», а вот этот список (пол-странички текста) требований клиента мы закончим месяца через три всей толпой. Если очень повезет. А надо — к пятнице.

Надо что-то делать — модель «добавить еще» себя полностью исчерпала. Да, ты пятый менагер которому я ставлю задачу, предыдущих четыре — ну вот их успехи, список выше. И с прищуром так — а тебе сколько суньеров с мидлами надо?!

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

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

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

У клиента клиента — вместо 200 человек осталось пять. То что делалось три месяца — стало занимать неделю, многие задачи стали делаться мгновенно, нам остались только задачи которые ранее не решались вообще, никак, и никакими силами.

Я несколько лет работал в условиях подобного «своего DSL», и когда его заменили нормальной джавой, все очень сильно с облегчением вздохнули.


Это чаще бывает, да. Когда его рисуют потому что «я так вижу» и «модно». Но бывают случаи когда надо ;-)
Вы так говорите, как будто ваш герой что то хорошее сделал.

Ха, и еще какое хорошее ;-)

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

Особенно писал кипятком радовался клиент — вместо "верните бабло, рукожопы!!!" мы услышали "как вы умеете работать!!!".

сильно больше времени, чем 1 ночь кодинга.

Какая «ночь кодинга»? Это была планомерная работа длинной в полгода! В этом и суть.

и только в те части, которые касаются его непосредственных задач

Это и была задача героя. Выкинуть весь угар и содомию, и заменить на. С минимальным простоем дрим тима. Блестяще справился, к слову.

Вы скажете — да ладно, что за сказки? Что наш герой такого лобзиком выпилил?!

Было: толпа народу в кровавом ентерпрайзе постоянно пилила бизнес кейсы, по аджайлу со скрамом. Вжик, вжик! Долго, муторно, с овертаймом, с периодическими «херак в продакшен». Не один год кстати вжикали.

Стало: свой рантайм со своим DSL, со всеми биндингами к модели данных, в чисто функциональном стиле, с lazy вычислениями и прочими плюшками. В итоге, то что занимало неделю у троих — стало занимать час у одного. Основная часть «вжиков» переехала из огромных простыней в мелкие скрипты.

Экстенсивный характер («нам надо больше веспен газа народу на юнит-тесты») был сменен интенсивным.

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

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

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

И так бывает, да.
А я вот… просто меняюсь… поковырять ручкой на бумажке теорию типов или алгебру. Но нет, это не рост.

Сойдемся на том что это движение ;-)
Вот и получается, что часто разменивается молодость и запал на проекты, в которых не особо ценят человека. Несколько лет с обесцениванием серьезных усилий талантливого человека — и да, вот оно, выгорание и непонятки со смыслом «а зачем это всё?»


Я как-то видел чудесное — вот сидит тим, пилит нетленку, 10 рыл. Лид, крутейший ДБА, офигенский «архитект», пара сеньоров с большим опытом… и пятеро джунов. Молодые, активные, талантливые.

И вот ДБА с лидом и сеньорами приходят с утра на работу… ДБА рисует очередной create table, лид распечатывает (не шучу! на бумагу!) новую ER-диаграмму, раздает сеньорам… и те с бумажки (!!!) набирают очередной набор доменная модель — репозиторий — сервис…

Зато в 13:00 стартует сервак «квейка», и вся эта многоопытная шатия-братия с удовольствием валяет дурака строго до 14:00. Потому что в 14:01 робот игрища выключает ;-) Ну и работа строго с 9 до 6.

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

Вы скажете — что за херь? Почему так?

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

А опытные — ржут и не парятся. Уже каждый сделал по 10 таких особо Важных Проектов тому же клиенту, и хорошо знают — что и кому надо на самом деле.

А молодежь… откуда им это узнать? Им некогда, они горят на работе. Сначала им надо пройти все стадии (работа на износ, осознание никчемности усилий, прозрение, переход).

Я кстати был одним из тех джунов и тоже горел на работе, как все ;-)
Спасибо. Поленился поставить тег «сарказм», а он оказался отнюдь не лишним ;-)
Могут. Именно программировать. Каждый день нон-стоп 8-10 часов, с перерывом на обед.

И нет, митинги (спортзал, бассейн, корпоративные танцы вокруг кофеварки и т д) в это время не входят.

Секретов тут нет — надо работать не по Agile :-)

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

При этом он умудрился в одиночку (!) не просто рефакторнуть весь проект, но и при этом на время рефакторинга — поддерживать его актуальным, не просто перенося коммиты себе в бранч, а их переписывая на новые рельсы. И при этом «работал мало и плохо». ;-)

Вот так однажды пришло с утра 10 рыл, сказало «git pull», и офигело — проект был фактически в одно лицо переписан, но при этом у всей команды еще вчерашние коммиты — были на месте.

А вы говорите — код писать 8 часов в день нельзя…
Любитель делает то что ему нравится. Профессионалу нравится то что он делает (С) :-)

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

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

При этом шаблоны с интегралами мне по-прежнему интересны. С удовольствием покрутить-поковырять — восхитительно.
(смотрит с недоумением) а откуда тут взялась разница?

Делаю я нечто на заказ или свой проект — разницы нет. Это просто восхитительно — создавать то что потом работает. В этом есть челендж, драйв, позитив! Что может быть приятнее, чем решать (и решить!) задачи клиента? ;-)

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

Как известно, в запой уходят в трех случаях. Когда плохо, когда больно, и от нечего делать. В первых двух случаях сидят дома, их мы не видим. А вот «в дрова» на улице — они из третьей категории ;-)

Реально выгоревшим не до эпатажа (а что добился ты? я уже в 22 лежу под пальмой, ничего не делаю!).

20летние уходят из приличных вузов

Я у такого квартирку снимал как раз лет 15 назад ;-) Вот ровно так — отличник и олимпиадник, дом полная чаша, и прочее. Но я окончил ВУЗ с аспирантурой, вджобывая с первого курса, а герой рассказа — снова был «в академе», вечно кайфовал с пивасиком, и думал о смысле учебы — надо оно ему или не надо.

Видимо не были его родители в курсе передовых китайских методов воспитания ;-)
Ни в коем случае, все точно. Решил поддержать — нас уже двое, кому работа в IT нравится ;-)

А писать то же самое в ветку «переписи всепропальщиков» — смысла не вижу. Я таких живьем вижу регулярно.

Случаи они конечно разные бывают. Но на одного «взял столько что не потянул и надорвался» — десяток промахнувшихся.

Сначала типичный герой идет в погромисты, потому что «зряплата большая», а программировать не нравится ну совсем. «Бери от жизни все!» (С) и вообще больше некуда, ага.

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

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

Реальные случаи, я таких не один знаю и не два.

Как хорошо что в IT есть люди, которым нравится то что они делают! А то было бы много ларьков на рынке и ни одного программного продукта ;-)

Information

Rating
Does not participate
Location
München, Bayern, Германия
Date of birth
Registered
Activity