Представьте ситуацию. Вы и Ваш лидер работаете над улучшением производительности определенного компонента. После двух дней работы Вы и лидер получаете одинаковый по производительности результат, но разные методы решения. Причем Вы закончили на пол дня раньше, чем лидер. У лидера в коде есть несколько грубых нарушений рекомендаций, а у вас нет. Чтобы быть точнее, лидер допустил следующие нарушения:
1. Есть два метода которые должны возвращать одно и тоже значение. Один "быстрый", а другой "медленный". Если вызвать "быстрый" метод не в том месте где надо или не в нужной последовательности, можно получить некорректное значение. Пользователь класса должен знать внутринности класса, чтобы не наступить на эту граблю.
2. Один из методов выдает кусок состояния класса наружу по ссылке, что нарушает инкапсуляцию и не позволит в будущем изменять внутринности этого класса.
Понятно, что проблема в пункте один гораздо хуже, чем в пункте два. Тем не менее, пункт два тоже добавляет элемент гниения кода, а вам не все равно.
Что делать?
1. Забыть о своем решении.
2. Убедить лидера, что Ваше решение лучше, тем самым рискуя нарушить суббординацию и выглядеть угрожающе для лидера.
Как в рекурсивной шутке: лидер должен программировать лучше вас исходя из его статуса. Если это не так, смотри предыдущее предложение.
3. Подключить других программистов. Начать обсуждение. Может иметь катастрофические последствия в политическом смысле.
Здравствуйте, greenpci, Вы писали:
G>Как в рекурсивной шутке: лидер должен программировать лучше вас исходя из его статуса. Если это не так, смотри предыдущее предложение.
Ммм, а вы уверены, что всё так печально с вашим лидом? Просто вот из опыта не могу вспомнить ни одного случая, когда непосредственный начальник "обижался" на комментарии к коду. Более того, как правило, мои руководители программировали не сильно лучше меня (при том, что я сам тот ещё безалаберный кумар). Да и сейчас люди в моей команде порой могут делать вещи гораздо быстрее и качественнее меня самого. Лидер — это ж не про кодерские скиллы, а про намного большее.
Вопросов два на самом деле:
* с какого вы вдвоем решали одну и туже проблему и не общались два дня?
* это у вас в конторе все боятся лиду/начальнику слово лишнее сказать?
Вобщем по нормальному ситуации такой не должно было и возникнуть, раз вы вместе решали задачу вместе должны и придти к общему решению. Если ты заинтересован в результате и не хочешь ссорится с лидом попроси его объяснить преимущества его решения и выскажи свои опасения насчет нарушений.
Но раз вы в процессе не общаетесь то и в конце смысла нет.
Здравствуйте, greenpci, Вы писали:
G>2. Убедить лидера, что Ваше решение лучше, тем самым рискуя нарушить суббординацию и выглядеть угрожающе для лидера. G>Как в рекурсивной шутке: лидер должен программировать лучше вас исходя из его статуса. Если это не так, смотри предыдущее предложение.
Я б сделал так (и ни раз делал).
— Проанализировать своё решение.
— Обсудить своё и решение лидера вместе.
— Высказать, чем твоё решение лучше/правильнее.
— Если лидер не выдерживает критики и всё равно считает, что он прав (и твоё решение явно лучше) -> он самодур и нужно искать другую работу / переводиться в другой отдел.
— Бывает так, что начальника устраивает это решение, и тогда ты соглашаешься, но ставишь галочку мол "ты сам так захотел".
— Мы все люди и даже лидеры могут иногда предлагать не совсем верное решение.
Здравствуйте, El Camino Real, Вы писали:
ECR>Ммм, а вы уверены, что всё так печально с вашим лидом? Просто вот из опыта не могу вспомнить ни одного случая, когда непосредственный начальник "обижался" на комментарии к коду. ...
да, на комментарии никто не обижается. В данном случае, нужно заменить решение начальника своим решением полностью. Это не просто комментарии, к сожалению. Там сама архитектура класса другая. Подход другой.
Здравствуйте, GarryIV, Вы писали:
GIV>* с какого вы вдвоем решали одну и туже проблему и не общались два дня?
Работали в разные смены. Проблема была оговорена перед концом смены лидера. Далее программист решил проблему, работая, пока лидера не было. Когда лидер вернулся, лидер продолжил свое решение.
GIV>* это у вас в конторе все боятся лиду/начальнику слово лишнее сказать?
комментарий, замечание, ошибка это нормально и приветствуется, но когда вот возьми мое решение и выкинь свое, есть сомнения.
GIV>Вобщем по нормальному ситуации такой не должно было и возникнуть, раз вы вместе решали задачу вместе должны и придти к общему решению. Если ты заинтересован в результате и не хочешь ссорится с лидом попроси его объяснить преимущества его решения и выскажи свои опасения насчет нарушений.
боюсь, что преимуществ нет. Если начать разговор, то лидера будет легко убедить и решение программиста будет использовано.
GIV>Но раз вы в процессе не общаетесь то и в конце смысла нет.
Скажем так, человека недавно выдвинули на позицию лидера, он пока еще не научился хорошо делегировать. Думаю, научится со временем.
Здравствуйте, greenpci, Вы писали:
G>Что делать?
G>1. Забыть о своем решении.
G>2. Убедить лидера, что Ваше решение лучше, тем самым рискуя нарушить суббординацию и выглядеть угрожающе для лидера. G>Как в рекурсивной шутке: лидер должен программировать лучше вас исходя из его статуса. Если это не так, смотри предыдущее предложение.
G>3. Подключить других программистов. Начать обсуждение. Может иметь катастрофические последствия в политическом смысле.
Забыть о данном решении.
Чтобы ситуация не повторилась в будущем, внедрить процесс code review.
Здравствуйте, UVV, Вы писали:
UVV>- Если лидер не выдерживает критики и всё равно считает, что он прав (и твоё решение явно лучше) -> он самодур и нужно искать другую работу / переводиться в другой отдел.
Думаю, что убедить лидера можно, но затаит ли он обиду / страх, не понятно. Короче, может выйти себе дороже.
UVV>- Мы все люди и даже лидеры могут иногда предлагать не совсем верное решение.
согласен. Такая ситуация, когда два человека работают над одной и той же проблемой без делегирования, очень редка. У меня в жизни такое было считанные разы. Лучше, конечно, этого не допускать. Поэтому и спрашиваю здесь, что проблема редкая.
Здравствуйте, gyraboo, Вы писали:
G>Забыть о данном решении. G>Чтобы ситуация не повторилась в будущем, внедрить процесс code review.
А чем код ревью поможет? Он же делается уже после реализации задачи. Ну посмотрят эти два сотрудника на код, выяснится, что программист выполнил задачу лучше и получится противоположное тому, что ты сказал "забыть о данном решении".
Здравствуйте, greenpci, Вы писали:
G>Представьте ситуацию. Вы и Ваш лидер работаете над улучшением производительности определенного компонента. После двух дней работы Вы и лидер получаете одинаковый по производительности результат, но разные методы решения. Причем Вы закончили на пол дня раньше, чем лидер. У лидера в коде есть несколько грубых нарушений рекомендаций, а у вас нет. Чтобы быть точнее, лидер допустил следующие нарушения:
А как вообще получилось, что в одной команде два человека одновременно и независимо делают одно и то же?
Здравствуйте, greenpci, Вы писали:
GIV>>* с какого вы вдвоем решали одну и туже проблему и не общались два дня?
G>Работали в разные смены. Проблема была оговорена перед концом смены лидера. Далее программист решил проблему, работая, пока лидера не было. Когда лидер вернулся, лидер продолжил свое решение.
А лидер, когда вернулся и продолжил, был уже в курсе, что вы все сделали?
G>комментарий, замечание, ошибка это нормально и приветствуется, но когда вот возьми мое решение и выкинь свое, есть сомнения.
Я бы на месте лидера не переживал, что кто-то сделал лучше меня. Но переживал бы, что кто-то из нас зря потратил время из-за организационного бардака.
G>боюсь, что преимуществ нет. Если начать разговор, то лидера будет легко убедить и решение программиста будет использовано.
Здравствуйте, greenpci, Вы писали:
Pzz>>А лидер, когда вернулся и продолжил, был уже в курсе, что вы все сделали?
G>да, был в курсе, но решил продолжить работать над своим решением. Сказал, что его решение заменит решение программиста.
Вот так вот, имея перед собой готовое решение, сел допиливать свое? И как он это объяснил?
Здравствуйте, greenpci, Вы писали:
G>Я, как программист, потребовал бы показать код. Код говорит о человеке больше, чем любые мнения. Но, к сожалению, код показать нельзя.
Естественно и имел в виду экспертное мнение третих лиц о вашем с лидом коде. Пока что были предоставлены минусы кода лида, но ничего не сказано о другой версии кода. Может там еще больше минусов, которые не видно вам как автору.
Х — хороший программист. М — мудрый лидер. Думаю, вся история была такова:
X несколько месяцев перед этим косячил со сроками и с лишними вопросами.
Неделю обсуждали конкретно эту фичу, но Х тупил и был занят другими делами (например своими).
Наконец "задачу сформулирвали", то есть фактически поставили ребром вопрос,
что хватит тупить и тянуть, задача должна быть решена кровь из носа.
М в курсе что ему прийдётся отвечать за результат.
Тут ему подсовывают какую-то поделку, стопроцентно непродокументированную,
там ещё что-нибудь отдельный момент особо кривой, а что-то непонятно сделано.
При этом у М в голове есть решение, за которое он отвечать готов.
Ну он берет и пишет результат наверняка.
Тут прибегает Х, который уже и раньше достал лида,
но репутацию ему лид создал что "всех достал", чему есть подтверждения от других членов команды,
и Х снова начинает качать права, мол "М — твой код неправильный".
Вообще от такого Х надо избавляться, мешает работать нормальным людям типа М.
А Х — тряпка, если бы он хоть что-нибудь умел делать,
у него уже была бы своя компания. А пока ему даже ничего серьезного поручить нельзя.
Здравствуйте, mogikanin, Вы писали:
M>Естественно и имел в виду экспертное мнение третих лиц о вашем с лидом коде. Пока что были предоставлены минусы кода лида, но ничего не сказано о другой версии кода. Может там еще больше минусов, которые не видно вам как автору.
ТС везде найдет неприятность, раздует до размеров слона и будет наслаждаться страданиями. Вместо того, чтобы восхититься гениальностью решения тим-лидера (эльфинг вкусен!), и попутно добавить ему идею, как устранить дупликат переменной состояния и закрыть доступ к деталям реализации, ТС пытается найти повод, чтоб не выбрасывать свой код.
Здравствуйте, greenpci, Вы писали:
Pzz>>Вот так вот, имея перед собой готовое решение, сел допиливать свое? И как он это объяснил?
G>программист объяснения не потребовал, чтобы не обострять. Согласился, как и положено по суббординации.
Программист работает в исправительно-трудовом учреждении программистского типа, или добровольно накладывает на себя странные ограничения?
Здравствуйте, Pzz, Вы писали:
Pzz>Программист работает в исправительно-трудовом учреждении программистского типа, или добровольно накладывает на себя странные ограничения?
не только этот программист. Заметил, что многие так себя ведут в жизни, в отличие от форумов.
Здравствуйте, mogikanin, Вы писали:
M>Естественно и имел в виду экспертное мнение третих лиц о вашем с лидом коде. Пока что были предоставлены минусы кода лида, но ничего не сказано о другой версии кода. Может там еще больше минусов, которые не видно вам как автору.
На самом деле, мнение третьего лица было. Код был показан другому равному сотруднику и было подтверждено, что решение программиста лучше и его хорошо бы взять.
Здравствуйте, greenpci, Вы писали: G>2. Убедить лидера, что Ваше решение лучше, тем самым рискуя нарушить суббординацию и выглядеть угрожающе для лидера.
не знаю, в моей истории так называемый тут "лидер" был явно выше меня только когда я студентом был и у меня был шеф, я писал код заметно хуже него и внимательно слушал его рекомендации. в остальных случаях "лидеру" ему же не до программирования на самом деле, у него митинги, бюрократия, он достаточно быстро теряет кодерскую квалификацию, оставляя, конечно, некий здравый смысл или общий взгляд на подходы и т.д. ему всегда проще отдать кому-то на контроль кусок кода и пусть в нем кто-то другой разбирается. на собеседовании в западных компаниях на нерядовую должность первый же вопрос — сколько времени в день вы пишете код? потому что большинство тимлидов и т.д. вообще код не пишут уже лет так 5 и забыли даже что такое оператор присваивания и вообще плевать им на все это три кучи.
вообще непонятно, чего это вдруг он взялся писать еще и сам код другого программиста, которому по идее и поручил что-то делать. что-то не договаривается.
Здравствуйте, __kot2, Вы писали:
__>вообще непонятно, чего это вдруг он взялся писать еще и сам код другого программиста, которому по идее и поручил что-то делать. что-то не договаривается.
Это не Тим Лидер, это технический лидер. Он программирует.
Здравствуйте, Arsen.Shnurkov, Вы писали:
AS>Программист работает в капиталистической системе, где на улице десять безработных претендуют на его место.
Хотя да, пусть 40 безработных C++-ков претендуют на место, это не значит, что их квалификация позволит им пройти интервью, чтоб конкурировать с грином.
В данном случа вопрос стоит иначе. Спрашивается не то, о чем бы ты подумал, хотя это тоже интересно, но то, чтобы ты сделал или сказал, даже если это без мыслей.
И еще, возникает вопрос, если бы ты бежал из этого места, то почему именно? Потому что лидер не читал или не понял руководства по программированию или потому, что не слушает тебя, который эти книжки читал?
Ты же кажется тоже из Австралии. Наверняка знаешь, что книжки здесь никто не читает и код всем до фонаря. Куда бы ты бежал?
G>В данном случа вопрос стоит иначе. Спрашивается не то, о чем бы ты подумал, хотя это тоже интересно, но то, чтобы ты сделал или сказал, даже если это без мыслей.
Ну по-моему из моего ответа четко же понятно — если бы у меня стоял такой вопрос я бы уже искал другую работу.
А говорить или нет — уже нерелевантно, но скорее бы нет потому что я уже не здесь, мне все равно.
Здравствуйте, greenpci, Вы писали:
G>3. Подключить других программистов. Начать обсуждение. Может иметь катастрофические последствия в политическом смысле.
Какие-такие последствия? Всегда так делаю. Но подключать желательно программистов-"тяжеловесов". Авторитетов на компании. Они и разрулят по понятиям
Здравствуйте, gardener, Вы писали:
G>А говорить или нет — уже нерелевантно, но скорее бы нет потому что я уже не здесь, мне все равно.
А ты можешь объяснить почему именно ты бы искал другую работу? И почему бы другая работа не была бы "шило на мыло"? Учитывая, что ты в Австралии, и здесь нарушения рекомендаций всем до лампочки? Будет ли кто-нибудь заботиться о выносе состояния объекта наружу или методе потенциально возвращающем не те значения? Найдешь ли ты работу, где тех лид будет соблюдать что-нибудь подобное? В Загранице топик уже поднимался. Несколько форумчан согласились, что на код всем положить, а один уважаемый человек даже сказал, что наплевательское отношение к коду необходимо для карьеры.
Здравствуйте, greenpci, Вы писали:
G>Ты же кажется тоже из Австралии. Наверняка знаешь, что книжки здесь никто не читает и код всем до фонаря. Куда бы ты бежал?
G>А ты можешь объяснить почему именно ты бы искал другую работу?
Потому что мне не нравится работа на которой надо думать а не повредит ли мне если я вдруг начну обсуждать код.
Все остальное честно говоря проскипал. У тебя мир не совсеи тот в котором я живу.
Здравствуйте, gardener, Вы писали:
G>Все остальное честно говоря проскипал. У тебя мир не совсеи тот в котором я живу.
Тогда узнаешь много интересного. Ищи в Загранице по ключевому слову "кододрочер". Пишет Тим Лид из Новой Зеландии, который ловко использует данный термин для описания людей, которым нужен хороший код. Еще увидишь как несколько форумчан неистово с ним соглашаются.
Здравствуйте, Arsen.Shnurkov, Вы писали:
AS>А так получается, что он тебя не уважает и для тебя это трагедия.
О удивительный телепат, скажи мне, какой будет курс доллара в 2025 году?
Уже писал в топике, что убедить принять свое решение прогаммист может. Цена вопроса одно совещание, потыкать лидера носом в его код и далее зависит от его характера. Если бы не было налаженных хороших отношений и взаимного уважения, то программист бы так и сделал. Сомнения именно из-за хороших отношений и страха их не испортить.
Созрел еще один вопрос. Была ли у Вас ситуация, когда два человека делали одну и ту же задачу незапланировано или по недосмотру? Не важно какие у них звания. Интересует ситуация, когда нужно выбирать одну работу из двух. Такого не должно произойти, как писали здесь выше, но в жизни все бывает. На моей памяти такое было два раза.
1. Насколько работа была сложная или долгосрочная?
2. Как такое получилось?
3. Как выходили из ситуации?
4. Что делал / говорил менеждер, если он вообще участвовал?
Здравствуйте, ned, Вы писали:
ned>Какие-такие последствия? Всегда так делаю. Но подключать желательно программистов-"тяжеловесов". Авторитетов на компании. Они и разрулят по понятиям
Что интересно, я всегда так же делаю. Проблема в том, что команда маленькая, все по статусу одинаковые и есть только один "тяжеловес" и это как раз этот лидер
В прошлом уже приходилось использовать его как арбитра и в будущем кроме него некому. Его можно убедить, когда нужно. Но в этой ситации "Выкинь свою работу и замени моей". Еще раз повторюсь, это очень редкая ситуация. Не просто косяк или баг. Здесь надо все выбросить и заменить на другую работу.
Здравствуйте, greenpci, Вы писали:
G>Представьте ситуацию. Вы и Ваш лидер работаете над улучшением производительности определенного компонента. После двух дней работы Вы и лидер получаете одинаковый по производительности результат, но разные методы решения. Причем Вы закончили на пол дня раньше, чем лидер. У лидера в коде есть несколько грубых нарушений рекомендаций, а у вас нет. Чтобы быть точнее, лидер допустил следующие нарушения:
Это всё довольно мелкие преимущества. В моей практике случалось, что код лидера оказывался просто полнейшим дерьмом — и не только по стилю кода, а по функциональности и багам.
И практика показала, что бодаться даже в таких очевидных случаях — бесполезно. Победить хорошо подкованного офисного демагога практически невозможно.
Здравствуйте, greenpci, Вы писали:
G> У лидера в коде есть несколько грубых нарушений рекомендаций, а у вас нет.
А ещё у него жена может быть красивее твоей, машина лучше, дом и т.д. Что с того? Вот ты такой умный и ?
Нытьё чувствуется уже в самом названии топика.
Здравствуйте, eight, Вы писали:
E>А ещё у него жена может быть красивее твоей, машина лучше, дом и т.д. Что с того? Вот ты такой умный и ? E>Нытьё чувствуется уже в самом названии топика.
Человека на прошлой работе мучали идиоты-китайцы-кванты с учеными степенями (хотел бы я таких коллег- математиков вместо деградации среди профессионально-деформированных). Я уж подумал было, что Грин нашел работу мечты, где кодер- человек-пароход. Но нет. Снова упивается болью.
Здравствуйте, consign, Вы писали:
C>Это всё довольно мелкие преимущества. В моей практике случалось, что код лидера оказывался просто полнейшим дерьмом — и не только по стилю кода, а по функциональности и багам. C>И практика показала, что бодаться даже в таких очевидных случаях — бесполезно. Победить хорошо подкованного офисного демагога практически невозможно.
первый реалистичный комментарий. Главное, что непонятно с какой целью с ним бодаться. Даже если убедишь его и научишь как правильно, благодарности не будет, а скорее наоборот. И потом, я думаю, если человек не научился за много лет, то я уж точно его не поменяю. Исправим этот кусок, заговнокодит другой. Я же не буду с ним рядом сидеть и за руку держать. А даже если буду, то всегда есть другие члены команды. За всеми не успеешь. Вот если бы я был на его месте или он бы меня попросил, то другое дело. Это было бы моей обязанностью и я бы ее выполнил. Все больше делаю вывод, что не нужно делать то, о чем тебя не просят.
С другой стороны, Тим Лид (не тот о котором речь) меня открыто просит навести порядок и улучшить качество.
Есть у меня детская мечта: прийти куда-то, навести там порядок, все вычистить, людей убедить и научить. Навести порядок в отдельном подответственном куске у меня удавалось, но как только дело касается других людей, то мечта заканчивается.
Здравствуйте, Artеm, Вы писали:
A>Человека на прошлой работе мучали идиоты-китайцы-кванты с учеными степенями (хотел бы я таких коллег- математиков вместо деградации среди профессионально-деформированных). Я уж подумал было, что Грин нашел работу мечты, где кодер- человек-пароход. Но нет. Снова упивается болью.
Давай ты не будешь этот топик засорять. Ты все не можешь успокоиться, что я покритиковал твой ДиВай
Здравствуйте, greenpci, Вы писали: G>Это не Тим Лидер, это технический лидер. Он программирует.
задача некоего там технического лида или директора в том, чтобы на митингах отвечать на вопросы "можно ли скачать весь интернет на флешку", "можно ли майнить беткоены на смартфоне" или "имеет ли смысл переход на БолгенОС"
код никто из них не пишет. У меня есть два друга — технических директора ИТ компаний. Один код 6 лет не писал, другой — вообще никогда.
Здравствуйте, greenpci, Вы писали:
g> C>Это всё довольно мелкие преимущества. В моей практике случалось, что код лидера оказывался просто полнейшим дерьмом — и не только по стилю кода, а по функциональности и багам. g> C>И практика показала, что бодаться даже в таких очевидных случаях — бесполезно. Победить хорошо подкованного офисного демагога практически невозможно.
g> первый реалистичный комментарий.
Небольшая поправочка: первый комментарий согласующийся с твоей точкой зрения
Если по теме, то я всегда говорю что мне не нравится в коде и дальше уже решается так ли это и что с этим делать. Если же вдруг превращается в личное, то нам не по пути и надо искать работу или удалять мешающих проекту людей.
Здравствуйте, greenpci, Вы писали:
G>Представьте ситуацию. Вы и Ваш лидер работаете над улучшением производительности определенного компонента. После двух дней работы Вы и лидер получаете одинаковый по производительности результат, но разные методы решения. Причем Вы закончили на пол дня раньше, чем лидер. У лидера в коде есть несколько грубых нарушений рекомендаций, а у вас нет. Чтобы быть точнее, лидер допустил следующие нарушения:
G>Что делать?
1. Узбагоиться.
2. Прекратить работать независимо над одними и теми же компонентами.
3. Спорный код делает то, что от него требуется? Тогда пусть лид коммитит этот свой плохой код в репозиторий. Если что, то в будущем будет видно, что это — его рук дело. Свой вариант оставь в отдельной ветке.
4. Продукт продается? Деньги приносит? Тебе из этих денег зарплата платится? Значит всё — ужас, но не ужас-ужас-ужас. Вот и работай, чтобы уровень ужаса оставался примерно одинаковым. Будешь делать новую задачу — сделаешь красиво и по канонам (учитывая п.2).
Здравствуйте, greenpci, Вы писали:
G>критика мне нравится. Я описал проблему и люди предалагают разные способы ее решения. РСДН и этот подфорум как раз для этого и существуют.
Если бы ты воспринимал критику, уже бы понял что тебе пытаются донести люди. Но остальные тебе объясняют, как лечить симптомы. Причина твоих страданий- комплекс непризнанного гения.
Здравствуйте, greenpci, Вы писали:
G>Созрел еще один вопрос. Была ли у Вас ситуация, когда два человека делали одну и ту же задачу незапланировано или по недосмотру?
Было. Совсем недавно.
G>1. Насколько работа была сложная или долгосрочная?
Сложная. Уровня хорошо рубящего сеньора и выше. 2-3 дня.
G>2. Как такое получилось?
Внезапный всплеск энтузиазма на удалённой стороне (на стороне поставившей задачу). Затягивание с выполнением задачи на базе по различным причинам.
G>3. Как выходили из ситуации?
Задачу закончил третий человек внимательно проанализировав оба решения. Выводы сделаны. Виновные наказаны.
G>4. Что делал / говорил менеждер, если он вообще участвовал?
Здравствуйте, Dziman, Вы писали:
D>Небольшая поправочка: первый комментарий согласующийся с твоей точкой зрения
да, признаю, что это так. Кроме моего мнения это зависит от личности лидера и других факторов.
D>Если по теме, то я всегда говорю что мне не нравится в коде и дальше уже решается так ли это и что с этим делать. Если же вдруг превращается в личное, то нам не по пути и надо искать работу или удалять мешающих проекту людей.
Всегда действовал так же, как ты говоришь. Ставил качество кода выше ущемленного самолюбия каких-либо людей. Убеждал, добивался своего, менял, вычищал сам. Теперь собрал статистику за долгий период моей карьеры и подумал, а стоило ли так поступать и что это принесло мне и бизнесу на который я работал. Пришел к выводу, что слишком много людей "превращяют все в личное" и надо учиться с ними эффективно жить и работать. Даже здесь в этой теме можно увидеть то, о чем я говорю. Бесконечно менять работы это не выход. Вот поэтому и создал эту тему.
Здравствуйте, greenpci, Вы писали:
G>Что делать? G>2. Убедить лидера, что Ваше решение лучше, тем самым рискуя нарушить суббординацию и выглядеть угрожающе для лидера. G>Как в рекурсивной шутке: лидер должен программировать лучше вас исходя из его статуса. Если это не так, смотри предыдущее предложение.
Обсудить с лидером (тимлидом, насколько я понимаю) твоё решение, попробовать убедить его в том, что твоё решение лучше решает поставленную задачу.
Если он упрется и/или начнет обострять, то забить.
При любом исходе, постараться, чтобы в будущем не было подобных ситуаций, когда одну и ту же задачу пилят два исполнителя.
Здравствуйте, greenpci, Вы писали:
G>Что интересно, я всегда так же делаю. Проблема в том, что команда маленькая, все по статусу одинаковые и есть только один "тяжеловес" и это как раз этот лидер G>В прошлом уже приходилось использовать его как арбитра и в будущем кроме него некому. Его можно убедить, когда нужно. Но в этой ситации "Выкинь свою работу и замени моей". Еще раз повторюсь, это очень редкая ситуация. Не просто косяк или баг. Здесь надо все выбросить и заменить на другую работу.
Если уверен, в том что твоя работа выполняет задачу лучше, чем его, то нужно попытаться убедить своего лидера в этом.
Здравствуйте, greenpci, Вы писали:
LB>>1. Узбагоиться. G>откуда ты сделал вывод о "неспокойности"? Я что-то писал об этом?
Весь топик выглядит как что-то личное, без обид.
Правильный ответ в таких ситуациях обычно звучит как "забить болт" и/или "решить проблему на свежую голову".
Здравствуйте, Venom, Вы писали:
V>Обсудить с лидером (тимлидом, насколько я понимаю) твоё решение, попробовать убедить его в том, что твоё решение лучше решает поставленную задачу.
Нет, о техническом лидере речь. Замечу, что это не босс, а технический лидер.
V>Если он упрется и/или начнет обострять, то забить.
Мне нравится это решение.
V>При любом исходе, постараться, чтобы в будущем не было подобных ситуаций, когда одну и ту же задачу пилят два исполнителя.
Здравствуйте, greenpci, Вы писали:
V>>Обсудить с лидером (тимлидом, насколько я понимаю) твоё решение, попробовать убедить его в том, что твоё решение лучше решает поставленную задачу. G>Нет, о техническом лидере речь. Замечу, что это не босс, а технический лидер.
Да, теперь понятно. Изначально отвечал только на стартовый пост, не прочитав полностью обсуждение.
Здравствуйте, greenpci, Вы писали:
G>>Забыть о данном решении. G>>Чтобы ситуация не повторилась в будущем, внедрить процесс code review.
G>А чем код ревью поможет? Он же делается уже после реализации задачи. Ну посмотрят эти два сотрудника на код, выяснится, что программист выполнил задачу лучше и получится противоположное тому, что ты сказал "забыть о данном решении".
Да, хорошая реализация программиста будет замержена и уйдет в проект, а плохая реализация лида — нет.
Но ведь главное что никто не останется в обиде, потому что code review как бы подразумевает что можно забраковать код любого программиста, пусть он дважды лид.
А если речь о том, как избежать ситуации когда два человека делают одинаковую работу — тут нужно использовать краткосрочное планирование в issue tracker'е. И использовать правило, что каждый коммит/пулл реквест должен быть связан с тикетом. Тикеты должен создавать один человек, тогда он не будет создавать одинаковые тикеты-задачи.
Либо практиковать ежедневные митинги, на которых каждый программист озвучивает свои задачи.
Здравствуйте, Artеm, Вы писали:
G>>Либо практиковать ежедневные митинги, на которых каждый программист озвучивает свои задачи.
A>Погоди ка ты предлагаешь практиковать ажайл?!
Кто сказал эджайл?
Чтобы практиковать эджайл, нужно еще много чего — CI, тесты, заказчик активно участвующий в работе с продуктом т.д.
Здравствуйте, gyraboo, Вы писали:
G>Кто сказал эджайл? G>Чтобы практиковать эджайл, нужно еще много чего — CI, тесты, заказчик активно участвующий в работе с продуктом т.д.
G>Речь не идет об эджайл.
, ты на них не ответил и теперь говоришь, что "не согласен". С кем и с чем ты не согласен? Если бы ты сказал, что у тебя на работе есть много людей, которым не все равно, вынесут состояние объекта наружу или нет, я бы принял к сведению и был бы доволен полученной информацией. Возможно, спросил бы еще, так как я очень любопытный. Места, где люди любят качество, меня очень интересуют, так как сам в таком еще не был. Так что твой пост абсолютно не уместен в данном случае. Если ты поскипал и читал мои посты по диагонали, то и хрен с ним, беги дальше.
Здравствуйте, Artеm, Вы писали:
G>>Кто сказал эджайл? G>>Чтобы практиковать эджайл, нужно еще много чего — CI, тесты, заказчик активно участвующий в работе с продуктом т.д.
G>>Речь не идет об эджайл.
A>Т.е. ты намекаешь на недо-ажайл?!
Да, намекаю на как минимум некий г%вн#процесс, являющийся недо-эджайлом.
Здравствуйте, Artеm, Вы писали:
A>>>Т.е. ты намекаешь на недо-ажайл?!
G>>Да, намекаю на как минимум некий г%вн#процесс, являющийся недо-эджайлом.
A>Так сказать- в предыдущих сериях ситкома- ТС страдает от утреннего срама и в итоге меняет работу.
Недаром мастера XP говорят: "Замените страх скукой".
Вот и думай, что лучше, скучный ежеутренний стэндап или постоянные интересные ситуации из-за отсутствия процесса.
Здравствуйте, greenpci, Вы писали:
G>Здравствуйте, Lazy Bear, Вы писали:
LB>>1. Узбагоиться.
G>откуда ты сделал вывод о "неспокойности"? Я что-то писал об этом?
Потому что "Аааааа!!!111 Мы пилили оба одно и то же (!), но мой каноничныйЪ результатЪ (тм) не берут. Шо же делать???"
Необязательно заявлять о своей "неспокойности", чтобы окружающие сделали такой вывод о твоем состоянии.
Не пилите одно и то же. Делай свою работу так, чтобы к работе твоего кода не было претензий.
Если планируется использовать у себя компонент, сделанный другим человеком, то заранее договоритесь, как ты хочешь с этим компонентом взаимодействовать из своего кода. И пусть этот компонент у себя внутри делает что угодно. Главное, чтобы он выдавал тебе наружу то, что тебе требуется.
На остальное забей.
Здравствуйте, Lazy Bear, Вы писали:
LB>Потому что "Аааааа!!!111 Мы пилили оба одно и то же (!), но мой каноничныйЪ результатЪ (тм) не берут. Шо же делать???"
Не думал, что ты примешь мой вопрос "Что делать?", как картинку человека, рвущего на голове волосы, тем более, что далее следует список того, из чего надо выбрать. Может быть я не совсем точно выразился. Надо было сказать "Что предпочтительней в данной ситуации?". Никакого беспокойства в этом случае не должно быть. Напротив, должно быть приятно, что ты сделал работу очевидно лучше, чем старший по рангу товарищ. Поощрение ЧСВ, так сказать.
Здравствуйте, greenpci, Вы писали:
A>>Так сказать- в предыдущих сериях ситкома- ТС страдает от утреннего срама и в итоге меняет работу.
G>зачем врать то? Я сейчас работаю по скраму и менять работу только из-за этого не стал бы.
Тебе найти твою тему про утренний срам? Слово не воробей.
Здравствуйте, greenpci, Вы писали:
A>>Так сказать- в предыдущих сериях ситкома- ТС страдает от утреннего срама и в итоге меняет работу.
G>зачем врать то? Я сейчас работаю по скраму и менять работу только из-за этого не стал бы.
А почему так получилось, что работая по скраму, допустили такой косяк (одновременную работу нескольких разработчиков над одной задачей)?
Здравствуйте, greenpci, Вы писали:
LB>>Потому что "Аааааа!!!111 Мы пилили оба одно и то же (!), но мой каноничныйЪ результатЪ (тм) не берут. Шо же делать???"
G>Не думал, что ты примешь мой вопрос "Что делать?", как картинку человека, рвущего на голове волосы, тем более, что далее следует список того, из чего надо выбрать. Может быть я не совсем точно выразился. Надо было сказать "Что предпочтительней в данной ситуации?". Никакого беспокойства в этом случае не должно быть. Напротив, должно быть приятно, что ты сделал работу очевидно лучше, чем старший по рангу товарищ. Поощрение ЧСВ, так сказать.
Ну, тогда скажи ему: "Смотри, у меня тут пооптимальнее получается. Может, моё будем использовать во избежание возможного гемора (список прилагается) в будущем? И давай больше не будем делать одно и то же."
Здравствуйте, gyraboo, Вы писали:
g> A>>Так сказать- в предыдущих сериях ситкома- ТС страдает от утреннего срама и в итоге меняет работу.
g> G>зачем врать то? Я сейчас работаю по скраму и менять работу только из-за этого не стал бы.
g> А почему так получилось, что работая по скраму, допустили такой косяк (одновременную работу нескольких разработчиков над одной задачей)?
Потому что что только не называют скрамом, аджайлом и т.п.
Здравствуйте, greenpci, Вы писали:
G>Не думал, что ты примешь мой вопрос "Что делать?", как картинку человека, рвущего на голове волосы
Тем не менее от топика стойкое ощущение, что у тебя подгорает и тебе хочется "потыкать лидера носом в его код".
Очевидно, что проблема не в коде, не в последствиях для проекта, а в твоих обидах на лида. Их и имеет смысл обсуждать, а что делать тебе уже сто раз сказали: найти взаимопонимание, забить, обострить ситуацию до "техлидом будет или он или я". Судя по желанию тыкать людей куда-то носом, переходить в лиды рано.
Я только пришёл в новую компанию и на меня повесили несколько рандомно воспроизводимых багов, связанных с многопоточностью.
Начал разбираться с синхронизацией и обнаружил, что специалист, который это писал вообще не понимает как надо синхронизировать доступ к данным из разных потоков.
Я сделал своё решение. Пусть оно было не идеальным, но надо было тушить пожар прямо сейчас.
Товарищ, который к тому времени проработал в компании более 3 лет, пришёл в ужас. Уж не знаю чего он там навоображал, но тут же ночью начал кодировать своё альтернативное решение и позже, пользуясь своим авторитетом, стал его пропихивать, одновременно пытаясь давить на меня. В общем, ситуация забавная.
В подобных ситуациях главное не поддаваться на провокации, не обострять конфликт — пусть ваш противник выглядит конфликтным человеком.
В вашей ситуации конфликта как такового пока нет. И лучше до него не доводить. Предложите своё решение, обрисуйте его плюсы, но не говорите о минусах решения вашего тимлида. Не давите и пусть он сам примет решение. Разумно найти плюсы в его решении и похвалить их.