Re[3]: Конфликты среди программистов
От: Osaka  
Дата: 14.05.20 21:40
Оценка:
A>Я, например, обычно сразу обоих детей наказываю, и мне пофигу кто из них первый начал.
Т. е. жертва виновата, что сопротивлялась хулигану? А потом они удивляются, почему в стране одни овощи.
Re: Конфликты среди программистов
От: rm822 Россия  
Дата: 14.05.20 23:40
Оценка:
Здравствуйте, $$, Вы писали:

$>Что вы будете делать?
постараюсь оставить личное, я/он нравиться/не нравится хороший/плохой и быть конструктивным

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

есть и другие варианты
-мы выплачиваем технический долг
при этом очень желательно проиллюстрировать что в этом месте у нас новые требования/баги которые дорого было фиксить

-мы делаем RnD, фиг знает что из этого выйдет
опять же как результат — рассказать всем получилось/нет, какие выводы



если коллега не в состоянии рассуждать на таком уровне — пойти к непосредственному начальству
тема разговора: коллега мешает работать, ты не понимаешь что он делает, он объяснить не может.
Re: Конфликты среди программистов
От: Lazy Bear Канада  
Дата: 15.05.20 02:10
Оценка:
Здравствуйте, $$, Вы писали:

$>Сценарии:
$>- Коллега предложил
$>- Коллега саботирует
$>- Коллега ставит
$>- Коллега под предлогом
$>Что вы будете делать?

К тимлиду! Или к тому, кто там у вас ответственный за то, чтобы всё летало и не падало.
У вас там, похоже, нет ни правил, ни гайдлайнов. Либо на них давно забили. Фигачите каждый кто на что горазд. Вот и результат.
Re[4]: Конфликты среди программистов
От: alzt  
Дата: 15.05.20 17:25
Оценка:
Здравствуйте, Osaka, Вы писали:

A>>Я, например, обычно сразу обоих детей наказываю, и мне пофигу кто из них первый начал.

O>Т. е. жертва виновата, что сопротивлялась хулигану? А потом они удивляются, почему в стране одни овощи.

Это люди, которые друг друга очень хорошо знают, и им ещё долго жить вместе. Так что пусть учатся договариваться.
Re[5]: Конфликты среди программистов
От: Osaka  
Дата: 15.05.20 17:51
Оценка:
A>>>Я, например, обычно сразу обоих детей наказываю, и мне пофигу кто из них первый начал.
O>>Т. е. жертва виновата, что сопротивлялась хулигану? А потом они удивляются, почему в стране одни овощи.
A>Это люди, которые друг друга очень хорошо знают, и им ещё долго жить вместе. Так что пусть учатся договариваться.
Сами договариваться не научаются. Детские коллективы, предоставленные самим себе, самоорганизуются в обезьянью кастовую иерархию (нижестоящий всегда виноват и не имеет права даже подавать голос, вышестоящим его можно и нужно гнобить и мучить). lurkmore.to/Школьная_иерархия
Без приучивания к справедливости (справедливым вершением суда взрослыми) она сама в головах возникает у подавляющего меньшинства детей, и переучить остальную стаю бабуинов к нормам солидарного общества они не в силах. Особенно в условиях противоправного давления взрослых.
Re[6]: Конфликты среди программистов
От: alzt  
Дата: 16.05.20 20:12
Оценка:
Здравствуйте, Osaka, Вы писали:

O>Сами договариваться не научаются. Детские коллективы, предоставленные самим себе, самоорганизуются в обезьянью кастовую иерархию (нижестоящий всегда виноват и не имеет права даже подавать голос, вышестоящим его можно и нужно гнобить и мучить). lurkmore.to/Школьная_иерархия

O>Без приучивания к справедливости (справедливым вершением суда взрослыми) она сама в головах возникает у подавляющего меньшинства детей, и переучить остальную стаю бабуинов к нормам солидарного общества они не в силах. Особенно в условиях противоправного давления взрослых.

Дети есть?
Re[3]: Конфликты среди программистов
От: student__  
Дата: 18.05.20 16:40
Оценка:
Здравствуйте, alzt, Вы писали:

A>Какой статус? Если люди работают друг с другом то статус свой знают, и знают кто что стоит. Равноправия не будет


Тогда и проблемы нет. Синьер решил, делаем так-то и сяк-то, потому что ... и точка.

> но и какого-то превосходства тоже.


Тут не о превосходстве речь ("ваше превосходительство"), а о решении спорной ситуации.

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

A>Начальство часто решит не из-за каких-то только ему видных соображений, а из-за недостатка информации или просто лени, выберет случайным образом.

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

A>Я, например, обычно сразу обоих детей наказываю, и мне пофигу кто из них первый начал.


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

A>Это в теории. А по факту даже в тех компонентах, в которых хорошо разбираешься, делать ревью это очень трудоёмкое занятие. Поэтому часто оно делается очень поверхностно. А если разбираешься в компоненте плохо (а такое часто), то в серьёз делать ревью как-то самонадеянно.


Да, разумеется, каждое ревью может отличаться по глубине анализа. В иных пулл-реквестах знаний ревьюера может хватать разве что для комментариев о стиле кодирования, ну там, переменная криво названа и т.п. И такие ревью тоже полезны. По-моему, с этим никто и не спорил.
Re[4]: Конфликты среди программистов
От: SkyDance Земля  
Дата: 19.05.20 17:30
Оценка: +2
M>Начали писать более современный сайт + бэкенд переделывать постепенно, предложили ему поучиться, упирается, мол, я поддерживаю то, что уже работает, это новое мне не надо. Предложили тесты пописать, опять своё — я этот фреймворк не знаю, зачем вы меня туда тянете. Фактически,замкнутое сознание (fixed mindset). В результате из-за нежелания учиться + идти в ногу с командой его уволили, старые приложения переписали, все остались в плюсе, кроме него.

Могу лишь позавидовать грамотности руководства и правильной направленности.
В реальности же зачастую у таких gatekeepers, которые "давно сидят", может быть довольно много влияния, и они способны утопить очень много здравых начинаний.
Re: Конфликты среди программистов
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 20.05.20 10:55
Оценка:
Здравствуйте, $$, Вы писали:

>- Коллега предложил улучшение, как он считает, но вы несогласны, что это улучшение кто-то просил, и вообще.


Непонятно, что значит "это улучшение кто-то просил, и вообще"

>- Коллега саботирует ваш PR, просит переделать на, как он считает, более правильный дизайн. Но у вас всё и так работает.


Саботирует это твоя интерпретация каких то действий.
"И так всё работает" — это никогда не было аргументом. Это самое минимальное требование к любому решению.
А вот дальше надо выбрать то, что будет лучше вписываться в выбраный подход. Как у вас выбирается решение?

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

>- Коллега ставит в известность о новых требованиях к юнит тестам в одностороннем порядке, по надуманным поводам- у вас все юнит тесты и так работали и вообще, у вас опыт юнит тестов больше.


"и так работали" — не аргумент
"опыт больше" — тоже не аргумент
Что за требования, что значит "одностороннем порядке" ?

>- Коллега под предлогом фичи затащил какую-то неведомую ###ю, взрывающую вам мозг, отличающуюся от привычного вам кодописательства.


Здесь какое то эмоциональное описание какой то неизвестной ситуации.

>Что вы будете делать?

>Дискас.

Судя по тому, что ты пишешь, тебя не очень заботит, понимают ли тебя другие и понимаешь ли ты других. Похоже, что правильно только твоё мнение
Отредактировано 20.05.2020 10:59 Pauel . Предыдущая версия .
Re[3]: Конфликты среди программистов
От: Codealot Земля  
Дата: 22.05.20 18:22
Оценка:
Здравствуйте, alzt, Вы писали:

A>Главное, чтобы была бумажка, чтобы подтереть задницу. Если ты не работаешь в большой компании типа сбера, или у тебя начальство ну хоть немного разбирается и не собирает как ты бумажки, то твоя позиция выглядит так, что "мне всё равно, главное, что потом будет на кого свалить".


Моя позиция — каждый должен отвечать за свои косяки.
А тебе, похоже, эта идея не нравится?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re[4]: Конфликты среди программистов
От: alzt  
Дата: 22.05.20 19:59
Оценка: +1
Здравствуйте, Codealot, Вы писали:

A>>Главное, чтобы была бумажка, чтобы подтереть задницу. Если ты не работаешь в большой компании типа сбера, или у тебя начальство ну хоть немного разбирается и не собирает как ты бумажки, то твоя позиция выглядит так, что "мне всё равно, главное, что потом будет на кого свалить".


C>Моя позиция — каждый должен отвечать за свои косяки.

C>А тебе, похоже, эта идея не нравится?

Есть позиция, что главное — интересы компании, а есть — главное, чтобы я не оказался крайним. Мне больше нравится первая.
Наличие справки "что я не виноват" никак не добавляет тебе полезности.
Re[5]: Конфликты среди программистов
От: Codealot Земля  
Дата: 23.05.20 22:57
Оценка: -1
Здравствуйте, alzt, Вы писали:

A>Есть позиция, что главное — интересы компании, а есть — главное, чтобы я не оказался крайним. Мне больше нравится первая.


Без лохА и жизнь плоха.
Или, возможно, тебе больше нравится первая позиция, только когда это ничего не стоит тебе лично?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re: Конфликты среди программистов
От: $$ Австралия жж
Дата: 27.05.20 12:50
Оценка:
Здравствуйте, $$, Вы писали:

Ещё свежачок.

Коллеге дали задание дофиксить баг, ну т.е. оно при corner case выстреливает. Чел медитировал пару дней, решил что надо рефакторить 3 класса, и это заодно исправит ошибку. Указал ему строчку, что там написать и баг был бы исправлен. На следующий день этот чел выкатил свой рефакторинг вместо фикса одной строчки, который походу откатил другие фиксы месячной давности и откатил юнит тесты (!) на тех фиксах. Потому, что он посчитал их "ненужными". Ну и в итоге пришлось самому эту строчку поправить.

Результат: на исправление 1 строчки бага потрачено 2 человекодня этого чела и еще 2 часа моего и других участников на обсуждения и пререкания.

Как сделать, чтоб в будущем такая ситуация не повторялась?
Re[2]: Конфликты среди программистов
От: Lexey Россия  
Дата: 27.05.20 20:47
Оценка: 6 (1) +1
Здравствуйте, $$, Вы писали:

$>Как сделать, чтоб в будущем такая ситуация не повторялась?

Договориться внутри команды, что рефакторинг не должен смешиваться с написанием нового/фиксом багов.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[2]: Конфликты среди программистов
От: mik1  
Дата: 28.05.20 19:10
Оценка: +1
Здравствуйте, $$, Вы писали:

$>Коллеге дали задание дофиксить баг, ну т.е. оно при corner case выстреливает. Чел медитировал пару дней, решил что надо рефакторить 3 класса, и это заодно исправит ошибку. Указал ему строчку, что там написать и баг был бы исправлен. На следующий день этот чел выкатил свой рефакторинг вместо фикса одной строчки, который походу откатил другие фиксы месячной давности и откатил юнит тесты (!) на тех фиксах. Потому, что он посчитал их "ненужными". Ну и в итоге пришлось самому эту строчку поправить.

$>Результат: на исправление 1 строчки бага потрачено 2 человекодня этого чела и еще 2 часа моего и других участников на обсуждения и пререкания.

$>Как сделать, чтоб в будущем такая ситуация не повторялась?

1. Одна цель у одного диффа. Никогда не паковать несколько независимых изменений в один дифф.
2. Сменить работу на более адекватную.
Re[3]: Конфликты среди программистов
От: $$ Австралия жж
Дата: 29.05.20 02:01
Оценка:
Здравствуйте, mik1, Вы писали:

M>1. Одна цель у одного диффа. Никогда не паковать несколько независимых изменений в один дифф.

M>2. Сменить работу на более адекватную.

Ну, можно поспособствовать смене этого коллеги
Работа мне нравится.
Re[2]: Конфликты среди программистов
От: maxkar  
Дата: 30.05.20 14:15
Оценка:
Здравствуйте, $$, Вы писали:

$>Здравствуйте, $$, Вы писали:

$>Ещё свежачок.

$>Коллеге дали задание дофиксить баг.
$>Как сделать, чтоб в будущем такая ситуация не повторялась?

О как! У вас там bullying цветет! Для начала, стоит ответить на вопросы:


Теперь почему bullying и как это могло выглядеть с другой стороны (с точки зрения того коллеги). У вас есть какой-то модуль отвратительного качества. Там баги и после фиксов появляются новые. Т.е. уже несколько уровней костылей и подпорок. История это подтверждает — фиксер предыдущего бага так его до конца и не смог пофиксить. Коллега посмотрел на все это безобразие и заменил все это разваливающееся строение нормальной (концептуально простой) моделью, в которой исходный класс багов просто не возможен. Очень часто тесты при этом действительно страдают — потому что тестируют не пойми что, а не контракты (которых вообще нет, что и является причиной плодящихся багов). А потом пришла команда, откатила все и все-таки добавила костыли.

А вообще — тяжелая у вас атмосфера там в коллективе . Похоже, кто громче кричит — тот и прав.
Re[3]: Конфликты среди программистов
От: $$ Австралия жж
Дата: 01.06.20 11:30
Оценка:
Здравствуйте, maxkar, Вы писали:

M>

M>Теперь почему bullying и как это могло выглядеть с другой стороны (с точки зрения того коллеги). У вас есть какой-то модуль отвратительного качества. Там баги и после фиксов появляются новые. Т.е. уже несколько уровней костылей и подпорок. История это подтверждает — фиксер предыдущего бага так его до конца и не смог пофиксить. Коллега посмотрел на все это безобразие и заменил все это разваливающееся строение нормальной (концептуально простой) моделью, в которой исходный класс багов просто не возможен. Очень часто тесты при этом действительно страдают — потому что тестируют не пойми что, а не контракты (которых вообще нет, что и является причиной плодящихся багов). А потом пришла команда, откатила все и все-таки добавила костыли.


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

M>А вообще — тяжелая у вас атмосфера там в коллективе . Похоже, кто громче кричит — тот и прав.

Вот что делать с такими упёртыми людьми? Это только у русскоговорящих такое встречается- никогда не видел китайцев или индусов, которые мало того, что что-то не понимают, упрямо предлагают это выбросить.
Re[4]: Конфликты среди программистов
От: maxkar  
Дата: 04.06.20 07:50
Оценка:
Здравствуйте, $$, Вы писали:

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

Тоже вариант. А с другой стороны (авторов кода) там напоминалки есть о том, что и зачем? Те же performance tradeoffs обычно оформляются в виде комментария. Правки багов — сложный вопрос. Желательно — минимум оставить комментарий. Без таких подсказок при чтении кода не ясно, специально ли код такой или предыдущий автор писал его в бреду и стоит улучшить. Еще интересно, как задачи распределялись, когда правился изначальный баг т.е. знала ли вся команда про него или только отдельные разработчики.

$>Потом ему показывают точку, куда надо вставить 1 строку кода, и даже шлют ему патч, ему остаётся только проверить, что проблема исправлена, и обновить юнит тесты.

Тикет на что был? На "вставить строчку и посмотреть, работает ли оно"? Или "исправить баг"? Это две разные постановки задачи. Что должен делать разработчик, если вдруг выяснится, что проблема не исправлена? Можно же было поставить задачу.

$>Но наш дартаньян просто уверен, что его рефакторинг нужен, и старательно выносит мозг нескольким людям. В итоге главный на проекте закрывает его PR. Но он опять открывает тот PR, о котором его никто не просил, и по поводу которого ему 2 более старших людей сказали, что это не нужно и фактически регрессия.

Ну... Ты же не ответил на вопросы, которые заоверквотил. А там могли быть намеки на то, что "предыдущий разработчик не справился, может ты сможешь?". Если это регрессия (и можно показать в приложении) — это же прекрасно. Можно показать на проблему и попросить так больше не делать в дальнейшем.

И еще один момент. А где были 2 более старших людя, когда ставили ему задачу и не сказали про наличие "улучшательств скорости и исправления багов"? Я не знаю как у вас в команде, а у нас постановка нужного контекста — прямая обязанность старших. Они должны следить, кто что знает а что — еще не знает. Проблема коммуникации — это всегда проблема двух сторон. И начинать ее исправление надо с себя.

$>Вот что делать с такими упёртыми людьми?

Обидно? Не признает он рангов в вашей неформальной иерархии?

Решать просто — давать им такие задачи, где упорство будет полезно? Т.е. что-нибудь сложное и достаточно изолированное, где они могут копать. Дальше смотреть по ситуации. Если справился — отлично, и дальше давать сложные задачи. Не справился — есть формальный повод уволить. А баги пусть правят те, кто их сделал. Или доводить задачу до конца — не царское дело?

$>Это только у русскоговорящих такое встречается- никогда не видел китайцев или индусов, которые мало того, что что-то не понимают, упрямо предлагают это выбросить.

Я индуса упертого и эгоцентричного встречал. Все разные. А у вас отбор перекошен. Вы алгоритмы (разворот списка) спрашиваете. Это сразу смещает вашу выборку на те страны, где на алгоритмы делается фокус в обучении. Плюс всякие участники (тем более победители) hackerrank и прочих имеют самомнение — они "уже добились". А добились они в том числе и за счет упорства. Если не нравится текущая ситуация — отбирайте по умению слушать постановку задачи. Это легко делается в процессе обычного интервью. Может, вам interview training нужен?
Re[5]: Конфликты среди программистов
От: $$ Австралия жж
Дата: 04.06.20 10:34
Оценка:
Здравствуйте, maxkar, Вы писали:

M>Без таких подсказок при чтении кода не ясно, специально ли код такой или предыдущий автор писал его в бреду и стоит улучшить

Похоже ты тоже из рода дартаньянов.

M> Еще интересно, как задачи распределялись, когда правился изначальный баг

Блин там у ангулара нужно дернуть detectChanges, потому что ngZone не контролирует и не знает, что вернулся ответ от бекенда. Так просто. Но наш дартаньян стремится всё переписать на собственное видение ситуации.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.