Встречались ли вам овер-инженеры среди джунов и миддлов? Как надо с такими поступать?
Начать стоит с того, что это очень увлеченный сотрудник, который пытается разбираться во всех нюансах проекта, активно вести различные обсуждения, не стесняется высказывать свое мнение и обычно это мнение того стоит. Казалось бы, это даже хорошо, но...
Дело в том, что описываемый типаж всегда старается именно прыгнуть выше своей головы. А может, и выше головы всех членов команды. Скорее всего, он очень ЧСВ-шный человек, хотя открыто может и не подавать виду.
Что им движет? Неизвестно. Возможно, он самый настоящий перфекционист, желающий всегда делать больше, лучше и идеальнее. Такой если видит, что у ежа есть колючки, а уж может пролезть в узкую щель, то сразу хочет создать животное, у которого есть и то, и то. Возможно, у него вполне корыстные цели - он может работать на портфолио, на опыт, полагая, что в будущем сможет быстрее найти лучшую работу. А может, рассчитывает и на этой работе стать любимчиком кого-то из руководства. Ну или какая-то комбинация перечисленного.
Но факт тот, что именно он целый день пишет юнит-тесты на то, на что их никто никогда не писал. Именно он внедряет Long polling в страницу регистрации, а то ник может уже оказаться занят, пока пользователь заполняет другие поля (и жалеет, что дедлайн не позволяет ему внедрить туда аж WebSocket). Именно он настоящий маньяк как оптимизации, так и читабельности кода...
Свои наработки он может даже не лениться выносить в ре-юзабельные библиотеки - опять же то ли с целью реально сделать все круто, то ли с целью потом кому-то показывать, какой он крутой в 21 год и сколько библиотек написал и сколько у них звезд на гитхабе.
Все это приводит к тому, что персонаж упорно громоздит огромное количество кода и функционала.
Ему не хватает дедлайнов - он начинает недосыпать, причем очень сильно. Он очень трудолюбив.
Ему не хватает понимания, что же происходит в его коде - он пишет кучу тестов и еще долго и нудно тестирует каждую фичу вручную. Опять же трудолюбие ему позволяет, а облажаться с багом ой как не хочется.
Кроме того, он может еще и работу других членов команды проверять (хотя об этом его никто не просил), находить у них баги и фиксить.
Но суммарно этот человек все-таки вреден для проекта. В лучшем случае он вредит команде, повышая однако свой статус в глазах более высокого руководства. В худшем - он вообще "имеет" весь проект.
Встречали ли вы нечто подобное, и как с таким бороться?
А ты не ленивый? Не хочешь на меня бесплатно поработать? Опыт получишь дополнительный. Давай, ты же не ленивый.
Есть определенная команда, которая работает в соответствии с поставленными задачами, определенными требованиями и ритмом. Когда в эту команду вкатывается 21-летний психопат, который всё делает, как перечислил автор - это никому не нужно. Команда не станет богаче, ей не будут платить больше, она только испытывает моральное раздражение от такого персонажа, который взялся за, блин, ревью, когда его не просили.
О "код ревью" у вас в команде, я так понимаю, никто не слышал?
Из-за таких терпил как вы сфера и скатилась в сраное говно. Вместо работы теперь нужны тесты, ревью и прочая мозгодрочь. Всеми силами сделали так, что бы в айти жилось как можно напряжнее, что бы митинги каждый день с тупорылыми рассказами "что я делал вчера" и прочими шизофреническими мотивами. Ненавижу вас, современных айти-шизоидов. В прекрасной России Будущего мы будем вас отлавливать и отправлять на урановые рудники. Лично буду руководить процессом в форме сотрудника НКВД образца 1937 года.
как с таким бороться?
Изначально ставить на место, жёстко и лучше проводить отбор в будущем.
А чтобы можно было ответить "что делать" или "как работать", уточните пожалуйста свой статус/должность в проекте и по отношению к упомянутому человеку.
Также будет хорошо, если добавите возраст (а то его 21 год упомянули, а про свой - ни слова).
Северное Сияние, ох уж эти любители "тяп-ляп и в продакшен".
Код ревью? Нет, спасибо. Тестирование? Это для мажоров. Мы не хотим выполнять работу качественно, мы хотим скопировать решение со стаковерфлоу и залить его в прод поскорее.
Должна быть мера, но делать говно и кичиться этим, имхо, хуже оверинженеринга.
мы хотим скопировать решение со стаковерфлоу и залить его в прод поскорее.
не надо утрировать.
Что дает тебе код ревью, если в команде примерно один уровень разработчиков и ты заранее знаешь, что человек не будет говнокодить?
Еще раз. Вот из-за таких как ты и типаж, описанный в статье, айти и превратилось в дерьмо. Как-то мы 10 лет назад работали без ваших шизофреничных практик, но пришли потом эффективные менеджеры и устроили из профессии один большой дурдом.
Твой усратый код все равно через некоторое кол-во времени выкинут на помойку. Его срок службы будет максимум лет 5, не более. Тебя очень беспокоит его чистота и архитектура? Чистота и архитектура важны в библиотеках и в опенсорсе, а промышленный код сейчас живёт ограниченное количество лет.
Мы не хотим выполнять работу качественно
Мы хотим, просто с такими токсичными людьми, как описаны в посте, работу выполнять вообще не хочется.
Что дает тебе код ревью, если в команде примерно один уровень разработчиков и ты заранее знаешь, что человек не будет говнокодить?
Все лгут. Все ошибаются. Любой человек, сколько угодно квалифицированный, может не выспаться и налажать. Что-то забыть сделать, что-то сломать, что-то наговнокодить. Не специально. Со всеми бывает. И если это летит сразу в прод, без проверки кем-то другим, то есть неиллюзорная вероятность получить боль в результате. Сталкивался, не понравилось. Это как в пословице о том, что пожар проще предупредить, чем потушить.
Что дает тебе код ревью, если в команде примерно один уровень разработчиков и ты заранее знаешь, что человек не будет говнокодить?
Я даже не знаю, как это адекватно прокомментировать. Надеюсь, мы никогда не пересечёмся с тобой в одном проекте.
Настолько низкий уровень компетенции говорит о многом.
WbICHA, да ревью вообще мало кто всерьез воспринимает, кто-то полагается на юнит-тесты, хотя действительно отсутствие багов можно обеспечить лишь применяя и ручное тестирование и даже вручную проверяя код. Другой вопрос так ли важно отсутствие багов, чай не космический корабль с лазерным пулеметом строим.
Настолько низкий уровень компетенции говорит о многом.
Это не компетенция, дружок, а жизненный опыт.
Я начинал кодить, когда тут многие ещё в садик ходили.
Сейчас уже не осталось ничего, ни одного проекта, в котором я принимал участие.
Их давно заменили, код переписали.
Так было всегда и так будет в этой сфере.
И мне, как человеку, который прекрасно знает, что происходит с кодовой базой, плевать, на все эти ваши современные заморочки. Ты можешь написать проект хорошо, но его в любой момент могут закрыть, актуальный код заменить, а твой идеальный код выкинут на помойку. Или инвестор закроет проект. И ещё масса нюансов.
Со временем ты понимаешь, что твоя работа - это временное явление. В итоге не останется ничего.
Всё переписывается и меняется. Любая кодовая база. Это не строительство, где построенное здание может стоять 100 лет.
Сейчас ищу работу и на каждом втором собеседовании слышу про то, как они распиливают "монолиты" на php-фреймворках на микросервисы на Go. А ведь недавно эти фрейморки были на высоте и те, кто писал эти "монолиты" также думали, что клепают "на века". А нет: доктор сказал в морг.
Так что не надо мне затирать про доброе, разумное, вечное.
В капиталистическом айти самое глупое - задрачивать на код. Это просто инструмент чужого бизнеса.
Я бы мог понять это относительно опенсорс, там это реально важно и нужно. Но не про клиентский код.
Впрочем, пройдет немного времени и твой вайтишный энтузиазм поубавится, так же, как и у персонажа, описанного в посте.
Северное Сияние, превосходная позиция, только я не могу понять, если код, который будет жить года, смысла писать качественно нет, то почему ты предпочитаешь писать грамотно обычный текст, когда уже через день эта тема сгинет в небытие?
— Почему, мистер Северное Сияние, почему? Во имя чего? Что вы делаете? Зачем, зачем орфограция? Зачем продолжаете расставлять запятые?
эти правила в большинстве случае добавляют геммороя, а устраивают их шизанутые айтишники и всяческие эффективные менеджеры. Но поскольку у вас, айтишников, логическое мышление отсутствует, вам не понять.
человек вообще ни у чом не уиноват.
просто в компании не выстроены (или не правильно выстроены) бизнес-процессы.
человек с горящими глазами и скилованный - офигенный актив. прост нужно этот энтузиазм направить в нужное русло. и это элементарно решается административными способами, если между собой разобраться не удаётся.
человек с горящими глазами и скилованный - офигенный актив. прост нужно этот энтузиазм направить в нужное русло.
Этот человек иной раз сам тебя направит в его собственное русло)) Я не случайно указал в вопросе, что он может нарочно все это делать для того, чтобы создать максимально крутое портфолио в короткие сроки и сбежать с этим на лучшую работу,. Причем он рассчитывает на то, что и там будет тоже смотреть на всех свысока и быть "звездой", потому что лучше стать "звездой" в 2ГИС и негласно нагнуть всю команду, чем обычным галерным рабом в Microsoft, грубо говоря.
Поэтому он и превращает свой код в "парад технологий" и "парад собственной крутости".
beem7, Вам нужно чётко отделять догадки (какими бы они не казались правдоподобными) от фактов. И принимать решения исходя из фактов. Человеческая психика устроена так, что когда происходит что-то непонятное, то Вы начинаете подбирать причины по своей внутренней "рулетке".
Если человек амбициозен, трудолюбив - дайте ему больше полномочий. Обсудите с ним результат, направьте усилия в нужное Вам русло.
DevMan, вообще-то нет) И данный человек не может слишком упорно спорить, если вы его в чем-то поправите, потому что может дойти и до увольнения, а для него это так или иначе крах. Однако он поправит конкретное, а в целом у него все равно своя линия и он будет всегда отклоняться к ней, не в одной плоскости, так в другой. Просто будешь не успевать его корректировать, а он будет не очень восприимчив к корректировкам, если считает, что это ты хочешь упростить, а он именно делает круче и любой более крутой тимлид за это ему пятую точку расцелует.
DevMan, каких именно таких ты видел? Обычно неадекват если и неадекват, то в том, чтобы делать что-то явное плохое, или не делать то что надо. А здесь вроде как обратная ситуация.
Возможно, у него вполне корыстные цели - он может работать на портфолио, на опыт, полагая, что в будущем сможет быстрее найти лучшую работу. А может, рассчитывает и на этой работе стать любимчиком кого-то из руководства.
Скорее всего, он очень ЧСВ-шный человек, хотя открыто может и не подавать виду.
Не нужно всех мерить по себе.
Свои наработки он может даже не лениться выносить в ре-юзабельные библиотеки - опять же то ли с целью реально сделать все круто, то ли с целью потом кому-то показывать, какой он крутой в 21 год и сколько библиотек написал и сколько у них звезд на гитхабе.
Что так, что эдак - в обоих случаях он хорошо делает свою работу. Вот же м**ак!
По сути - тебе попался слишком хороший сотрудник, а тебе не хватает квалификации чтобы грамотное его задействовать.
Ответ: либо учись, либо подойди к нему и скажи - так и так - ты слишком хорош, а из меня хреновый ментор/менеджер, тебя придется уволить. Будет жаль если такой человек будет впустую тратить свое время.
Как показательно - любой вайтишник с небольшим опытом работы всегда хочет показаться умнее людей, которые давно в сфере и обязательно нужно выпендриться, показать, какие все говно, учиться и развиваться не хотят.
Скажи пожалуйста, какая должна быть мотивация у людей, что бы идти в унисон с только что вкатившимся малолеткой 21 года? Это его проблемы, что у него юношеский спермотоксикоз бьёт по мозгам и оттопыривается он на команде, а не на подружке.
Команде это всё не надо.
Платить им больше не будут.
В рабство они не нанимались.
Пример описанный автором - обычный будущий жополиз, любитель ходить по головам и изгой в любом нормальном коллективе. И это не только про айти.
И да. Инициатива всегда имеет инициатора. Идеально было бы устроить ему эту западню, что бы его же инициативы его и нагнули.
Если у него появляется время на работе на другие отвлеченные задачи - нужно направлять в правильное русло.
Такой человек или приспособится через несколько месяцев, выдохнется (потому что в начале нагрузку ого-го какую можно взять, а потом он устает и начинает делать меньше), или уволится.
Если он умный малый почему его не воспитать под себя? Направить, давать больше заданий, где-то обучить, пусть помогает другим.
Что видно из вопроса - он хорошо работает, делает то, что не просят, поэтому он непонятный и как такого приструнить...
Если он не устраивает Вас, поговорите об увольнении по собственному, если у Вас изначально не складываются с таким человеком отношения, то долго он может не пробыть, но и он и Вы потеряете больше энергии на борьбу с этим.
С перфекционистами тяжело, но если вы найдете общий язык и общие задачи, которые направят его энергию в нужное направление, тогда можно сказать, вы выиграли супер-приз.
1. Дать ему конкретный бэклог задач, поставить невозможный дедлайн.
Затем периоически проверять статус и ставить приоритеты. Как приоритеты расставлены - спрашивать статус в первую очередь по этим задачам.
2. Нагрузить его бюрократической работой. Чтобы он поварился в котле менеджеров, и понял что в коде идеальность сделать можно, а в бюрократии в принципе невозможно. Он либо уйдет, либо поймет что надо попуститься.
Еще, наверное, стоит попробовать такую жесткую меру, как перевести его на сдельную оплату, да?
ИМХО, вот это может быть эффективно.
А может и не быть, если все равно будет считать, что слишком мало оплаты (возможно, некоторые из них параллельно хотят строить звездолет или еще что-то такое, в общем имеют планы распоряжаться деньгами гораздо бОльшими, чем имеют), или если наоборот не будет интересоваться деньгами вообще, а будет Ъ-рабом идеала.
XOROX, А к чему ваш комментарий? Напишите собственный ответ.
Повариться в бюрократии менеджеров очень неплохо дает понять, что технологии на самом деле не главное, что может стоять в приоритете проекта.
И вообще в разработке для команды финансирование - первоочередной вопрос, а значит кто заказывает музыку тот вас и танцует.
Сдельная зарплата от конкретного менеджера - это вызывает отношения непосредственно между разработчиком и этим локальным менеджером. И не вызывает глобального понимания откуда на самом деле берутся деньги. А вот немного потрястись в менеджерских интригах - вызывает либо просветление, либо желание сбежать с проекта.
Пожалуйста, не трогайте мой ответ и мои комментарии. Я к вам не лезу, а вы мои слова переиначиваете, пытаясь сделать вид что вы лучше знаете что я имел ввиду.
Я имел ввиду не те вещи, что вы пишете.
Мой ответ - на мой взгляд лучшее, и я делаю именно так, и у меня получается. Неоднократно.
Был с одним человеком на проекте, у него любимая фишка была - переписывание кода на выходных. Приходишь в понедельник на работу, а тебе говорят: я там твой код частично переписал, решил что с моими изменениями он будет лучше. Код был не косячный, не багованный, просто коллеге он не понравился в силу его каких-то внутренних критериев.
И да, постоянные переработки с его стороны, что достаточно странно, т.к. карьеру в той компании сделать было сложно, а зп всем платили фикс, без учета переработок.
Что это было такое- не знаю, встретил подобное в первый раз.
И да, постоянные переработки с его стороны, что достаточно странно, т.к. карьеру в той компании сделать было сложно, а зп всем платили фикс, без учета переработок.
Ну значит он ее собирался сделать не в той компании )) А собирался все это подшить в свое портфолио. Еще и не исключено, что NDA бы при этом нарушил.
Ну или это все-таки действительно "Ъ-перфекционист", который за идею.
В любом случае описанный персонаж что у меня, что у тебя - это перфекционист. Цели у него могут быть разные, а суть одна. Если бы это был просто коварный любитель ходить по головам, но не перфекционист, то он бы просто не осилил такую нагрузку.
Сомнительно заявление.
Во-первых, качество тоже важно, иначе эта скорость обернется катастрофой. Все как при езде по трассе.
Во-вторых, скорость тоже отнюдь не всегда дает выгоду! Если вы сделаете недельную задачу за сегодня, это не значит, что завтра вам дадут еще одну недельную задачу. Мешает этому многое, начиная от ритма, в котором заказчик обдумывает новые задачи и обсуждает с партнерами, и заканчивая тем, что у него просто денег не хватит оплачивать такую "молниеносность".
beem7, что за глупости. Ковырять форму регистрации с целью извлечения прибыли с заказчика - сомнительно, качество должно быть заложено там где решаются не шаблонные задачи, решенные много раз до вас. Ваш подход - это случай, когда отсутствует вменяемый подход к разработке. Заказчик платит вам за прокачку джуна - это еще более сомнительно. Сомнительно и ваше ведение работы с заказчиком: обычно есть четкое ТЗ, и заказчику выгоднее получить результат быстрее, чем ждать и оплачивать вашего джуна и его бессмысленные ковыряния, которые он может делать в свободное время.