129

Ответ на пост «Фронтендер Гриша»6

Сделал пост с этой же картинкой, т.к. не знал что ТС есть и на Пикабу.

@imctobitch, прошу прощения больше не повториться.

К картинке я добавил текст "И не только Гриша, И не только фронтэнд... И даже не только программисты..." потому что выдалось 5 минут на одну очень важную тему.

Причины, почему в 99,9 % случаев всё происходит через жопу.

Для почти всех разработчиков будет открытием, что помимо классической классификации софта есть ещё и производственно-эксплуатационная. Есть 4 крайне важные градации:

Штат специалистов

  1. Крупная команда (> 7 человек)

  2. Обычная команда ( 2 - 7 человек)

  3. Один исполнитель

Масштабная:

  1. Крупный проект

  2. Мелкий проект

  3. Разовая задача

Нагрузочная:

  1. Очень много пользователей одновременно (> 10 тысяч)

  2. Нормальная нагрузка (100 - 10к)

  3. Незначительная нагрузка. (< 100)

Периодичность:

  1. Постоянная работа

  2. Работа периодами (например, в рабочее время)

  3. Разовая задача

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

При этих вводных все эти "чистые коды" работают и иногда даже хорошо...

!!! НО ТОЛЬКО В ЭТИХ УСЛОВИЯХ !!! Во всех остальных условиях следование этим принципам является идиотизмом. Правда этот идиотизм настолько врос в профессию, что многими он воспринимается как должное и естественное.

Пятница, писать лень, так что 3 примера:

Разовая задача. Эта задача которая по тем или иным причинам либо не возникнет снова, или ТЗ будет изменено настолько, что проще написать снова. Тут нужно говнокодить по страшному.

Пример - бывает, что госорганы для своих каких-то целей запрашивают данные. Эти данные могут быть довольно сложно структурированы в БД т.е. руками и простым запросом не решить. Такие запросы НИКОГДА не повторяются. Написали код, выполнили и забыли. Все проектирования классов, тесты и прочая шняга - это время потраченное абсолютно впустую.

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

Менеджеры "от бизнеса" эти нюансы очень остро чувствуют. И 90 % неприязни к ИТ как раз и заключается в том, что у них есть понимание, что эта задача должна стоить Х и делаться за У времени, а по факту бюджеты и сроки перекрываются в разы. И в качестве ответа на вопрос "какого хера?" им рассказывают про SOLID, Agile и далее по списку.

Я не раз наблюдал, когда гендир спокойно подписывает увольнение сеньору, (да ещё и предварительно его спровоцировав на это самое увольнение), но умоляет остаться джуна.

Просто потому что конкретно этот джун понимает что не все задачи нужно делать "по канону".

Разработчики часто не видят ситуацию "в целом". У бизнеса совершенно другие ценности. Бизнесу нужно прежде всего решать свои задачи. И решать их экономически целесообразно.

И в 99 из 100 проектов "каноны" и "мастхэв" ИТ-индустрии для бизнеса это - полный пиздец, которым пользуются исключительно потому, что нет более подходящего предложения.

Могу проиллюстрировать простым примером. Есть "джуновская" булка хлеба, которая "здесь и сейчас" стоит 20 рублей. Купил-съел. Есть "мидловская" хлебопечка, которая делает хлеб получше, но дороже и 4 часа. А есть хлебзавод "сеньора", который хер знает когда построят, стоит дохера и может давать продукт только тоннами.

Так вот, если компания планирует продавать хлеб тоннами, то хлебзавод рулит.

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

Если нужно просто пожрать, то просто покупается булка хлеба.

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

И менеджер понимает, что ему продают булку хлеба по цене хлебзавода. И самая главная проблема для него в том, что ВСЕ ДОСТУПНЫЕ КАНДИДАТЫ продают именно это. За специалистов, которые могут сопоставлять задачи и способы их решения грамотные HR войны ведут. Потому что найти 50 сеньоров проще, чем 1 такого.

И самое главное - это не уникальная для ИТ ситуация. В других отраслях всё абсолютно то же самое.

Вы смотрите срез комментариев. Показать все
47
Автор поста оценил этот комментарий

Сначала закрыл пост, а потом таки вернулся и решил ответить. Пек булки руками, в хлебопечке и даже хлебзаводы строил. И хотел бы отметить, что бизнес обычно (особенно на старте проекта) нихрена не может сказать какой будет проект по вашим критериям. Это я для внутреннего софта могу прикинуть и сколько раз он потребуется и насколько сильный говнокод там будет. Сегодня бизнес просит говно с костылями, чтоб хоть как-то крутилось, завтра - чтобы ответ сервера укладывался в 0.01с и чтоб отказоустойчиво, потому что мы это говно прорекламили и завтра на проект зайдет 10000 юзеров сразу. И кластер не дадим - дорого. И аналитика у нас нет. И дизайнера тоже нет - вот фрилансер что-то наколбасил на фигме. Натяните это на фронт мы уже пообещали, что завтра все будет красиво и кроссбраузерно. А ты думай, как твою самопальную хлебопечку за сутки перестроить в завод, ты ж сеньор. И со сроками обычно тоже швах, задача на неделю, потому что требует исследований, как написать критически важный кусок, но менеджер уже отрапортовал что все будет через 2 дня и крутись как хочешь. Вот и приходится говнокодить и параллельно фундамент под завод заливать, потому что бизнес плохо реагирует на слова: ломаем сарай - строим завод. Ему надо чтоб все и сразу.

раскрыть ветку (11)
14
Автор поста оценил этот комментарий

Перестроить за сутки хлебопечку в завод - звучит примерно как


"вот тебе ведро песка, 500 долларов и сутки времени, и чтобы завтра процессор 50 нм был у меня! Что тебе еще? я тебе денег дал, сырье дал, сроки обозначил, хули тебе еще надо?? ИНСТРУМЕНТ? Ну ладно, так уж и быть, совсем разрабы криворукие, своего инструмента не имеют... Вот ключ от кладовки, возьми там лопату и молоток"

и уебывает к себе на гавайи на своем бизнес-джете.

2
Автор поста оценил этот комментарий

Так вы оба правы, но нахуй бизнесу сразу вкладываться в хлебозавод, если нет ни малейших гарантий что взлетит?

раскрыть ветку (9)
10
Автор поста оценил этот комментарий

Все правильно, на первом этапе я его логику, бизнеса, понимаю. Говнокодим, проверяем концепцию. Но потом стоит концепции начать взлетать ее пинком отправдяют в прод, начинают ее активно рекламировать, менеджеры всех мастей обещают, что чуть-чуть и прямо в рай, обещают немыслимые сроки, в общем локомотив продаж начинают нихерово разгонять. При этом продолжают нахлестывать клячу MVP, требуют, требуют, требуют.У вас была фича, теперь ее надо расширить на порядок. Как захардкожено? Как две недели на переделку? Я клиентам пообещал, что все будет через 3 дня. И понеслась потогонка. Все обматывается костылями, заливается ресурсами, потому что говноMVP ни разу не космолет и вообще может быть написал на неподходящем стеке, просто во имя скорости. Техдолг растет, всем на него похер, потому что продукт педалит и делает бизнесу деньги. И хорошо, если этот колосс дотянет до момента, когда архитектор выбьет у бизнеса вторую команду разработки и посадит ее на причесывание всего понаписанного. Но чаще нет, неуправляемый код в конце концов ломается под собственным весом, всех набутыливают и в авральном режиме пытаются реанимировать мертвеца. Вот так это обычно проходит. И приходится стелить соломки с самого начала. Без фанатизма, пытаясь предугадать, когда бизнес понесет. ^^

раскрыть ветку (6)
3
Автор поста оценил этот комментарий

Ваша большая ошибка в том, что вы просто стараетесь выполнить команды менеджеров. Есть 2 варианта:

1. Руководство компанией адекватное. На каждый заёб менеджера - служебка вышестоящему. Такой-то Такойтович указал нереальный срок решения задачи. Если сделать как он требует будет список проблем. Чтобы проблем не было, нужно сделать так-то и так-то. Правда есть риск самому стать менеджером ;-)

2. Руководство неадекватное. Искать новую работу.


Менеджер-долбоёб перекладывает на вас и работу и ответственность. И пока вы молча упарываетесь выполняя дебильные распоряжения, вы разгоняете систему. Если на задачу нужно 5 дней, а требуют 3 - нахуй, но аргументировано. Потому что 3 станет 2, потом 1, потом 2 часа, а потом увольнение "за то что не справился"

раскрыть ветку (5)
2
Автор поста оценил этот комментарий

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


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

2
Автор поста оценил этот комментарий
2.1. руководство неадекватное (ставит нереальные сроки, потому что уже всем обещано или потому что чёт протупило, не воспринимает смысл технического долга и важность его контроля), но в целом компания с норм условиями – подстраиваемся: управляем ожиданиями руководства, а между делом по возможности пилим "как надо".
У меня обычно так работает.

Попытки же сделать быстро говнокод вотпрямщас (если это не разовый скрипт, конечно) приводит к техдолговому пиздецу, который потом разгребать долго и муторно, а если не разгребать, из-за него простые с виду задачи начинают растягиваться на недели. Поэтому п.2.1.
раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Это работает до одного события. Менеджеру надо "вот-прям-щаз" показать работу, он повышает количество задач, техдолг закрывать уже некогда... И довольно быстро всё просто падает или работает только под ручной реанимацией...

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Да, бывает. В случае реально маячащих проблем включается алярма: "надо срочно выделить время на технические задачи, иначе всё наебнётся". Громкость алярмы быстро повышается до достижения нужного эффекта (пока руководство не поймёт, что таки это нужно). Главное не включать её по мелким поводам, иначе эффект смазывается, и у руководства создаётся опасное впечатление: "да вы там всё время ноете, а всё ж работает".
1
Автор поста оценил этот комментарий

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

3
Автор поста оценил этот комментарий
Оу, моя любимая тема :) по факту и тс и чел выше и вы говорите правильно, но забыли сказать про одну важную вещь - большая часть жопы начинается по причине отсутствия анализа и последующего плана.
Те если сначала потратить чуть времени и денег, то тогда с 90% вероятностью будет понятно, что и как взлетит и хватит ли для этого булки или нужен завод (а то и несколько)
Да, сделать план дороже чем купить булку, но в 99% он отбивается. Если всё плохо после анализа, то избавляет нас от покупок булки дальше. Если всё круто, то тогда начинаем сразу запускать завод и сразу покупаем булку и к моменту когда ртов станет много у нас уже будет завод.

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

Я могу написать опус про реальный бизнес, который производя сейчас типа лобовое стекло (для примера) хотят через месяц!!! выпустить несколько своих машин со своего завода. Причем дизайна и схем машин нет, завода нет, покупателей нет. Причем там схема предлагается аля тесла - сначала ищем клиентов(хватаем на улице ибо на рекламу денег нету, а как раскрутимся, так и будет реклама), берем предоплату (правда тут даш эскиза тачки нету, тупо рассказываем какая тачка клевая будет) за воздух, ищем тех кто на эту предоплату может нам построить завод, строим, производим тачки продаем. Фьють и мы богаты.
Как мне сказали - тут делов то и щелкнули пальцами :)))
И это на полном серьезе всё.
На вопросы про анализ, на каком основании ваааще производитель стекол решил делать авто и на вопрос «ну вы же понимаете, что чисто физически низя построить завод за месяц» ответа так и не дали….

Ах да, зп этому человеку хлебозаводу предлагалось такая - оклад 30к и % потом с прибыли…. мильёны, которые мне показали на калькуляторе
это Москва если что

Так что повторюсь - чаще всего бизнес тупо экономит здесь и сейчас, а не покупает булочку потому что это просчитано и так целесообразнее и под это есть все просчеты
0
Автор поста оценил этот комментарий

Ну потому что аналогии говно :)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества