Один из моих коллег, старший разработчик с 5-летним стажем работы в компании, работает над вещами, за которые я отвечаю, но обычно что-то ломает. Меня обвиняют в этом, потому что я несу ответственность за эту область.
Недавно он полностью отрицал нашу встречу один на один по поднятым мною вопросам. После 2 дней ожидания, думая, что меня уведомят, мне сказали проконсультироваться с нашим менеджером, который сказал, что эти проблемы его, а не мои.
В своем тикете JIRA он пишет: «Регрессионное тестирование выявило ошибку/проблему, если вы заняты, я могу это исправить». Он будет ломать вещи, пока я даю ему код в рабочих условиях, не посоветовавшись и не спросив меня. Вопросы, которые он представляет, проверяются еще до того, как я их вижу.
Как я могу гарантировать, что этот старший разработчик не продолжит ломать вещи, которые в конечном итоге становятся моей ответственностью?
Если он будет отрицать то, о чем вы договорились, получите это в письменном виде :
Делайте заметки во время встречи и отправьте ему резюме встречи, например:
Как обсуждалось на нашей сегодняшней встрече...
Пожалуйста, укажите на любую из этих деталей, которые неверны.
В отношении вышеизложенного и нижеследующего не полагайтесь на устное общение, так как его легко отрицать — это хорошая отправная точка (поскольку легче быстро прояснить ситуацию), но впоследствии вам нужно получить это в письменной форме.
Что касается вопроса о том, что он ломает вещи:
Используйте систему управления версиями — это должно дать вам надлежащий бумажный след в поддержку вашего дела.
... с автоматическим тестированием - тестирование происходит после каждой фиксации, и всем отправляются письма с уведомлением о неудачных тестах. Ему будет трудно переложить вину, если тестирование не удастся после его коммита. Если он говорит, что «тестирование приводит к ошибкам», это то, что вы должны просто опровергнуть, например:
Можете ли вы уточнить, что вы подразумеваете под этим? Тестирование не меняет код и, следовательно, не может привести к ошибкам.
Отменить его изменения (если он не исправит или хотя бы не подтвердит это):
Я отменил внесенное вами изменение X, поскольку оно нарушает Y, убедитесь, что тесты пройдены, прежде чем вносить изменения в систему управления версиями.
Укажите на его серьезные ошибки — если он не советуется с вами или не следует тому, что вы сказали, отправьте ему письмо, например:
Я только что видел ваше изменение X. Это не соответствует тому, что мы согласовали на нашей встрече в день Y, потому что причина Z. [Я отменил это / Я исправил это / Пожалуйста, исправьте это.] Пожалуйста, ознакомьтесь с нашими заметками о встрече, прежде чем вносить изменения в будущее.
Управление CC , где это уместно.
Если эти шаги не помогают, поговорите с руководством , указав на конкретные проблемные случаи (с доказательствами, подтверждающими это), упомяните, как вы пытались решить эту проблему с вашим коллегой до сих пор, и спросите их, как они хотели бы, чтобы вы справились этот.
В последнее время все немного ускорилось, когда он полностью отрицал нашу встречу 1-1 по вопросам, которые я ему поднял.
Одна из вещей, которую я усвоил на собственном горьком опыте (и это моя первая работа), заключается в том, что люди могут и делают шлепки, когда находятся под принуждением. Поэтому крайне важно, чтобы вы удостоверились, что у вас есть вещи в письменной форме. Например: отправьте ему электронное письмо с просьбой назначить время для встречи, на которой вы обсудите проблемы, а затем обновите билеты JIRA, чтобы отразить то же самое.
Например,
После обсуждения ПРОБЛЕМЫ-003 на нашей встрече мы решили справиться с ней, изменив данные, отправляемые на сервер. Раньше мы отправляли то-то и то-то, а теперь планируем отправить то-то и то-то.
Теперь то, что я понимаю:
С этой целью я предлагаю создать процесс, при котором весь внешний код, который входит в главную ветку, подвергается регрессионному тестированию перед выпуском для клиента. Если его еще нет, вам придется создать хотя бы очень элементарный процесс для вашей безопасности. Если код был изменен, и это изменение было сделано не вами, коммиты Git спасут вас. Они никогда не лгут.
Кроме того, вам нужно убедиться, что ошибка не во внешнем интерфейсе. Например, вы не придерживались контракта API или он изменился без вашего ведома? Убедитесь, что все это задокументировано хорошо и без двусмысленности.
Эрик
Лилиенталь
Брандин
Терн
пользователь15704
пользователь15704
Лилиенталь
Пользователь SO
Лилиенталь