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

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

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

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

Однако за два месяца команда стала гораздо меньше ценить его профиль. У меня была возможность поговорить с тремя из пяти членов этой команды, и все они выделили три вопроса:

  • По их словам, парень грубиян и не имеет никакого уважения к другим членам коллектива. Одна недавняя цитата из его разговора с младшим программистом перед командой очень показательна: «Я проработал в этой отрасли двадцать пять лет, а вы? Что вы наделали? Ты был кодовой обезьяной в течение трех лет. Так что заткнись, ты, придурок! Никому нет дела до твоего мнения, *****».

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

  • Раньше решения принимались всеми членами команды. Когда участники не соглашались, они обсуждали все это вместе и приходили к соглашению или, по крайней мере, объясняли причины тем, кто не соглашался.

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

  • Навыки и практика старшего разработчика кажутся немного... устаревшими. Несколько примеров:

    1. Он ненавидит IDE, автодополнение и функции, призванные помочь программистам писать код быстрее, и утверждает, что для продуктивной работы команда должна использовать Notepad++. Хотя это имеет смысл в других обстоятельствах, трудно представить, чтобы разработчики C# вдруг отказались от Visual Studio в пользу Notepad++.

    2. Он не занимается рефакторингом кода и не заботится о стиле (который несовместим с его собственным кодом) по той причине, что «он заботится только о вещах, которые действительно имеют значение». Кстати, стиль ранее проверялся ночной сборкой, которая начала давать сбои с приходом нового лида.

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

    4. Он считает, что контроль версий в основном бесполезен, и, кажется, неправильно понимает, как его использовать. Это приводит к ситуациям, когда он разрабатывает фичу в одиночку три-пять дней, а когда, наконец, коммитит свои изменения, то и вовсе «забирает мое» за все конфликты. Если другие члены команды жалуются, что их код был стерт, он предлагает им переписать его. Несколько раз другие участники делали то же самое, удаляя код ведущего разработчика. Он выглядел удивленным (похоже, он не знает, как использовать svn logили различать) и снова внес свои изменения, жалуясь, что «они были загадочным образом потеряны» и обвиняя SVN в том, что он облажался.

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

    6. Он пишет весь SQL вручную и отвергает идею ORM. Следует отметить, что текущий продукт основан на ORM Entity Framework от Microsoft, и двое из пяти разработчиков никогда раньше не использовали SQL.

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

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

    9. Он просит команду перестать пользоваться интернетом (особенно StackOverflow) и полагаться на свои мозги, офлайн-документацию (я даже не знал, что Microsoft до сих пор продает компакт-диски MSDN!) и книги.

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

Что нужно сделать команде, чтобы:

  • Либо выбросить лидера из команды или компании,

  • Или заставить его изменить свое отношение к команде?


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

  • Какая структура компании над ним? Кто его выше?

    Учитывая крошечный размер компании, структура довольно плоская. На самом верху находится основатель компании. А еще есть сотрудники, которые подчиняются непосредственно учредителю. Юридически новый лидер находится на том же уровне, что и оставшиеся пять членов команды. Например, у него нет полномочий уволить члена команды или даже перевести его в другую команду.

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

    Собственно, именно так я и пытался представить тему. Лично я считаю, что некоторые из этих девяти пунктов имеют смысл, но не в контексте нынешней команды. Например, моей основной средой разработки является vi, но я не буду заставлять разработчика C# использовать viвместо Visual Studio, а также не буду использовать viсебя при разработке приложений C# для Windows.

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

    Правда, мне тоже не очень понятно. Стоит ли упоминать, что он знает КОБОЛ?...

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

    Моя роль консультанта по производительности ИТ означает, что меня вызывают, когда компании испытывают трудности со своими командами разработчиков. Больше половины случаев приходится на неопытных и зачастую демотивированных программистов, вынужденных работать над хреновым кодом скучного программного продукта. Другая часть, однако, имеет дело с конфликтными ситуациями, сильной политикой, взаимным непониманием и общим беспорядком. Поэтому я действительно сталкиваюсь с ситуациями в стиле TheDailyWTF гораздо чаще, чем обычные разработчики, поскольку на самом деле моя работа заключается в том, чтобы быть там, где происходит WTF.

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

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

  • Звучит немного странно, что кажущаяся проблема связана с новым руководителем и что нет кажущейся проблемы с людьми, работающими под его началом (такими как вы). Прав ли был основатель, когда был недоволен нынешней командой? Если нет, то зачем он?

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

    Думаю, основатель абсолютно прав, что недоволен нынешней командой. У четверых разработчиков мало опыта программирования в целом и C# в частности. Пятый более опытен, и именно он изначально настаивал на использовании контроля версий, настраивал ночную сборку и т. д. Тем не менее, общий уровень команды не так высок, как нужно для качественной сборки продукта, который они создают. прямо сейчас.

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

  • Почему кто-то должен возражать против использования Интернета для получения помощи по проблемам с программным обеспечением?

    Я не знаю официальной причины, но могу предположить, что ведущий разработчик всегда так делал и считает, что качество StackOverflow уступает официальной документации MSDN.

  • Случалось ли когда-нибудь, что целью этого парня является уход из команды?

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

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

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

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат . Если вы хотите потроллить ОП, это неприемлемо. Если вы хотите ответить на них, используйте поле «Ответить». Если вы хотите поговорить обо всех других темах, о которых я удалил комментарии, таких как политика, любимые веб-сайты или инструменты разработки, перейдите по предоставленной ссылке чата.
Я не мог не заметить, что в вашем профиле есть то, что, вероятно, является вашей собственной фотографией. Боссман не обрадуется, если наткнется на него. Например, когда коллега подсказывает ему.
Напоминание: этот вопрос основан на интерпретации постером интерпретации ситуации другом. Это два уровня возможного непонимания. Мы можем ответить на это как написано, но есть реальный риск, что конкретные ответы не будут хорошо соответствовать тому, что происходит на самом деле. Осторожный лектор.
The four developers have little experience in programming in general, and C# in particular.Ну кто их нанял и зачем?
ОП: Не могли бы вы уточнить, кто нанял вас для оценки этой команды? Был ли основатель нанял вас для консультирования по этому делу? Если это так, то это может быть хорошим признаком того, что он осознает, что, возможно, допустил ошибку при выборе нового ведущего разработчика, что весьма существенно повлияет на правильный ответ на этот вопрос, IMO.
Знаете ли вы, намеревается ли компания быть куплена в будущем? Такой элемент, как контроль версий, может иметь значение для венчурного капитала или покупателя. Понимает ли генеральный директор «бизнес»?
Большинство ответов сосредоточены на технических аргументах или групповой динамике. Однако хочу отметить важную деталь: это ситуация во Франции , во французской компании. AFAIK Французский трудовой кодекс очень затрудняет увольнение работника. Возможно ли, что смысл этой установки в том, чтобы заставить команду разработчиков уйти, чтобы их не пришлось увольнять?
Голосуйте за закрытие как не по теме, потому что совершенно неясно, какова ваша позиция и варианты. "Должен выбросить свинец?" ДА, КОНЕЧНО, если это вариант, почему вы вообще удосужились опубликовать это. Если это не вариант, пожалуйста, объясните нам, что вы хотите сделать и что вы можете сделать.
И все же не менее 10 человек нашли ответ на вопрос, на который почти 200 человек сочли БЫЛ хорошим вопросом. Мне интересно, должна ли быть причина закрытия, которая гласит: «Хотя 200 человек это понимают, я и еще 4 человека не понимают, поэтому закройте это».
Звучит так, как будто вы пытаетесь быть честным, и даже когда вы представляете недостатки этого парня... если вы так представляете это основателю компании, вы никогда не увидите никаких результатов. Перечисленные вами проблемы нетривиальны и требуют решения.
RE: «Кое-что из того, что вы говорите о баллах против него, на самом деле является баллами для него. Я имею в виду, что он прав по крайней мере в половине из них» — гм, в каких? Я вижу каждого из них довольно ужасным, за исключением, может быть, оптимизаторов кода...
Неправильно говорить «коллега», как будто вы работаете в отделе. Вы должны сказать, что вы консультант по продуктивности, приглашенный, чтобы исправить это, и да, это реальная ситуация. В конечном счете, вы не принимаете никаких решений, только рекомендации. Вы не сказали нам, каковы ваши критерии выбора между вариантами. (Вы уполномочены поговорить с этим парнем и сказать ему, почему люди им недовольны? Направить его к психологу? Или что?) В любом случае, я попытался отредактировать его, чтобы прояснить это. Но в конце концов вы не сказали нам, какова ваша функция в этой ситуации, так что это не настоящий вопрос.
Когда вы говорите: «Увольнение членов команды принесет огромную финансовую выгоду небольшой компании, которая может быть не в состоянии позволить себе их увольнение. Как только эти программисты уйдут, компания может нанять более опытных разработчиков и перевести диву разработчиков в другую команду». это похоже на то, что вы троллите или легкомысленно. Нам до сих пор неясно, какова ваша роль в этом. Если функция старшего разработчика состоит в том, чтобы уничтожить эту команду и заставить младших уволиться добровольно, то чего начальник ожидает от вашего участия?
Новый руководитель команды, хотя и токсичен, но является отвлекающим маневром; настоящая проблема заключается в владельце, который не знает, как управлять персоналом, и ему необходимо нанять кого-то (с посторонней помощью) для выполнения этих функций (см. мой ответ ниже для моих рассуждений).

Ответы (9)

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

Сказал главный парень. Это не правительство и не политическая партия. Вы не можете никого выгнать или возглавить восстание.

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

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

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

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

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

БЕГИТЕ Серьезно, я не знаю, зачем кому-то хотеть быть там. Спросите себя, есть ли в том, что вы сказали нам, что-то, что не означает гибель продукта? Я уверен, вы знаете это. Если на то пошло, я сомневаюсь в базовом интеллекте основателя. Из разработчиков обычно получаются очень паршивые менеджеры проектов/программ. Это отдельный набор навыков, и они должны уравновешивать друг друга. Это как сказать «нам не нужны отдельные тестировщики, отлично работает тестирование разработчиков». Оба являются рецептами катастрофы. Удачи. Я имею в виду, что.

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
С основателем, который так безоговорочно доверяет новому сотруднику, несмотря на то, что у него нет возможности судить о его способностях, с ним не стоит спорить. Согласен, бегите при первой удобной возможности. Для разработчиков есть работа получше.
@Magisch Я видел, как этот сценарий разыгрывался много, много раз в моей карьере. Парня с впечатляющим резюме (или умеющего продавать себя) нанимают, и он не является «золотым мальчиком». В каждом отдельном случае GB теряет свой блеск и также оказывается в ауте. К сожалению, обычно это происходит после того, как он уничтожил свою команду (именно так он прикрывается, когда впервые начинает демонстрировать свою некомпетентность).
Вы выглядите молодо для 30 лет в IT.
@tuskiomi этой фотографии пару лет, но я все равно всегда выглядел молодым. Я получил карту в свои 30 лет. Моя первая работа в сфере ИТ (тогда мы называли ее DP) была в 1986 году, так что сейчас мне 30 лет. Честно говоря, это кажется невозможным, но моим первым проектом была установка Advanced Netware 2.0a на новом сервере Limited (Dell) 386-16 с 2 МБ ОЗУ и двумя полноразмерными дисками по 70 МБ на тонкой магистрали Ethernet. :)
@ChristopherEstep смешно думать, что сегодня требуется всего пара секунд (если это), чтобы загрузить достаточно, чтобы заполнить весь этот жесткий диск.
Я понимаю, что в первоначальной версии ОП упущена важная деталь: она не сотрудник, а консультант, приглашенный (предположительно) для решения этой проблемы. Сказать ей убежать от проблемы на самом деле не помогает, что делает ее еще более странной, что она «приняла» ответ! Не критикуя ваш ответ, конечно, он как всегда превосходен, просто указываю на то, что я нашел странным.

Описание ситуации ОП, вероятно, одностороннее. Все нормально.

Я стареющий разработчик (~ 54 года), которого пригласили в компанию не для того, чтобы управлять, а для того, чтобы дать некоторый опыт. (ИТ-босс на самом деле сказал «седые волосы», лол.) В целом команда разработчиков была гораздо более искусной, чем любая команда, с которой я работал раньше. Они многому меня научили, особенно смирению! Но мы нашли места, где их технологическое волшебство не решало проблемы, а в некоторых случаях скрывало эти проблемы, в конечном итоге усугубляя их. Здесь я действительно смог внести свой вклад.

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

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

Он ненавидит IDE

Я знаю несколько таких. Это заставляет меня закатить глаза, но в конечном счете мне все равно. Если люди производят с помощью vi, то ок. Я люблю свои IDE.

Он не рефакторит код и не заботится о стиле (что несовместимо с его собственным кодом).

Красный флаг в первой части. Он копипастер? Я также виноват в том, что не забочусь о стиле, но это потому, что я использую свою IDE, чтобы мгновенно сделать свой код Python совместимым с PEP8. Но он не использует IDE...

Кстати, стиль ранее проверялся ночной сборкой, которая начала давать сбои с приходом нового лида.

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

Это также вызывает тревогу, но по другим причинам, чем вы могли ожидать. До того, как этот парень был нанят, сколько раз владельцу говорили, что он не может сделать X (показать демо, использовать систему и т. д.), потому что ночная сборка не удалась? Что, если владелец поймет, что проблема заключается в ночной сборке? Как вы думаете, что он сказал бы Лиду сделать?

Но меня беспокоит отношение Лида; автоматические тесты потрясающие. Как и прежде, босс может не понимать ценности тестов, но он точно знает, что Y% зарплаты разработчиков идет на их оплату. Когда я пришел в свою нынешнюю компанию, «мафия со 100% охватом тестами» взяла на себя штат разработчиков и значительно увеличила расходы. Одно плохое яблоко спустя, и команда разработчиков снова замурлыкала.

Он думает, что контроль версий в основном бесполезен...

Это красный флаг высшего порядка. Он максимально неправ. Он безответственно относится к деньгам владельца.

Он преувеличивает важность оптимизации кода.

Раньше оптимизация кода могла иметь значение. Теперь машины настолько быстры, что это менее важно. Вместо этого теперь нам нужно беспокоиться о производительности базы данных и пропускной способности сети. Но его привычку «оптимизировать код» трудно сломать, поверьте мне. Приходится заставлять себя не предварительно оптимизировать. По крайней мере, его поведение в данном случае не является деструктивным, за исключением отнятого времени. (Есть ли у вас цифры для его «половины рабочего времени» или это преувеличение? Если вы критикуете своего начальника, нельзя допускать никаких преувеличений. Вы должны быть патологически объективны.)

Он пишет весь SQL вручную и отвергает идею ORM.

Виновен по обвинению! Я не понимаю страх людей перед SQL. Я не понимаю, как хоронить SQL, который очень прост, под слоями ORM, которые запутывают. Не могу вам здесь помочь :-D Но, пожалуйста, свалите весь свой SQL в одно место - не распределяйте его по всему коду.

и двое из пяти разработчиков никогда раньше не использовали SQL.

Это неприемлемо. Это 2016 год. Им нужно повышать квалификацию.

Он отвергает фреймворки и сторонние библиотеки, считая, что гораздо проще писать что-то с нуля.

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

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

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

Мы используем AngularJS, и это кажется приличным. Как и все мощные инструменты, его можно использовать во благо или во зло.

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

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

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

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

Он просит команду перестать пользоваться интернетом (особенно StackOverflow) и полагаться на свои мозги, офлайн-документацию (я даже не знал, что Microsoft до сих пор продает компакт-диски MSDN!) и книги.

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


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

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

Теперь, что вы можете сделать?

1) Объясните лиду, что использование автоматизированного тестирования и управления кодом — это правильный путь. Может потребоваться время, чтобы завоевать доверие с ним - владелец, вероятно, сказал ему, что посох неисправен. Посмотрите, сможете ли вы помешать ему давать широкие указания, такие как «удалить всю эту бесполезную тестовую хрень и перепрофилировать сервер SVN». Это даст вам время показать ценность.

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

3) Продолжайте автоматизированное тестирование (или модульные тесты) на личном уровне. Как и раньше, не упоминайте об этом, но и не скрывайте.

4) Работайте с Лидом, чтобы определить, каковы фактические предполагаемые проблемы. Будьте открытым; Могу поспорить, что есть реальные проблемы с персоналом. Работайте с лидом, чтобы решать проблемы, а не симптомы.

5) Обсудить с руководителем различные темы разработки, такие как преимущества водопада и agile. Ни то, ни другое не идеально. Задайте ему такие вопросы, как «При каких обстоятельствах автоматизированное тестирование будет целесообразным»? Если он дает сомнительный ответ, спросите его, как успешные компании, такие как Google, смогли процветать, несмотря на это.

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

Есть шанс, что он не сможет пойти на компромисс. Он сокрушит автоматизированное тестирование. Управление кодом для нерадивых людей. Мой путь или шоссе.

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

Насчет оптимизации кода во многом согласен (хотя исключения конечно есть). Оптимизация алгоритма, это отдельная история. Обычно мне все равно, использую ли я 32-битную или 64-битную целочисленную переменную для хранения некоторого количества; если я думаю, что есть риск, что 32 бита будет недостаточно, я буду использовать 64 бита и больше не буду об этом думать. Однако невозможно заставить программу работать хорошо, если вы используете алгоритмы O (n ^ 3) или O (n ^ 4) для больших наборов данных, где можно выполнить работу за O (n ^ 2) или, может быть, даже O ( n журнал n). Ничто из того, что вы делаете для реализации O (n ^ 4), не может принести вам O (n log n).
Без ORM написание кода для воссоздания иерархии, такой как заказ -> отгрузка -> товар, может занять несколько часов. С ORM это занимает минуты. Просто вытащите заказы, предварительно загрузите поставки и товары.
@MichaelKjörling, но обычно это не та оптимизация, которую вы делаете с помощью Profiler и «исправления» медленного кода. Если вы пишете алгоритм, вы должны ЗНАТЬ производительность и реализовывать ее подходящим образом. Профилировщик поможет вам найти медленные части в чужом коде (других разработчиков, но особенно сторонних библиотек) и ошибки. И обычно эти проблемы надо решать по мере их возникновения. Просто найти «медленный код» и исправить его без какой-либо цели по производительности дорого и не поможет вам, если, например, ваш серверный процессор в любом случае простаивает 70% времени.
@Джозеф, я согласен! Трата времени на исправление вещей, которые не являются проблемами, очень часто является пустой тратой времени. Но я не согласен с тем, что вы не определите такие проблемы с помощью профилировщика. Цель профилировщика — идентифицировать сегменты кода, выполнение которых занимает слишком много времени во время определенного рабочего процесса. Следующим шагом после этого является определение того, является ли это длительное время выполнения проблемой, и если да, то почему и что с этим делать. Профилировщик предоставляет необработанные данные о времени выполнения в качестве входных данных для этого процесса, но тогда нет смысла вносить небольшие корректировки, если алгоритм не работает.
Мне всегда нравится, когда у меня получается решать проблемы с помощью разумного использования SQL. SQL — это очень простой способ получить то, что вы хотите, и никакой ORM-фреймворк не может быть проще, imo.
Я не могу согласиться с вашим мнением о сыром SQL. Я согласен с тем, что каждый серьезный разработчик должен знать SQL и иметь представление о SQL при использовании ORM, но серьезно, если конкретная проблема может быть решена с помощью ORM и не является проблемой, ее не следует решать с помощью необработанного SQL. Не потому, что ORM более причудливый, абсолютно нет. Это намного безопаснее и проще для, возможно, менее опытных людей, которые работают с вами, чтобы взять на себя ваш код. Вы можете подумать, что это неправильно, но так оно и есть, я знал старших разработчиков, которые не помнили, как использовать group by. Нравится нам это или нет, но мы работаем вместе.
ORM (я использую SQLAlchemy для Python) также отлично подходят для создания сложных запросов. Представьте, что вы пишете функцию, которая ищет счета-фактуры, и у нее есть несколько опций и параметров (диапазон дат, ограничение для конкретного клиента, включение архивных счетов?). С голыми строками SQL вы теперь объединяете строки для своего предложения WHERE. С помощью ORM вы добавляете экземпляры ClauseElement в объект Query.
@Simon Подожди, никто не говорил о объединении необработанных строк SQL! ORM делает вид, что реляционная база данных на самом деле является объектной базой данных — это не всегда хорошая абстракция. Лично я предпочитаю тонкий реляционный клиент с синтаксисом LINQish поверх SQL. Не нужно притворяться, что отношения — это объекты, а запросы — это свойства. Нужно добавить еще один фильтр? Просто сделай query.Where(i => i.FirstName == "Simon");.
Единственное, что ты пропустил, это "Так заткнись, придурок". Я имею в виду, что вы указали более чем достаточно красных флажков, чтобы избавиться от него, но это другое. Ты бы не сказал мне это дважды. Дважды никому не скажешь, когда я рядом и слышу.
@ gnasher729 Я предпочитаю верить, что это гипербола. Но если бы это было не так, дверь бы не ударила меня по заднице, когда я выходил.

двадцать пять лет в IT [...] изменить свое отношение

Не получится, извини.

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

Ваш основатель доверяет некомпетентному* незнакомцу больше, чем своим нынешним сотрудникам.

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

Есть только 2 вещи, которые я могу придумать, чтобы улучшить ситуацию на этой работе:

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

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

Нигде в ОП не говорится «проворный» или «спринт». Я подозреваю, что в этом месте в лучшем случае используется специальная методология.
@TonyEnnis Вот почему я использовал «например». Должно быть что-то похожее на демонстрации спринта, если вы хотите, чтобы вас заметили, независимо от того, какую методологию вы используете.
Ах я вижу. Добиться каких-то ощутимых результатов перед боссом — хорошая идея.

Этот ответ может быть неблагоприятным и некоторые сочтут его грубым, но...


Первый красный флагFor a few years, the founder was unhappy about the technical skills of the employees

Попытались ли сотрудники исправить несчастье?


Второй красный флагtwo of the five developers never used SQL before

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


Трудно представить, что это I worked for twenty-five years in this industry, and you? What have you done? You've been a code monkey for three years. So shut up, you, moron! Nobody cares about your opinion, a******.было сказано на самом деле, но я приму это за чистую монету и поверю вам.

Тем не менее, примите во внимание первый тревожный сигнал, о котором я упомянул, и «несчастье», с которым основателю пришлось столкнуться в течение многих лет.

К этому добавлю: вы, ребята, уже много лет знаете о несчастье основателя?!

Как эта информация была доведена до вас?


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

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

Это могло бы быть, если бы не остальные пункты в вопросе ОП. Не хватает одного кусочка — исходного кода — и это то, что на самом деле отделяет этого руководителя группы от катастрофы, если он уже недостаточно вмешивался. Или это отличный тролль-вопрос, а что тогда настоящего, а?
Флажки, которые вы выделяете, являются важными проблемами, которые не были решены, но все остальное в этом руководстве разработчиков категорически противоречит идее «привести вас в форму», если только основатель не застрял в методах 25-летней давности.
«в форму», отказавшись от тестирования, стиля, документации, контроля версий, уважения и общения ... да, верно :/ не лучшая шутка, которую вы здесь шутите.
@eques Зависит от того, насколько глубоки мотивы. Основатель лично провел собеседование и нанял этого парня без дополнительных усилий. Не зная обсуждения за закрытыми дверями , НИКТО не может сейчас предложить ничего, кроме предположений.
@DanielJour Приведение команды в форму не означает принятие его плохих практик. Пожалуйста, смотрите мое обновление. Извините за путаницу.
Прямо сейчас это просто комментарий к вопросу и на самом деле не отвечает на заданный вопрос, а именно, как улучшить ситуацию и справиться с плохой практикой «дивы».
@MonkeyZeus Спасибо, что прояснили это. Хотя возможно, я почему-то сомневаюсь, что это мотивация нанять этого парня. Новый парень, скорее всего, сведет производительность к нулю. Хотя, как уже было сказано, важно учитывать два других момента, которые вы поднимаете (недовольство, отсутствие опыта работы с SQL).
@DavidK Я признал, что мой ответ может быть неблагоприятным. Иногда нужно читать между строк, отступить назад и подумать, не является ли это проблемой XY.
@MonkeyZeus Я не говорю, что ваш ответ неблагоприятен, я говорю, что ваш ответ не отвечает на вопрос. Я бы сделал вывод, что вы говорите ОП смириться и делать то, что говорит менеджер, но затем в последней строке говорится: «Не перенимайте плохие методы новичка». Как ОП делает и то, и другое?
Хотя имеет смысл нанять кого-то с определенными навыками, чтобы привести команду в форму, если их технические навыки недостаточны/неудовлетворительны, однако, учитывая другие аспекты (если они точно описаны), это не может быть прямым случаем, если только: основатель имеет схожий технический склад ума или б) основатель совершенно не знаком с техническими навыками и техникой разработки. Учитывая, что в OP не указывается, является ли основатель техническим основателем, вполне возможно, что основатель не признает технических ограничений своего нового сотрудника (не то чтобы это были единственные проблемы)
Я могу поверить, что намерение руководства состояло в том, чтобы нанять старшего руководителя, чтобы привести неэффективную команду в форму, они, безусловно, сильно испортили это.
Мне жалко хозяина. Он полностью потерял доверие к команде и, чтобы спасти ситуацию, искал звезду на позиции "диктатора"... и получил неудачную =/. Я думаю, что суть этого ответа должна быть написана явно: «Ничего нельзя сделать, уже слишком поздно». Владелец, не доверяющий сотрудникам, должен был полагаться на впечатляющее резюме и доверять ему. Неустроенность команды, по его мнению, может быть на самом деле положительной реакцией - плохой команде стало не по себе, так что, возможно, они изменятся. Теперь они уйдут, а через несколько лет хозяин узнает, что генерал плохой.
Этот ответ имел бы смысл, если бы компания работала в каком-то учебном лагере по программированию реалити-шоу.

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

Похоже, основатель не доверяет вам, ребята.

Однако за два месяца команда стала гораздо меньше ценить его профиль. У меня была возможность поговорить с тремя из пяти членов этой команды, и все они выделили три вопроса:

  • По их словам, парень грубиян и не имеет никакого уважения к другим членам коллектива. Одна недавняя цитата из его разговора с младшим программистом перед командой очень показательна: «Я проработал в этой отрасли двадцать пять лет, а вы? Что вы наделали? Ты был кодовой обезьяной в течение трех лет. Так что заткнись, ты, придурок! Никому нет дела до твоего мнения, *****».

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

  • Раньше решения принимались всеми членами команды. Когда участники не соглашались, они обсуждали все это вместе и приходили к соглашению или, по крайней мере, объясняли причины тем, кто не соглашался.

по-видимому, прошлые практики не принесли результатов, которых хотел основатель.

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

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

  1. Он ненавидит IDE, автодополнение и функции, призванные помочь программистам писать код быстрее, и утверждает, что для продуктивной работы команда должна использовать Notepad++. Хотя это имеет смысл в других обстоятельствах, трудно представить, чтобы разработчики C# вдруг отказались от Visual Studio в пользу Notepad++.

IDE могут замедлить работу, если вы быстрый программист. Notepadd ++ превосходит некоторые для быстрого кодирования. Идея состоит в том, что вы пишете свой код, а затем бросаете его в IDE для быстрого исправления вместо постоянных прерываний.

  1. Он не занимается рефакторингом кода и не заботится о стиле (который несовместим с его собственным кодом) по той причине, что «он заботится только о вещах, которые действительно имеют значение». Кстати, стиль ранее проверялся ночной сборкой, которая начала давать сбои с приходом нового лида.

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

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

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

  1. Он считает, что контроль версий в основном бесполезен, и, кажется, неправильно понимает, как его использовать. Это приводит к ситуациям, когда он разрабатывает фичу в одиночку три-пять дней, а когда, наконец, коммитит свои изменения, то и вовсе «забирает мое» за все конфликты. Если другие члены команды жалуются, что их код был стерт, он предлагает им переписать его. Несколько раз другие участники делали то же самое, удаляя код ведущего разработчика. Он выглядел удивленным (похоже, он не знает, как использовать svn log или diffs) и снова внес свои изменения, жалуясь, что «они были загадочным образом потеряны», и обвиняя SVN в том, что он облажался.

Здесь виноваты все. Никто не делает резервную копию? Если у него проблемы с контролем версий, команда обязана работать как команда, а не просто доставлять ему неприятности.

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

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

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

  1. Он пишет весь SQL вручную и отвергает идею ORM. Следует отметить, что текущий продукт основан на ORM Entity Framework от Microsoft, и двое из пяти разработчиков никогда раньше не использовали SQL.

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

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

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

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

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

  1. Он просит команду перестать пользоваться интернетом (особенно StackOverflow) и полагаться на свои мозги, офлайн-документацию (я даже не знал, что Microsoft до сих пор продает компакт-диски MSDN!) и книги.

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

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

Что нужно сделать команде, чтобы:

  • Либо выбросить лидера из команды или компании,

  • Или заставить его изменить свое отношение к команде?

Как насчет того, чтобы работать с ним и не саботировать каждое его движение?

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

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

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .

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

Увольнение должно быть крайней мерой.

Кажется, что все остальные здесь предположили, что «начальник сказал», но это может быть не так. Из того, что я читал, сотрудники и новый руководитель общались с начальником только поодиночке, а не все одновременно. Может стоит попробовать.
Можете ли вы расширить и объяснить больше? Это правильное встречное мнение к ответу Криса, но сейчас недостаточно подробностей, чтобы это был хороший ответ.
+1 Ибо пусть дива скажет свою сторону. Жалобы настолько откровенны, что кажутся неправдой. Наверняка это классическое столкновение эго, и по крайней мере один разработчик здесь — ядовитый человек.
Если вы недовольны своей работой и не заинтересованы в том, чтобы получить дерьмо за то, что пытаетесь это исправить, зачем оставаться? Есть много лучших работ.

Собственнику необходимо нанять менеджера по персоналу

Другие ответы намекают на это, но слон в комнате заключается в том, что владелец (по понятным причинам), похоже, испытывает трудности с успешным выполнением кадровых функций, таких как наем, обучение, увольнение и т. д. Показательный пример: владелец укомплектовывает неэффективную команду, мирится с ними годами, затем нанимает 25-летнего ветерана, чтобы исправить ситуацию, а затем нанимает консультанта, когда 25-летний ветеран не может ничего исправить. Владелец, кажется, не знает, как управлять кадровой стороной бизнеса. Ничего страшного, есть люди, которые этим зарабатывают на жизнь, поэтому в большинстве организаций есть менеджеры по персоналу. Владелец должен нанять одного стата. Это позволит владельцу сосредоточиться на стратегической стороне бизнеса, так что это беспроигрышный вариант.

Возможно, ОП мог бы помочь с собеседованием (в конце концов, владельцу, похоже, нужна помощь в этом отношении)?

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

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

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

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

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

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

  3. Спросите его, испытывает ли он какой-либо стресс дома или проблемы со здоровьем, такие как диабет, который вызывает его раздражительность.

  4. Спросите его, доволен ли он тем, что становится старым и сварливым старым придурком с атрофированным разумом, поскольку он не узнает ничего нового.

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

Никто не собирается менять свое мнение о контроле версий и IDE спустя 25 лет. Я не собираюсь менять свое мнение. К счастью для меня, моих коллег и компаний, в которых я работаю, я полностью за контроль версий (даже за работу, которую я делал самостоятельно; раньше это спасало мою задницу) и за использование IDE (почему на земле никто бы не использовал IDE). Но опять же, никакое обсуждение не изменит его мнение.
«Спроси его, доволен ли он тем, что становится старым и сварливым старым придурком с атрофированным разумом, поскольку он не узнает ничего нового». Что-то мне подсказывает, что это не пройдет хорошо.
+1 за попытку объяснить преимущества. -2 за оскорбление его, как бы он ни был груб .
Я думаю, что основная проблема с этим ответом заключается в том, что он подразумевает, что руководитель группы находится на том же уровне власти, что и остальная часть команды, что не так. В то время как руководитель группы не может никого уволить, владелец назначает руководителя команды ответственным, а владелец, безусловно, может увольнять людей, поэтому нетрудно представить, что грубость в адрес руководителя команды может плохо закончиться для членов команды, хотя это может быть заманчиво.
Всегда разумно использовать такт при общении с начальством.