код ковбоя в команде


15

Как вы относитесь к члену команды, который старше вас и всегда участвует в проектах других людей и выполняет их в течение ночи или в выходные? Кажется, она работает 80 часов в неделю, независимо от того, есть ли чрезвычайная ситуация или нет, и довольно сложно предсказать, какую часть вашего списка задач она собирается нанести следующей. Иногда дни вашей работы тратятся впустую, потому что утром в понедельник вы видите регистрацию, завершающую проект, над которым вы работали большую часть предыдущей недели.

Для людей, спрашивающих о качестве: Обычно это довольно хорошо, но: также требуется много рефакторинга кода, включая код, «принадлежащий» другим членам команды, без учета покрытия тестами, с очевидными результатами.


51
Как насчет того, чтобы ты рассказал мне ее подробности, и я посмотрю, что я могу сделать, чтобы моя компания переманила ее.
Кевин Д

7
@ MK01, как-то так: «Нам нравится вклад, который вы делали, но мы хотели бы обсудить способы, с помощью которых мы можем четко разделить работу. Если мы сможем использовать ваш код с кодом остальной части команды, мы может, возможно, сделать это даже быстрее, чем мы сейчас. " Главный ключ заключается в следующем: дать ей почувствовать себя той, кто придумал эту идею.
riwalk

7
Расслабьтесь и подождите, пока они не сгорят.
Стивен Эверс

9
Похоже, вы можете планировать больше ТАК в понедельник утром.
JeffO

3
То, что вы не сказали нам, это качество ее кода. Предлагает ли она другим людям решения такого же, большего или меньшего качества?
Дэвид Торнли

Ответы:


17

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

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

Наша команда решила эту проблему, поместив заметки со всей работой, которую нужно было выполнить на белой доске. У каждого члена команды был ярлык с его именем, и он помещал заметку, над которой он работал, в столбец «в процессе» и помечал его своим именем. Если другой человек хотел помочь с этой задачей, он должен был обсудить и обсудить это с человеком, который взял на себя задачу. Подобная система может очень помочь с вашими проблемами.


17

Предполагая, что она действительно эффективна, и "мастер на все руки" ...

Обними ее стиль. Освободи ее. И - изолировать ее.

Также...

Будьте откровенны с обязанностями, которые Вы возлагаете.
Убедитесь, что ваша команда учится у нее (например, парное программирование работает отлично).
Не идите "олл-ин" - протестируйте ее и убедитесь, что у вас есть резервный план, если дела пойдут хуже.

Худшее, что ты можешь сделать, - это испортить ее мотивацию.


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

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

На самом деле - эта свобода как единственное, почему я все еще работаю прямо здесь.


9

Я думаю, что есть худшие проблемы. Тем не менее, работа, которую вы (или другие члены вашей команды) должны иметь значение, и, похоже, результаты ее работы фактически исключают вклад человека в команду.

Я предполагаю, что она не осознает, какое влияние она оказывает на команду; скорее, вклад, который она вносит, вероятно, заставляет ее чувствовать себя ценным для команды.

Решение (ИМХО): противостоять ей напрямую. Конечно, будьте дипломатичны и цените вклад и жертвы, которые она приносит (80 часов - это безумная рабочая неделя, и она не может произойти без довольно возмутительной жертвы в ее личной жизни).

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


Вы знаете, после просмотра профиля OP на SO / SE. Меня заставляют взглянуть на другую сторону медали. Если это был преднамеренно или непреднамеренно это делать. Это определенно плохо по причинам, указанным Тимом. Кроме того, из-за основной причины недопущения роста / развития юниоров. Только когда юниоры становятся достаточно лучше, чтобы заменить вас, шоу может продолжаться даже без вашего присутствия. Итак +1
Aditya P

9

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


6

Возможно ли, что она «прыгает и финиширует», потому что остальная часть команды движется слишком медленно, или потому что босс попросил ее?

Насколько это раздражает от того, что тебя обошли, и насколько это просто «проявляется» более плодовитым (не обязательно лучшим) кодером?


4

Знает ли она, что другие люди находят это раздражающим? Я бы предложил тактично обсудить это с ней, сказав, что вы бы предпочли закончить свои проекты. Если это не сработает или вам неудобно обсуждать это с кем-то, кто старше вас, это дело руководства. Если вы не завершаете проекты, потому что она есть, может показаться, что вы расслабляетесь, если менеджер не знает ситуацию.

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


7
Любой, кто работает 80 часов в программировании по предпочтениям, скорее всего, будет немного не в социальных навыках.
Дэвид Торнли

4

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

Работать быстрее?

Кажется, она работает 80 часов в неделю, независимо от того, есть ли чрезвычайная ситуация или нет, и довольно сложно предсказать, какую часть вашего списка задач она собирается нанести следующей.

По определению, если это в вашем списке задач - это не сделано. Если она закончит это, вычеркни это из своего списка задач.

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

Обычно это называется командной работой - если вам не нравится ее направление, в чем проблема?

Для людей, спрашивающих о качестве: Обычно это довольно хорошо, но: также требуется много рефакторинга кода, включая код, «принадлежащий» другим членам команды, без учета покрытия тестами, с очевидными результатами.

«В собственности» и код не идут вместе. Если у вас возникли проблемы с тем, чтобы не отставать, попросите ее объяснить это вам. Попросите ее наставить вас, поскольку это звучит так, как будто она довольно продуктивна. Используйте отношения и работайте вместе.

Что касается тестового покрытия, если это стандарт в вашей организации - представьте его своему руководителю / менеджеру. Быстрая, но скудная работа никому не нужна. Хотя, если она в 10 раз продуктивнее вас - вы можете в конечном итоге выполнить основную работу по уборке после нее. Если это так, инвестируйте еще больше в отношения с ней.


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

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

В любом случае, Лучше всего вы начнете оценивать себя первыми. Поскольку ваши попытки « разобраться » с ней могут не сработать с руководством.


3

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

Ключевые вещи выскакивают у меня:

  • У нее есть талант, чтобы делать работу быстрее, чем другие (вы ничего не подразумевали, что ее код плохой)

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

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


1
Если вы прочитаете книги DeMarco, вы увидите, что соотношение между количеством, которое могут произвести хорошие и не очень хорошие разработчики, составляет около 10: 1. Последнее, что вы хотите сделать, - это нанести вред посторонним, кто делает больше, чем другие, вам нужно использовать эту энергию и направить ее туда, где она принесет наибольшую пользу.
quick_now

2

Начните команду, занимающуюся парным программированием.

Во-первых, парное программирование утомительно, особенно для интровертных разработчиков, которые любят работать все выходные самостоятельно. Ее выходные станут ценными для отдыха, как и должно быть.

Во-вторых, она будет передавать знания (до тех пор, пока на них будет ездить больше начинающих разработчиков) и, таким образом, распространять свои поразительные способности на остальную часть команды.

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

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

В-пятых, она научится играть в команде . Вполне возможно, что демотивация, которую она вызывает, вместе с дублированием работы других членов команды, стоит больше, чем она производит. Производительность! = Эффективность.

В-шестых, качество кода обычно повышается, когда пара разработчиков. Хороший побочный эффект.


1

Знает ли она, что делают люди и как продвигаются? Может ли руководство дать ей указания, чтобы она не дублировала работу других людей? Я хотел бы предложить поговорить 1: 1, прежде чем привезти руководство, поскольку, возможно, она просто трудоголик, который может использовать направление, чтобы знать, что может быть важно, что другие не делают, что может быть весьма полезно для нее. делать.

Что касается вашей работы впустую, посмотрите на это с другой точки зрения. Что вы могли бы узнать из того, что вы сделали? Какие части ты не выполнил и как она их сделала? Только потому, что кто-то другой может взять на себя ответственность за то, что он что-то сделал, не думайте, что вся кровь, пот и слезы ни к чему.


0

Ковбой кажется восторженным. Я подхожу к руководству, чтобы они могли дать ей кучу работы и позволить вам, ребята, заниматься своими делами. Тем не менее, может быть, вы могли бы узнать кое-что от ковбоя. Я не говорю, что 80-часовая рабочая неделя должна быть нормой (очевидно, это преувеличение), но использование дополнительных часов на работе является довольно нормальным явлением в большой корпоративной среде.


5
Использование длительных часов программирования, как правило, в конечном итоге приводит к обратным результатам.
Дэвид Торнли

@ Дэвид: Нет, если тебя устраивают каждую вторую пятницу :)
Брайан,

2
@ 0A0D: это гибкий подход, а не «тратить лишние часы на работе»
Carson63000

3
@OAOD: Любой магазин, в котором люди регулярно работают сверхурочно, - это магазин пота.
bit-twiddler

@ bit-twiddler: Никогда не слышал о наемных работниках?
Брайан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.