Просто последний обсуждаемый на хабре «аттракцион невиданной щедрости» был по поводу 1 Тб от Mail.RU. В свете той статьи интересно, кто и что скажет про лицензионное соглашение от китайцев.
8 человеко-часов это еще по божески. Обычно в больших проектах, как в старой байке — доллар за удар кувалдой и 999 долларов за знание куда ударить (в контексте статьи «доллар» = «человеко/минута»).
Иногда проблема решается одной строчкой кода, но на запуск этой строки в продуктив, тратятся часы (даже дни).
Мой личный зоопарк-словарик психоделической фауны благодаря Вам расширился. По сравнению с «зайчатками критического мышления» даже «белки-истерички» блекнут
З.Ы. Извините, я не удержался. С Вашим комментарием полностью согласен. И как сын небезразличных родителей и как отец двоих детей.
Идеальных мест не бывает. Во всяком случае, я таких не встречал. А работу делать надо. Чтобы кто-то имел возможность свободно и радостно творить, кто-то другой должен обеспечивать ему комфортную инфраструктуру. В нашей стране почти всю инфраструктуру (ЖКХ, транспорт, связь) обеспечивают «монстры» из моего гиперболического примера. И всем этим монстрам нужны ИТ-специалисты. У этих специалистов своя мотивация: кто-то работает за опыт, который не смог бы получить в маленькой организации; кто-то держится за соц. пакет и белую зарплату; а кто-то пытается сделать действительность чуточку лучше «изнутри». Есть такой старый анекдот про чукчу: «Ну, что, жена… Этих детей отмоем или новых наделаем?» Оба подхода имеют право на жизнь. Вы предлагает делать новых, а кто-то старается отмыть старых
Вы упустили ключевое слово — заставляют. Если в конторе практикуют методологии коллективного владения кодом, то это штатная ситуация, в которой эмоции типа WTF? и Какой идиот это писал? просто не возникнет. В opensourсе Вы тоже идете вполне добровольно.
Нашел, кстати, у Вас в Избранном статью Основная особенность наших разработчиков (раньше ее не читал). Там автор удивляется тому, что русский программист слишком часто говорит «невозможно». В комментариях (а их более трех сотен) куча примеров ситуаций, объясняющих почему мы это делаем.
Отстаивать позицию имеет смысл только перед компетентными людьми. А некомпетентный мои доводы не поймет, но поймет, что задача решаема и включит административный ресурс. И ладно бы мне просто поставили задачу, мне еще установят срок ее решения (со мной его не согласовав) и потом спросят за качество. Да, еще мне будет делегирована вся ответственность за возможный «провал», но возможная «победа» пойдет в зачет «креативщику», а не мне. У нас в конторе, как в футболе — выигрывает «команда», а проигрывает «вратарь». Поэтому, когда возможно, я отвечаю: «Невозможно!!!».
З.Ы. Это тоже гипербола, прошу не понимать буквально
Править чужой код всегда стресс, но профессионал с этим справляется. Если за спиной не стоять с секундомером. Я утрирую, но в штатной ситуации править чужой код обычно не заставляют.
А если посмотреть на ситуацию с другой стороны? Человек, вступивший в диалог обозначил свое отношение к проблеме, пусть и с использованием антипаттерна. Т.е. он поднял «флажок», что проблема выводит его из зоны комфорта. И вы видите этот флажок и можете на него реагировать — помочь, подсказать, подключить дополнительные ресурсы. А другой просто промолчал. Вы восприняли его молчание, как согласие и ждете сообщения о решении проблемы. А в итоге время упущено, а проблема так и не решена.
Так название статьи об этом говорит: О чем НЕ говорят разработчики или 7 любимых выражений программистов
При этом в вводной части Вы поясняете, что термин «программист» — носит негативную окраску, а «разработчик» — наоборот.
А я просто Вам отвечаю, что самые лучшие разработчики употребляют антипаттерны, но от этого не перестают быть лучшими и не перестают быть разработчиками.
Моя мысль, если кратко: Лучше употреблять антипаттерны в речи, но при этом в итоге решать проблему, чем не употреблять и при этом не решать проблему. Плохой, потому что не справился, а не потому что позволил себе высказаться в процессе.
У меня ситуации бывают и посложнее в том смысле, что мне приходится доказывать разработчикам, что они не правы, и при этом я не являюсь их руководителем :). И шаблоны мне ваши знакомы. Я просто не пытаюсь оценивать уровень разработчика по факту использования этих шаблонов. Я просто стараюсь решить возникшую проблему, не давая оппонентам лишних поводов использовать шаблон.
Вы же сами говорите, что даже самые талантливые и крутые используют шаблоны. И они не кретины. А это значит, что на лицо «классический дебют»: е2 — е4, дурак — сам дурак и т.п. В этом случае нужно просто рвать шаблон пока отрицание оппонента не сменилось гневом. Иногда достаточно просто спросить: что тебе нужно, Вася, чтобы решить проблему в кратчайший срок?
«Какой идиот это писал?» — это просто выплеск эмоций. Чаще всего возникает как реакция на неожиданную стрессовую ситуацию. Когда человеку на ногу падает кирпич, человек, конечно, может прореагировать спокойно. Но я не буду осуждать такого человека, если он позволит себе пару крепких выражений. И это точно не будет являться для меня критерием оценки его, как личности в целом.
Я не говорю о клинических случаях кретинизма среди подчиненных. Ваш пример говорит о некомпетентности сотрудника и подтверждает Ваши тезисы. Но есть примеры, которые Ваши тезисы опровергают (см. мой комментарий ниже).
Т.е. условно «все матери — женщины, но не все женщины — матери». Я согласен, что плохие специалисты часто используют Ваши антипаттерны. Я не согласен с тем, что использование антипаттернов говорит о том, что специалист — плохой и не может носить гордое звание «разработчика»
А у меня на компе работает чаще всего является ответом на наезд без конкретики из серии «У нас ничего не работает!!!». Пользователь пишет это в BugTracking, копию отправляет начальству, и при этом у меня нет никаких данных, чтобы начать анализ проблемы. И в ответ я включаю «отрицание»
Какой идиот это писал? — это обычно реакция на просьбу не в зоне ответственности исполнителя. Например: «Привет, там Вася два месяца писал код, но не успел закончить до отпуска. Заказчику я пообещал, что фичу накатим сегодня, там кое-что поменять надо, но дел буквально на 5 минут. Ты разберись и сделай по-быстренькому»
Это невозможно и Я такую ерунду делать не буду обычно случаются, когда начальство считает, что лучше меня разбирается в системе и моем коде. Или когда «хотелка» выходит за рамки треугольника «срок-бюджет-качество», при этом начальство треугольник расширять не хочет. Невозможно в данном контексте относится к нереальному по моему мнению бюджету/сроку, а Ерунда к моему нежеланию снижать качество продукта костылями.
На Хабре есть замечательная статья Как из болота вытягивать ITшника или об общении в стрессовых ситуациях . Почти все приведенные «антипаттерны» из вашего топика отлично укладываются в модель реакций из той статьи (отрицание — 001, 011 гнев — 010, 011, 100, торг — 110, 111, депрессия, принятие ).
Таким образом, использование этих антипаттернов подчиненными Вам людьми не что иное, как нормальная человеческая реакция. Скажу больше — такая реакция чаще всего говорит не в Вашу пользу. Не хотите получать антипаттерны в ответах, не пользуйтесь антипаттернами в вопросах. Поменяйте модель вашего поведения и люди не будут Вам в ответ говорить эти слова. Ваша задача, как руководителя: не допускать перехода собеседника в состояние гнев и депрессия, а стремиться максимально быстро дойти до состояния принятия.
1. GOTO
2. «Возбуждение» искусственного исключения с перехватом в функции и с пустой обработкой.
Иногда проблема решается одной строчкой кода, но на запуск этой строки в продуктив, тратятся часы (даже дни).
З.Ы. Извините, я не удержался. С Вашим комментарием полностью согласен. И как сын небезразличных родителей и как отец двоих детей.
З.Ы. Это тоже гипербола, прошу не понимать буквально
При этом в вводной части Вы поясняете, что термин «программист» — носит негативную окраску, а «разработчик» — наоборот.
А я просто Вам отвечаю, что самые лучшие разработчики употребляют антипаттерны, но от этого не перестают быть лучшими и не перестают быть разработчиками.
Моя мысль, если кратко: Лучше употреблять антипаттерны в речи, но при этом в итоге решать проблему, чем не употреблять и при этом не решать проблему. Плохой, потому что не справился, а не потому что позволил себе высказаться в процессе.
Вы же сами говорите, что даже самые талантливые и крутые используют шаблоны. И они не кретины. А это значит, что на лицо «классический дебют»: е2 — е4, дурак — сам дурак и т.п. В этом случае нужно просто рвать шаблон пока отрицание оппонента не сменилось гневом. Иногда достаточно просто спросить: что тебе нужно, Вася, чтобы решить проблему в кратчайший срок?
Т.е. условно «все матери — женщины, но не все женщины — матери». Я согласен, что плохие специалисты часто используют Ваши антипаттерны. Я не согласен с тем, что использование антипаттернов говорит о том, что специалист — плохой и не может носить гордое звание «разработчика»
А у меня на компе работает чаще всего является ответом на наезд без конкретики из серии «У нас ничего не работает!!!». Пользователь пишет это в BugTracking, копию отправляет начальству, и при этом у меня нет никаких данных, чтобы начать анализ проблемы. И в ответ я включаю «отрицание»
Какой идиот это писал? — это обычно реакция на просьбу не в зоне ответственности исполнителя. Например: «Привет, там Вася два месяца писал код, но не успел закончить до отпуска. Заказчику я пообещал, что фичу накатим сегодня, там кое-что поменять надо, но дел буквально на 5 минут. Ты разберись и сделай по-быстренькому»
Это невозможно и Я такую ерунду делать не буду обычно случаются, когда начальство считает, что лучше меня разбирается в системе и моем коде. Или когда «хотелка» выходит за рамки треугольника «срок-бюджет-качество», при этом начальство треугольник расширять не хочет. Невозможно в данном контексте относится к нереальному по моему мнению бюджету/сроку, а Ерунда к моему нежеланию снижать качество продукта костылями.
Таким образом, использование этих антипаттернов подчиненными Вам людьми не что иное, как нормальная человеческая реакция. Скажу больше — такая реакция чаще всего говорит не в Вашу пользу. Не хотите получать антипаттерны в ответах, не пользуйтесь антипаттернами в вопросах. Поменяйте модель вашего поведения и люди не будут Вам в ответ говорить эти слова. Ваша задача, как руководителя: не допускать перехода собеседника в состояние гнев и депрессия, а стремиться максимально быстро дойти до состояния принятия.