@Ksushqa
Gamedev рулит

Стоит ли работать под руководством человека, который все переделывает на свой лад?

Всем привет!

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

Всё шло своим чередом. Лид систематически делал код ревью. Я исправляла свои ошибки. Вникала в работу. Очень усердно всё делала, и мы (командой) хорошо сработались. Я начала понимать стиль работы лида и его подход к архитектуре примерно через 4 месяца. Сейчас работаю уже 7.

Недавно был перевод на новый проект. Новый лид в профессиональном плане еще лучше прокачан, чем предыдущий. У него больше лет опыта и больше навыков. Но мне чертовски сложно с ним работать. Его не устраивает практически весь мой код. Постоянные комментарии критики. Он переделывает за мной сверху какие-то моменты. При том, что, на мой взгляд, местами переделки выглядят как вкусовщина. Доходит до того, что он переделывает какие-то названия переменных или классов (хотя они вписываются в код стайл и звучат адекватно! + прошлый лид не плевался на мои именования никогда). Или же он недоволен, когда я начинаю править что-то в коде для своей задачи (например, добавить пару настраиваемых полей в уже существующий, продуманный им класс, подходящий для этого (подходящий – с его же слов, в том числе)).

Таким образом, я оказалась в ситуации человека, который, как бы это выразиться... "Заполняет формочки". То есть делает скучную, неразвивающую работу, которая минимально влияет на код продукта. Чувствую себя связанной по рукам, абсолютно бесполезной, ненужной в проекте. И без возможности работать так, как я это вижу, с адекватным фидбеком. Фидбек местами резкий, категоричный. Отбивает желание работать.

Как вы считаете, что здесь играет роль? Просто такой попался лид? Или же у нас с ним пропасть в навыках, поэтому его коробит от любых моих действий? Сталкивались ли вы с подобной ситуацией? Как бы поступили? На данный момент, я хочу понять, стоит ли мне просить перевода на другой проект и сколько дать себе времени на то, чтобы привыкнуть к новому лиду? Безусловно, я очень оценила его навыки. Я понимаю, что я могла бы многое взять у этого человека, но всё сводится к тому (в моем восприятии), что он защищает свой идеальный код от меня.

UPD. Всем огромное спасибо за ответы. Спустя пару дней моя категоричность поулетучилась, и эмоций поубавилось. Думаю, что благодаря вашим ответам я смогла увидеть то ценное в моей ситуации, что я должна в каком-то смысле даже беречь :) Да и лид сделал шаг на встречу и стал делать замечания в более мягкой форме, от чего я перестала на него смотреть "букой" и начала больше прислушиваться. Такие пироги %)
  • Вопрос задан
  • 485 просмотров
Решения вопроса 4
DevMan
@DevMan Куратор тега Карьера
два адекватных человека всегда способны договориться.
прост отведите его в сторонку и спросите: "wtf?".
услышите убедительные доводы - дело в вас.
не услышите - либо меняйте работу, либо вы не в адеквате.
Ответ написан
Robur
@Robur
Знаю больше чем это необходимо
По вашему описанию звучит как будто новый лид как лид прокачан как раз хуже. Возможно у него и больше опыта разработки но опыта эффективного управления командой по вашему описанию у него маловато. Никакая пропасть в навыках не будет "коробить" нормального лида, он просто либо скорректирует ваши задачи под ваш уровень, либо что-то сделает чтобы вас прокачать, либо скажет что вы не подходите и объяснит почему.

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

Несколько вопросов на которые стоит ответить
1. С другими людьми в команде он так же себя ведет? Они так же мучаются и от них он свой идеальный код тоже защищает?
2. Вы действительно уверены что ваша обида на критику не мешает вам оценивать ситуацию адекватно? Человек может с кислым лицом или резкими фразами говорить вам правильные вещи, а вы реагируете в первую очередь на подачу - это бывает куда чаще чем кажется.
3. Что он сам говорит по поводу причин почему так делает?

Тут вариантов два - либо принять ситуацию либо менять.
Менять можно разными путями - поговорить с ним тет а тет - сказать что так и так иваныч, я тебя считаю за крутейшего профи, и многому хочу у тебя научиться, но мне сложно воспринимать информацию в такой грубой форме. Я вот хочу в твоей команде вырасти профессионально чтобы потом без тени сомнения говорить "а вот там я работала с крутыми чуваками и столькому научилась что до сих пор вспоминаю с гордостью". А ты хочешь чтобы это произошло? - если скажет да - решайте как это сделать, может выйдет может нет но первый шаг хороший, если скажет что нет - делайте выводы и решайте что делать дальше.
Второе - можно пойти к начальству которое принимает решения о переводе из команды в команду и рассказать все как на духу - такая то проблема, это сильно сказывается на твоей работе, хочу в другую тиму, там буду работать эффективнее и развиваться быстрее.
Адекватное начальство будет только за то чтобы работники работали лучше, конфликтов было меньше и люди не выгорали. Для фирмы это прямые потери в деньгах и в продукте.

spoiler
А может вы просто ему нравитесь, дергает за косички как может.
Ответ написан
bakotin
@bakotin
Бекенд-разработчик
Что делать:

1) Попросить предоставить правильный код-стайл по его мнению.
2) Тщательно спросить, почему он считает, что должно быть так, а не иначе.
3) Попросить поработать совместно часик, и посмотреть, по какой логике он делает то или иначе.
4) Спросить какие книги он считает нужно прочитать, чтобы правильно писать код.
5) Посмотреть его задачи и комментарии ревьювера к его коду (если такое есть).

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

Практика показывает, что тим-лид имеет больше веса, чем обычный разработчик, поэтому либо вы подгоните свои требования под лида, либо вы там не будете работать.

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

Поэтому хорошие отношения, плюс понимание, что же от вас в конечном счете хотят - залог к продуктивной работе.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Код ревью обычно ведется по каким то критериям качества (это нечто большее, чем код стайл). У вашего нового тл-а эти критерии жестче, чем у предыдущего. Обычно это хорошо. Это значит, что ему не нас*ать.

Потребуйте у нового тл-а список критериев оценки. Внимательно ознакомьтесь, если что-то не ясно, или спорно - задавайте вопрос: wtf?
Бывают спорные критерия стиля оформления, их принимают для унификации.
А бывают требования не очевидные, но вполне решающие какую-то свою задачу.

UPD

Вот вам пример критерия, об который сломана куча копий:
Валидация на тип и граничные значения должна быть в каждом публичном/защищенном методе.
Это очень геморный критерий, множество методов состоят из проверки аргументов более, чем на 50%. Но этот же критерий убирает целый класс ошибок + очень помогает в поиске ошибок.

Доходит до того, что он переделывает какие-то названия переменных или классов

Именование классов для вас вкусовщина?))

Или же он недоволен, когда я начинаю править что-то в коде для своей задачи

Вы нарушаете при этом принципы типа SOLID/YAGNI/... ?

Как вы считаете, что здесь играет роль?

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

Просто такой попался лид?

Самая большая похвала, которую я в свое время получил за свой код: "твой код не совсем говно", это при том, что ТЛ - с большой буквы, и мой код от его кода очень тяжело отличить, даже проработав более года на проекте.
Если ваш язык php - можете ознакомиться с требованиями: https://github.com/index0h/php-conventions

Или же у нас с ним пропасть в навыках, поэтому его коробит от любых моих действий?

Дык учитесь у него!

Сталкивались ли вы с подобной ситуацией? Как бы поступили?

Сталкивался и очень много спорил, по поводу каждого требования, у нас даже стоп слово было "иди на ***" - оно применялось, когда у сторон не хватает аргументации, что бы прийти к конкретному соглашению.

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

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

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

Еще бы: представьте, вы кардиохирург, делаете операцию и тут подходит мед сестра и начинает тыкать больного скальпелем в ногу, что бы протез было удобно монтировать, хотя нога вполне здорова.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
TheRonCronix
@TheRonCronix
Конечно за спиной разработчика что-то править в коде за него, переименовывать переменные и т.п. неправильно. Если уж есть замечание, то правку должен делать тот, кто внес изменение. Т.е. лид должен передать эту работу вам. Естественно, подкрепив позицию аргументами. Если он внес правки сам, то должен уведомить об этом, если не забудет/не слишком занят. Это демократический подход, нацеленный на развитие команды. Ваш же лид похоже не такой, что скорее всего не очень эффективно из-за неумения доверять и делегировать ответсвенность.
Ответ написан
BojackHorseman
@BojackHorseman
...в творческом отпуске...
да он просто перфекционист. ну и что? подстройтесь под его стиль, выполняйте его хотелки. это тоже опыт. кто сказал, что предыдущий тим лид был лучше? может он просто был неряхой, которому было плевать на проект. ну мелочи и мелочи. кодестайл там, костыли. работает и работает.

так что все в мире относительно. станете тим лидом - выработаете собственный стиль и будете кошмарить джуников. или не будете.
Ответ написан
inf
@inf
DevOps Engineer
Обратится к вышестоящему начальнику, чтобы разрулил ситуацию - или лида поставить на место либо перевестись на другой проект.
Скажите, что тратит время компании и дизморалит необоснованными придирками с намёками на харассмент))
Ответ написан
@zavodp
Он переделывает за мной сверху какие-то моменты.

Смотри именно какие и учись.

При том, что, на мой взгляд, местами переделки выглядят как вкусовщина

Спроси. Чего гадаешь-то?

Скажем про программирование пример - какие отступы вроде неважно? Вкусовщина?
На деле - это важно: неединообразные отступы в команде совершенно лишную информацию помещают в commit систем CVS, не позволяя акцентировать внимание на именно что важной части commit.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы