Возможно я не совсем правильный разработчик, а может меня когда-то давно покусали эффективные менеджеры и теперь мне не безразличен их еженочный вой на планы. Но почему-то я не вижу проблемы в требованиях и хотелках бизнеса. Наш мир — это мир компромиссов, с которыми приходится считаться и в котором нам жить. И боюсь, что неограниченное время на решение задачи, чистый ТЗ и заказчик у которого не меняются требования в зависимости от периода цикла может быть только один. Сидеть он будет в белой рясе у него будет окладистая борода, а по бокам будут стоять архангела и апостолы.
Но пока мы не там, то приходится с чем-то мириться. И это чем-то может иметь весьма внушительный список:
- Сроки
- Изменения требований
- Несомненно, некомпетентные коллеги
- Абсолютно некомпетентное начальство
- Заказчик не понимающий, что лучше 1 час подождать, и потом за 5 минут добежать
- И т.д. и т.п.
Лично для себя я давно принял за правило презумпцию адекватности (или ума). Все мы люди, все мы ошибаемся, мы не знаем всей картины и тот, с кем мы общаемся не знает её. И наше дело максимально подробно и обстоятельно донести до своего визави нашу картину мира. А дальше только поиск компромисса и ничего кроме компромисса. Где-то он нас устроит, где-то нет. Где-то есть и идиоты, а где-то вы просто сравниваете свои яблоки с его квадратом.
Внимание! Дальше пойдут ровным строем сферические кони в вакууме. И мое графоманство
Пьеса: Фирма Н из города Н
Сцена первая
Действующие лица: Разработчик и доктор.
Р: Доктор, у меня вот тут болит нога. Что мне делать.
Д: Похоже забедерныйгрыжматит. Я могу вам назначить лечение, но т.к. я не до конца уверен в своём диагнозе, то у него будет куча побочных эффектов т.к. придется работать по площадям. Понос, рвота, головокружения, обмороки, недержание и непускание. Давайте чтобы всего этого избежать вы сходите возьмите талончик на УЗИ в соседний кабинет и придёте ко мне с результатами.
Через день
Р:Доктор, вот результаты.
Д: Отличненько, посмотрим. Ну вот я уже могу уменьшить количество побочных эффектов. Могу назначить лечение без рвоты и головокружения. Но давайте сделаем ещё мрт в соседнем здании.
Три дня спустя
Р: Доктор, вот результаты.
Д: ПРЕКРАСНО. Вот теперь я готов назначить лечение только с двумя побочными эффектами поносом и запором.
Р: Доктор, а нога уже не болит. Она отвалилась вчера.
Сцена вторая
Действующие лица: Одноногий разработчик и эффективный менеджер.
ЭМ: Привет. Нам нужно реализовать вот такую фичу. Причем желательно вчера! А ориентировочно через год реализуем ещё что-то подобное. Сколько тебе потребуется времени?
ОР: На это уйдёт 2 месяца сейчас и затем реализация подобного займет ещё 1 месяц
ЭМ: А можно быстрее. Это ну очень срочно. Сам верховный за ней следит.
ОР: Я могу конечно заговонохардкодить это за 1 месяц. Но потом если мы захотим что-то с ней делать, то её придется исправлять, а на это уйдет ещё 4 месяца
После непродолжительных раздумий с закатыванием глаз
ЭМ: Ваяй, все риски беру на себя.
Сцена третья
Действующие лица: Эффективный менеджер, верховный и табличка с надписью «За день до этого».
В: Нам нужно реализовать фичу как можно скорее. Как только мы её внедрим наш доход сразу вырастит на 2килокилорублей.
ЭМ: Яволь, майн фюррер!
Сцена четвертая
Действующие лица: Мозг эффективного менеджера, голос за сценой одноногого программиста, голос за сценой эффективного менеджера.
ГЗЦЭМ: Привет. Нам нужно реализовать вот такую фичу. Причем желательно вчера! А ориентировочно через год реализуем ещё что-то подобное. Сколько тебе потребуется времени?
ГЗЦОР: На это уйдёт 2 месяца сейчас и затем реализация подобного займет ещё 1 месяц
ГЗЦЭМ: А можно быстрее. Это ну очень срочно. Сам верховный за ней следит.
ГЗЦОР: Я могу конечно заговонохардкодить это за 1 месяц. Но потом если мы захотим что-то с ней делать, то её придется исправлять, а на это уйдет ещё 4 месяца
МЭМ: Итак ЗП ОП 100килорублей, а доход от фичи как сказал В 2 килокилорублей. Значит если я выведу эту фичу на месяц раньше я раньше заработаю 2килокилорублей и потом даже если потрачу 400килорублей на переделку все равно фирма останется в плюсе.
ГЗЦЭМ: Ваяй, все риски беру на себя.
Сцена четветая
Действующие лица: Расказчик.
Р: Фича реализована, за 1 месяц, но принесла доход не 2килокилорублей в месяц, а только 300кило в месяц. Прошел 1 год и пришло время допиливать приделывать новую фичу к старой. ОР переделал как все и обещал красиво за 4 месяца. Но спустя ещё 1 год ушел на новую работу, а на его место наняли нового программиста
Сцена пятая
Действующие лица: Новый программист, Эффективный менеджер.
ЭМ: нам нужно реализовать вот такую фичу. Твой предшественник говорил, что в его красивой архитектуре реализация новых фич будет занимать 1 месяц
НП: Смотрел я эту «красивую архитектуру», это все старо и неэффективно. Может 2 года назад это и было эффективно, но сейчас есть более простые и производительные фреймворки. И по-хорошему нужно переписать все на реактогулярий иначе через год вы просто не найдете адекватных разработчиков на это старье
ЭМ: И сколько у тебя уйдет на это времени?
Конец!
Комментарии (20)
vladinozem
24.11.2019 16:07+1Если Вы понимаете, что пишете плохо, не пишите вообще. Найдите другую компанию, где Вашу работу будут ценить
ebragim
24.11.2019 16:42+6Автор того поста, бомбящий на руководство, как и все подобные люди даже не задумывается, откуда берутся деньги на его зарплату, что может хотеть заказчик, и зачем он вообще работает. Я таких встречал, это просто блок в голове "я хочу, мне пофиг на остальное", как у избалованных людей. Когда пытаешься объяснить, что результатов работы полгода никто ждать не собирается, и с таким подходом клиенты просто уйдут к другим, кто может приносить прибыль своей работой — начинают болтать о высшей цели, правильной работе и прочем-прочем-прочем...
JPEG
24.11.2019 23:57Вот верно говорите, но сегодня я такое отношение между менеджерами и разработчиками вижу почти везде. И мне грустно от этого. Я сам по образованию менеджер, а по призванию разработчик, и мне всегда было жалко (жалко времени участников) наблюдать эти противоречия с крайними стадиями аргументации: все программисты — аутисты и они ничего не поймут, или все менеджеры бездушные погонщики и они ничего не поймут.
В одном хорошем месте, где проработал несколько лет у меня был очень хорошо налажен диалог с не-технарями, мы доверяли друг другу и делали общее дело. Любая проблема казалась нам по плечу, потому что через доверие мы научились работать открыто и оттого очень эффективно. Да, бывало нужно наговнякать побыстрому, чтобы обойти конкурента или впечатлить нового клиента (и мы это четко понимали всей командой), но потом всегда было время порефакторить всласть, наслаждаясь заметной прибавкой к зарплате, четко привязанной к последнему успешному манёвру. Бывало, что и выбрасывали целые куски продукта, так как они никому не оказались нужны и всей командой по ним скучали… и уже не наслаждались прибавкой.
Увы, ничего такого я сейчас не вижу. Кажется, чтос егодня в нашей индустрии мы все так гонимся за фейсбуками, что немного забыли, что сперва надо быть хорошими людьми, а уж потом успешными менеджерами и программистами.
За всё хорошее и против всего плохого, cheers!
mvv-rus
25.11.2019 02:20IMHO он, наоборот, задумывается слишком много: ищет какой-то великий смысл в своей работе, кроме простого экономического — зарабатывания денег.
То есть, его почему-то не устраивает простой подход, что деньги он получает, продавая свой труд на рынке рабочей силы покупателям, они же — предприниматели. Что он на работе не самовыражается, не творит шедевры, а является винтиком в народнохозяйственном (он же — экономический) механизме. И польза его деятельности для народного хозяйства (то есть, для остальных людей) измеряется исключительно получаемой зарплатой. Потому что именно так работает рыночный механизм регулирования экономики — наилучший из доступных человечеству механизмов, заменить который на что-то, более эстетическое и рационально устроенное и, при этом, не менее эффективное, пока что не получается.
Впрочем, поскольку мы живем в свободном обществе, никто не мешает автору того поста, как и другим желающим странного, заниматься художественным программированием за свой счет. Более того, если эта деятельность вдруг окажется достаточно нужной для общества, то и материальное вознаграждение за неё не заставит себя ждать.
Как-то так.UnclShura
25.11.2019 14:59Так оно работает только у вас в голове. На практике это всегда баланс между бессмысленностью + деньги и творчество + сгласен на чуть меньше. Это причем работает не только в IT, но вообще везде. Есть краснодеревщики, которые просто не станут делать мебельна заказ если знают, что ее поставят в сарай. Я, паример, лично видел продавца, который отказывался продать велосипед как новый потому, что его использовали как демо для покупателей (я был согласен и мне надо чтоб был именно как новый продан).
Штука в том, что в IT мы можем вибирать на кого работать. Мне вот противно делать что-то, что я знаю будет заменено на нормальное через полгода. Я и не делаю. Причем я ни разу не перфекционист и вообще не парит «чистая архитектура». Достаточно хорошая — да, парит, но чистая нет (я считаю, что ее нет вообще).mvv-rus
25.11.2019 15:54Ну, так оно работает (или работало) не только у меня в голове, но ещё и в голове у тех, кто специально изучал реальную экономику и написал про это научные труды (я имею в виду Адама Смита, Рикардо, Парето и пр.), а потом — у тех, кто на основе этих трудов написал учебники, которые другие люди изучали и пользу из этого извлекли. Что IMHO свидетельствует о том, что в голове у тех, кто изучал и кто писал учебники всё было отражено адекватно (кстати, поскольку я — не экономист, то я не претендую, что излагаю экономическую науку без ошибок, но, надеюсь, в главном я прав). Так вот, на поверхности рынка видно бурление стихии, а под капотом у него работают теоремы о благосостоянии, ведущие к такой оптимизации эффективности общественного производства, которая другими методами пока что недостижима.
Что касается вашего возражения, то оно возражением по сути не является. Всё правильно: на рынок выходят покупатели и продавцы не только со своими продуктами и спросом на них, но и со своими причудами. А уж механизм конкуренции оценивает, насколько эти причуды полезны для общества. И результаты оценки могут быть весьма неожиданными — например, появляется рынок «крафтовых» продуктов. Или — Hi End аудиотехники с его «теплым ламповым звуком».
Сказать заранее, что именно решит рынок, трудно, а ошибиться — легко. Поэтому вы имеете полное право выбирать, как именно делать свою работу — до тех пор, пока условия на рынке это вам позволяют. Но если не позволяют, то единственный полезный подход — не ныть, а смириться и зарабатывать деньги.
PS То, что программисты могут сейчас выбирать, на кого работать — это верно. Но не факт, что это будет верно в будущем — потому что, например, это было совсем неверно лет 25 назад на территории СНГ.
0xd34df00d
25.11.2019 04:49Давайте с другой стороны. Как руководство, которому надо, чтобы программисты помнили, зачем они работают, отнесется к посылу этого руководства нафиг в ответ на просьбу поовертаймить, выйти на выходных, придти сегодня на работу пораньше или подготовить презентацию работы?
Потому что программисты тоже могут вспомнить, что работают они для себя и для зарабатывания денег, в их неделе 40 часов, а про презентации в должностных инструкциях ничего нет.
ebragim
25.11.2019 05:02А давайте не передёргивать? Что в этом, что в другом посте я не увидел ничего про принуждение к овертайму.
EvgeniiR
25.11.2019 11:07Когда пытаешься объяснить, что результатов работы полгода никто ждать не собирается, и с таким подходом клиенты просто уйдут к другим
Так любую идею можно довести до абсурда и оспорить, выставив её нелепой.
Делать хорошо не равно делать пол года. «Переписать всё на новый фреймворк вот прямо сейчас» не равно делать качественно.
А если немного порассуждать о последствиях некачественно сделанной работы, то как раз «сделаем быстро, нужно ещё вчера» в конечном счёте и приведёт к росту сроков и уходу клиентов к другим, тем кто умеет делать работу в срок и качественно(для пользователя — без багов, например).
taliano
24.11.2019 19:15Вообще не вижу в чем проблема. Проект прожил год, даже рубликов сколько-то заработал. Самое время все переписать заново.
Whuthering
24.11.2019 22:54Проблема в том, что разработчик хочет писать так, как хочется ему, а не так, как надо бизнесу. От этого и недовольство каждого из них в адрес другой стороны.
webaib1
25.11.2019 02:31Вам уже в первой статье указали, что если мозг не способен принять нынешнее положение дел, то он вырабатывает новую систему ценностей, где эти проблемы ничтожны.
Отсюда вы делаете два неверных предположения. Призумция ума — вы не учились в школе/универе или вы никогда не искали врача, у которого руки не из...? 80% людей — олухи разной степени испорчености и опасности.
Цифры верховный также получает из отдела аналитики, статистики и прочего машинного обучения, где процент адекватов все тот же.
Продукты деградируют плавно и не заметно, замедляя все последующие изменения. И даже великолепно мыслящие разработчики не могут представить все последствия своих решений и изменений.ORVi Автор
25.11.2019 07:22Но при этом каждый из этих 80% категорически уверен, что принадлежит к 20% ;-)
ORVi Автор
25.11.2019 07:30И опять же. Даже если следовать мысли что 80% — олухи, то что это меняет? Где бы вы не оказались вас все равно будут окружать ваши 80% слухов с которыми придётся искать контакт, сдавать код и получать от них ЗП.
GeBoN
25.11.2019 15:28+1«Сцена пятая» — без лишних слов: Жизненно…
Сцена шестая.
ОК — одинокий китаец
СБ — страшный бригадир
ОК: Я не хочу сотнями шить эти тапки с названиями «Рита», «Наек» и «Абабас», они разваливаются буквально на второй-третий день. Давайте выпускать хорошую крепкую-красивую-удобную обувь?
СБ: Заткнись и строчи, солнце еще высоко. «КаюкОбувь» из России заказала нам еще сто миллионов пар.
PS Не стоит считать свою отрасль чем-то уникальным.
suffix_ixbt
Творить доброе и вечное это конечно хорошо, но мне кажется что Вам нужно успокоить ваш крик души следующими рассуждениями:
"Вы для кого код пишете? Для всего прогрессивного человечества? Для менеджера? Для клиента? — нет! Код в итоге Вы пишите для акционера вашей компании. И если его устраивает что "тупой" Директор через "ещё более тупого" менеджера вынуждают Вас писать плохой код — то пишите и не терзайте себя мыслями о высшей справедливости. Её нет. Если же моральные принципы писать плохо не позволяют — то не статьи на Хабре писать надо а заявление по собственному желанию."
kolu4iy
Ключевой была оценка МЭМ в диалоге. "Все равно в плюсе". Понимаете?
Я, правда, разработчик, но вторую ногу отращивать меня заставляют )
pyrk2142
Имхо, часто статьи и размышления на тему качества кода и ответственной работы — попытка разработчиков убедить себя, что АйТи отличается от окружающей действительности. Что программист, который докодил какую-то фигню и надеется, что она не бахнет, а он получит премию за соблюдение сроков, отличается от продавца, который понюхал свинину и переклеил срок годности, авось покупатель не умрет от отравления. Что вон тот девопс, который скопировал команды из интернета, чтобы побыстрее уйти домой, отличается от строителя, который добавил побольше песка вместо цемента, чтобы и себе на дачу хватило. И что тестировщик, который что-то прокликал и написал отчет, чем-то отличается от врача, которому не хотелось общаться с неприятным пациентом, поэтому он выписал побольше гомеопатии.
АйТи — такой же бизнес, как и много других, где компаниям наплевать на клиентов (но чтобы не умирали, а то жалобы будут), пофиг на сотрудников, а им пофиг на других сотрудников и клиентов тоже. Нет смысла ожидать, что что-то будет заметно лучше только потому, что туда добавили парочку компов.