Що я можу зробити? Як би ви відреагували? ДОПОМОГА! [зачинено]


13

Я намагаюся очолити команду програмного забезпечення, яка відстає. Однією з головних проблем є те, що кожного разу, коли щось м'яко важко, я в кінцевому підсумку мушу призначити це собі. У мене був ще один розробник із помірними навичками та половиною стажиста. На жаль, навички інших розробників не включають дизайн.

Тому я благав свого начальника про одного з хлопців в одній з інших команд, він працює тут довше, ніж я (5 років). Він не може конкурувати зі мною по дизайну АБО мові, якою ми користуємось, але я вважав, що він, крім мене, є найбільш компетентним.

Сьогодні він подарував мені фрагмент коду, який зробив щось не в чомусь схоже на:

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

Він запитав мене, чи це проблема! Я сказав єдине, про що я міг придумати: "Так. Це проблема". Потім він підходить до мого столу, питаючи мене, як це виправити !! Я сказав: "Використовуйте об'єкт, який переживає виклик функції". Потім він починає лякатися: "Так, але як, єдине, про що я можу придумати - це зробити змінну члена".

Я в цей час був трохи зайнятий, тому що я вже намагався заповнити зайву роботу, я повинен був взяти на себе іншого хлопця в команді, оскільки він не міг цього зрозуміти ... Я сказав хлопцеві піти, бо я був зайнятий і сам розібратися в цьому. Потім він залишає в хафф, розмовляючи про те, як це не його вина, якщо він накручує речі. Він боїться відтоді, як прийшов у команду, і я не думаю, що стає краще.

Я відчуваю, що тут тону. ЧТО я можу зробити? Який був правильний спосіб боротьби з цим? Чи було б розумніше звернутися за допомогою до цього хлопця, який 7 років пише С ++, розібратися, як правильно повернути посилання на об’єкт, який не знищується в момент повернення? Мені здається, що це просто смішно робити, і дивуюсь, як, пекло, я все зробив так.

Іноді я думаю, що вони роблять це цілеспрямовано, але мені здається, що я просто збився ... але знову ж таки, так це питання, яке я щойно задав сьогодні. Це не якийсь хлопець, який сидів вдома, намагаючись розібратися в першій програмі, у якого мізок роздутий вказівниками.


4
СКРЕЙМ !!! І їхати на мітингу. Це змушує себе почувати себе краще. О, зачекайте, я бачу, ви вже робили це. Спробуйте посміхатися. :): D (Злі посмішки теж нормальні.>: D)
Mateen Ulhaq

Він щойно надіслав мені повідомлення про те, що у мене було "сильне бажання не перебивати", він не міг продовжувати і повертався до іншого проекту: p

7
Чому той, хто не має найменшого розуміння покажчиків та управління пам’яттю, працює над проектом C ++?
Чарльз Сальвія

2
Одне з можливих пояснень: протягом багатьох років популярною мудрістю було те, що STL не готовий до прайм-тайму, і він буде створювати код, занадто роздутий для виробничого використання. Раніше це було відносно досконалим програмістом на C ++, не знаючи взагалі про STL. Очевидно все змінилося. Однак, якщо він пройшов підготовку в кінці 90-х або підручив когось, хто навчався в кінці 90-х, він може гарненько отримати новий об’єкт (), але бути абсолютно не зачепленим цим новомодним STD :: unique_ptr <object> () річ. Це не вирішує вашу проблему, але може пояснити, звідки він походить.
Чарльз Е. Грант

2
@Charles: погодився, я маю кілька років досвіду роботи на C ++ у галузі ігрової індустрії, і ніколи не торкався STL і нічого про це не знаю. Дивлячись на той фрагмент коду вище, все, що я можу зробити, це похитати головою і подумати, "якщо ви хочете писати на C ++, пишіть C ++, але це виглядає так, що ви не хочете писати C ++, то чому б не просто використовувати більш високий рівень" мову?"
Carson63000

Відповіді:


14

Чи було б розумніше звернутися за допомогою до цього хлопця, який 7 років пише С ++, розібратися, як правильно повернути посилання на об’єкт, який не знищується в момент повернення?

Я віддав всі свої книги на C ++ кілька років тому, присягаючись, що більше ніколи не торкаюся цієї мови, і навіть можу сказати, що цей хлопець не знає, що він робить. Я думаю, вам слід сісти з ним і дізнатися, який рівень його вміння.

Це здається, що, можливо, у нього 1 рік досвіду сім разів - не сім років досвіду. У великих компаніях цілком можливо, що некваліфіковані працівники ховаються та пересуваються "навколо системи", коли їх потрапляють.

Я намагаюся очолити команду програмного забезпечення, яка відстає. Однією з головних проблем є те, що кожного разу, коли щось м'яко важко, я в кінцевому підсумку мушу призначити це собі.

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

Взяти всю роботу над собою означає, що ти не маєш команди, а також не маєш довіри до них. Це має виправитись спочатку.


7
+1 за "здається, що, можливо, у нього є один рік досвіду сім разів".
Матвій

@Matthew: так правда.
IАнотація

13

Цей вид питання - хліб та масло господарювання. Одне запитання, яке повинні задати всі менеджери, - це "чи мої люди мають навички, необхідні для виконання роботи? Якщо відповідь «ні», хороший менеджер не кричить і не кидає - хороший менеджер іде на виправлення ситуації.

Ось одне спостереження - C ++ не є тривіальною мовою, тож чи можна використовувати щось, у чому ваші молодші розробники є більш компетентними? Якщо він повинен бути на C ++, то вам потрібно або навчити своїх існуючих розробників, або найняти нових розробників з відповідними навичками.

Рік тому я опинився в не різній ситуації. Мене залучили очолити команду програмістів VB6, які працюють над кодом спагетті, і бажання управління полягало в тому, щоб перейти до добре архітектурних, об'єктно-орієнтованих систем, написаних у .NET. Ми досягли неабиякого прогресу в цій галузі, тому можливі такі зміни .

Один заключний коментар. Якщо вам не подобається займатися подібними питаннями, я б вийшов з менеджменту і повернувся до суто технічної ролі. Ці різновиди безладних пробеллів - це хліб та масло в житті менеджера, і це підходить не всім.


4
Це гарний приклад уявлення про керівництво, яке, здається, не має багатьох працівників.
Марк C

Так, я не керую. Іноді мені хочеться, щоб я був таким, що я мав би більше працювати над цими питаннями. Інший раз я дуже радий, що це не так, бо мені цього не потрібно. Я просто технічний керівник.
Едвард Странд

1
Привіт Ное, я б поспілкувався з тим, хто керує командою - вони несуть відповідальність за те, щоб переконатися, що потрібні люди та мають правильні навички.
Крейг Шварце

9

Знайдіть роботу в кращій компанії, де ви можете працювати з компетентними людьми.


7
Або, альтернативно, припиніть використовувати C ++. Це дозволить вирішити багато різних класів неприємних помилок.
Мейсон Уілер

3
@ Мейсон: я згоден. Усі пишуть C # і будьте щасливі. :)
IАнотація

2
C ++ слід використовувати лише там, де C ++ підходить. Я не знаю жодної існуючої мови, яка могла б так добре виконати роботу C ++.
Матвій

2
@Matthew читав, з програмістами, які настільки ж некомпетентні, як у прикладі ОП, буде C ++ КОЖО?
Дан Розенстарк

4
@Yar: Хоча поганий програміст пише поганий код усіма мовами.
Джон Перді,

7

Правильним було б допомогти йому у вирішенні проблеми. Це не повинно бути прямо на місці. Ви могли б сказати: "Я зараз зав'язаний. Іди, читай Главу X С ++ STL, і давайте знову торкнемось бази вже завтра о 11 ранку."

Кричати може спрацювати для деяких людей та деяких ситуацій, якщо це лише питання мотивації. Але, якщо мова йде про компетенцію чи знання, кричати на людей і видувати їх зовсім не допомагає. Це як кричати на людей, які не розмовляють англійською. це не допомагає їм зрозуміти, що ви намагаєтеся сказати, і це може вбити будь-яку мотивацію, яку вони мають намагатися допомогти вам. Вони знаходяться там, де вони є, і жодна кількість гніву чи розчарування з вашого боку не допоможе їм краще писати C ++ протягом наступних 48 годин. Можливо, вам також доведеться повернутися до управління та пояснити, що обсяг проекту виходить за межі поточної майстерності вашої команди. Такі речі, тому бути лідером команди - це важко.


Я не кричав. Я щойно сказав, я зараз зайнятий. Я його здував, хоча.
Edward Strange

3
@Noah, я там не був, ти був, тому я поступаюся. Поміркуйте це: люди, настільки розчаровані, що думають, що люди навмисно роблять дурні речі, а не тупо роблять дурні речі, як правило, говорять дуже напруженим голосом крізь стиснуті зуби, думаючи, що вони посміхаються і глухо тонують. Інша людина також може бути настільки напружена, що почує: "Не могли б ви повернутися через 10 хвилин?" як "Дістань фрак з мого кабінету, ти смітник!". Бути керівником команди часто все стосується маніпулювання поведінкою приматів через мову тіла та голос.
Чарльз Е. Грант

3

Ну, якби у мене хтось, хто вже 7 років пише код, запитав щось, що звучить досить елементарно, я мав би задуматися, що ще відбувається. Я не програміст на C ++, тому не можу коментувати цей аспект.

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

Виділіть мить, щоб поговорити з ним, і дайте йому знати саме тоді: "Я розумію вашу терміновість з цього приводу, але в мене зараз немає часу на це. Як тільки я це зроблю, я повідомляю вам про це. Я би сподівався не довше приблизно години ».

Таким чином ви донесли своє розуміння його терміновості, що у вас немає часу і що ви повернетесь з ним. Навіть настільки, як сподівання, коли ти повернешся з ним. Він почуватиметься в цьому набагато краще, ніж його розстрілюють (саме так я б це сприйняв).

Те, що вам слід зробити зараз, виділіть деякий час і дайте йому знати, коли ви можете поговорити з ним про цю проблему. Зворотній шлях і проковтнути деяку гордість, дайте людині зрозуміти, що ви розумієте його терміновість і просто не встигли впоратися з цим. Ви також повинні побачити, чи є у нього щось в особистих сферах, що могло б вплинути на його увагу - тобто, що ще може його відволікати. Особисте життя впливає і на нас, програмістів. ;)


2

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.