Что я могу сделать? Как бы вы отреагировали? ПОМОГИТЕ! [закрыто]

13

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

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

Сегодня он дал мне кусок кода, который сделал что-то совсем не похожее на:

object const& my_class::get_object() const 
{ 
  return *std::unique_ptr<object>(new object());
}

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

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

Я чувствую, что тону здесь. Что я могу сделать? Каков был правильный способ справиться с этим? Разве разумнее было бы помочь этому парню, который 7 лет писал на С ++, понять, как правильно вернуть ссылку на объект, который не был уничтожен в момент его возвращения? Я чувствую, что это просто смешно, и я удивляюсь, как, черт возьми, я могу что-то сделать таким образом.

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


источник
4
КРИК !!! И пойти на разгул. Это заставляет вас чувствовать себя лучше. Ой, подожди, я вижу, ты уже делал это. Попробуй улыбнуться. :): D (Злые улыбки тоже в порядке.>: D)
Матин Улхак
Он только что прислал мне письмо, в котором говорилось, что, поскольку у меня было «сильное желание не прерываться», он не смог продолжить и возвращался к другому проекту: p
7
Почему тот, кто не имеет ни малейшего понимания указателей и управления памятью, работает над проектом C ++?
Чарльз Сальвия
2
Одно из возможных объяснений: в течение многих лет популярная мудрость заключалась в том, что STL не был готов к прайм-тайму и будет производить код, слишком раздутый для производственного использования. Раньше можно было быть довольно искушенным программистом на C ++, совсем не зная о STL. Очевидно, что все изменилось. Тем не менее, если он обучался в конце 90-х или обучался кем-то, кто обучался в конце 90-х, он может просто отлично взяться за новый объект (), но не быть полностью привязанным к этому новомодному std :: unique_ptr <object> () штучка Это не решит твою проблему, но может объяснить, откуда он.
Чарльз И. Грант
2
@Charles: согласен, у меня есть несколько лет опыта C ++ в игровой индустрии, и я никогда не касался STL и ничего не знал об этом. Глядя на этот фрагмент кода выше, все, что я могу сделать, это покачать головой и подумать: «Если вы хотите писать C ++, пишите C ++, но похоже, что вы не хотите писать C ++, так почему бы просто не использовать более высокий уровень язык?»
Carson63000

Ответы:

14

Разве разумнее было бы помочь этому парню, который 7 лет писал на С ++, понять, как правильно вернуть ссылку на объект, который не был уничтожен в момент его возвращения?

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

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

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

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

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

Tangurena
источник
7
+1 за "звучит так, как будто у него есть 1 год опыта семь раз".
Мэтью Прочитал
@ Мэтью: так верно.
IAbstract
13

Такая проблема - хлеб с маслом управления. Один вопрос, который нужно задать всем менеджерам: «Есть ли у моих людей навыки, необходимые для работы?» Если ответ «нет», хороший менеджер не кричит и не уходит - хороший менеджер исправляет ситуацию.

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

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

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

Крейг Шварц
источник
4
Это хороший пример управления, которого многие сотрудники, похоже, не имеют.
Марк С
Да, я не менеджер. Иногда мне бы хотелось, чтобы у меня было больше возможностей работать над этими вопросами. В других случаях я действительно рад, что я не потому, что мне не нужно. Я просто технический руководитель.
Эдвард Стрендж,
1
Привет, Ной, я бы поболтал с теми, кто руководит командой, - они несут ответственность за то, чтобы нужные люди были в наличии и имели нужные навыки.
Крейг Шварц
9

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

Мэтью Рид
источник
7
Или, альтернативно, прекратить использование C ++. Это решит много разных классов неприятных ошибок.
Мейсон Уилер
3
@ Мейсон: я согласен. Все пишут на С # и будут счастливы. :)
IAbstract
2
C ++ должен использоваться только там, где уместен C ++. Я не знаю ни одного существующего языка, который мог бы выполнять работу C ++ так же хорошо, как он.
Мэтью Читал
2
@ Матфея читал, с программистами, которые столь же некомпетентны, как в примере OP, C ++ когда-либо будет уместным?
Дэн Розенстарк
4
@ Яр: Хотя плохой программист пишет плохой код на каждом языке.
Джон Пурди
7

Правильнее было бы помочь ему с проблемой. Это не должно быть прямо на месте. Вы могли бы сказать: «Я прямо сейчас связан. Читайте главу X C ++ STL, и давайте снова коснемся завтра в 11 утра».

Крики могут работать для некоторых людей и в некоторых ситуациях, если это просто вопрос мотивации. Но, если это вопрос компетентности или знания, кричать на людей и отмахиваться от них совсем не поможет. Это как кричать на людей, которые не говорят по-английски. это не поможет им понять, что вы пытаетесь сказать, и это может убить любую мотивацию, которую они должны попытаться помочь вам. Они там, где они есть, и никакие гнев или разочарование с вашей стороны не улучшат их в написании C ++ в течение следующих 48 часов. Возможно, вам также придется вернуться к руководству и объяснить, что масштаб проекта выходит за рамки текущих навыков вашей команды. Такие вещи, как то, почему быть лидером команды сложно.

Чарльз Э. Грант
источник
Я не кричал. Я только что сказал, я сейчас занят. Я все равно сорвал его.
Эдвард Стрендж
3
@ Нет, меня там не было, так что я сдаюсь. Однако подумайте об этом: люди, которые так расстроены, что думают, что люди намеренно делают глупости, а не тупо делают глупости, склонны говорить очень напряженным голосом сквозь стиснутые зубы, думая, что они улыбаются и тонируют. Другой человек также может быть настолько взволнован, что слышит: «Не могли бы вы вернуться через 10 минут?» как "Убирай мусор из моего офиса, грязная сумка!" Быть лидером команды часто означает манипулирование поведением приматов с помощью языка тела и тона голоса.
Чарльз И. Грант
3

Ну, если бы у меня был кто-то, кто писал код в течение 7 лет, спрашивал что-то, что звучало бы довольно просто, мне пришлось бы задаться вопросом, что еще происходит. Я не программист C ++, поэтому я не могу комментировать этот аспект.

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

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

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

Что вы должны сделать сейчас, так это выделить некоторое время и дать ему знать, когда вы сможете поговорить с ним об этой проблеме. Отойдите назад и проглотите некоторую гордость, дайте человеку понять, что вы понимаете его срочность, и у вас просто не было времени с этим справиться. Вы также должны посмотреть, есть ли у него что-то в его личных областях, что может повлиять на его внимание - то есть, что еще может отвлекать его. Личная жизнь влияет на нас, программистов, тоже. ;)

IAbstract
источник
2

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

sevenseacat
источник