Чего следует ожидать младшему разработчику от старшего руководителя команды?

44

Отказ от ответственности: высказанные мнения являются исключительно моими собственными и не выражают взгляды или мнения моего работодателя.

Я работаю в небольшой компании, в которой немногие являются разработчиками, другие - QA / Test, а 1 - менеджером. Я присоединился к этой компании 1,5 года назад. 3 старших разработчика имеют опыт работы более 8 лет.

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

  1. Они никогда не обсуждают 1: 1, или они никогда не рассматривают младшее предложение (я согласен, что им решать, принимают ли они это или нет, по крайней мере, они должны учитывать мнение).
  2. Будучи старшим руководителем группы, они могут попытаться реорганизовать кодовую базу с помощью новых технологий (в том числе возможен фактор развертывания новых технологий, а другие разработчики и инфраструктура также готовы), но эти руководители команды чувствуют себя менее защищенными для работы с новыми технологиями, так как они не в курсе. (причина, по которой я говорю, они не знают, какова текущая тенденция в программировании * (например, популярные проекты с открытым исходным кодом, такие как modernizr, bootstrap и многие другие).
  3. В нашей кодовой базе повторяется более 10000+ строк, поэтому я рассказал им об этом DRY: Don't Repeat yourself. Их ответ был: «Это увлекательная статья, но она никогда не работает на практике». Я просто сказал им, что если мы не сделаем 100% СУХОЙ, мы можем по крайней мере использовать интерфейсы, но это также не рассматривалось. * (интерфейсы могут быть добавлены для новых функций, не затрагивая предыдущую кодовую базу, если они не готовы к рефакторингу)
  4. Все старшие разработчики занимаются поддержкой и исправлением патчей. Остальное время они просто проводят на развлекательных сайтах. Они просто рады закончить задачу.
  5. Внедрение новых технологий это плохо? * (включая фактор выполнимости).
  6. Менеджера также меньше всего волнуют вещи, о которых я говорю.
  7. Джуниор ожидает, что они могут многому научиться под руководством команды. * (не прося помощи или старшего кодирования для них).

Мои вопросы:

  1. Я слишком агрессивен в отношении изменений, которые я предлагаю?
  2. Чего следует ожидать от старших разработчиков, которые имеют опыт работы более 8 лет?
  3. Я ошибаюсь, ожидая учиться и получать опыт от компании?

Обновить :

Почему они чувствуют СУХОЙ, непрактично: потому что они не хотят увлекаться концепциями ООП. Они счастливы с повторением задач.

Новые технологии, которые я предлагаю:

  1. Использование минимизации CSS, JS, SPrite изображений
  2. Использование интерфейсов и .net framework 4, дженериков и многих других.
  3. Клиентские библиотеки, такие как modernizr, knockout js, bootstrap для отзывчивых,
Рави Гадаг
источник
40
Просто примечание: годы опыта ничего не значат. Есть пословица: «У некоторых людей есть 10-летний опыт, у некоторых 1 год повторяется 10 раз» (перефразировано). Основывайте свои ожидания на их навыках и знаниях, а не на том, как долго они там пробыли.
Энтони Пеграм
6
Рави, ты хотел бы верить, что они учатся и растут. Что слишком распространено, так это то, что они достигли какого-то плато. Это происходит из-за самоуспокоенности, просто не оспаривается, или они действительно достигли своего предела, который варьируется от человека к человеку и от ситуации к ситуации.
Энтони Пеграм
5
@ Рави, ты воспринимаешь их как команду, которая ведет тебя, хотя вполне возможно, что они думают, что они команда, которая делает хорошие деньги, а люди не говорят им, что делать, чтобы они могли делать то, что хотят. Не все хотят помочь вам только потому, что должны, и многие люди не заботятся о том, чтобы улучшить себя, если могут избежать этого, став руководителем команды без самосовершенствования.
Джимми Хоффа
14
Вы уже далеко впереди них, и они не заинтересованы в возвышении себя до положения, когда они готовы работать с вами. Уволить вашу компанию.
user16764
5
Обычно я все за новые технологии, которые приносят более чистый способ сделать что-то. Однако нужно быть осторожным, чтобы не вводить много новых технологий только потому, что они новые и блестящие. Если проект только начинается или если требуется новая функциональность или рефакторинг, то это может быть хорошей возможностью представить что-то новое. Если проект стабилен (требуются только незначительные исправления), или если уже поздно, было бы лучше не вводить новые вещи.
Marcus

Ответы:

30

Я слишком агрессивен в отношении изменений, которые я предлагаю?

Без конкретных деталей (какие новые технологии вы предлагаете, почему они их отвергают, где они считают, что DRY нецелесообразно и почему и т. Д.) Трудно оценить степень эффективности ваших предложений, и это важно для вашей агрессивности. Если вы хотите, чтобы они использовали новый фреймворк, потому что вы думаете, что он новый и классный, то слишком легкое продвижение слишком агрессивно. Если они действительно вбрасывают тысячи строк копирования / вставки в кодовую базу (то есть, они пишут дерьмо), то я бы сказал, что требуется больше агрессивности.

Но это также зависит и от межличностной динамики между вами и ними. Мой совет - спросите себя: «Могу ли я продемонстрировать, что мои предложения принесут пользу компании?» Если ответ «да», то я бы сказал, что у вас есть лицензия, чтобы попытаться подтолкнуть.

Чего мне ожидать от старшего лидера разработчиков, у которого 8+ лет?

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

Я ошибаюсь, ожидая хорошего обучения от компании?

Люди, у которых есть чему поучиться, есть в некоторых компаниях. Похоже, вы столкнулись с общей дилеммой, и, перефразируя ребят .NET Rocks, стоит подумать: «Измени свою компанию ... или измени свою компанию».

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

Эрик Дитрих
источник
1
Я показал демо всех новых вещей. все же они неудобны. смотрите мой обновленный ответ
Рави Гадаг
1
Мне кажется, что ваши идеи, скорее всего, будут улучшением того, что существует. Далее следует выяснить, почему их отвергают. Вы не построили достаточно репутацию со старшими? Они ленивы? Непонимание? Вы могли бы сделать лучшее дело или вы могли бы добиться своего после доказывания себя? Если это так, то потрошение может быть хорошим опытом. Если они просто ленивы и бескорыстны, возможно, нет.
Эрик Дитрих
1
Они не заинтересованы.
Рави Гадаг
6
@RaviG: Конечно, они не заинтересованы. Вы новый разработчик, жаждущий угодить, с глазами, намного большими, чем ваш живот ... и вы пытаетесь сказать своим разработчикам, что делать. Достаточно плохо, когда у руководства каждый день появляется новая идея о том, как изменить весь продукт ... нового парня? Пфф. Иди сделай что-нибудь.
Стивен Эверс
19

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

Вероятно, это недостаток как у вас, так и у старших разработчиков.

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

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

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

Я слишком агрессивен в отношении изменений, которые я предлагаю?

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

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

Чего следует ожидать от старших разработчиков, которые имеют опыт работы более 8 лет?

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

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

Я ошибаюсь, ожидая учиться и получать опыт от компании?

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

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

Deco
источник
Обращаясь к вашему первому пункту, я думаю, что это пробел со старшими разработчиками Как младший разработчик может понять все последствия своего стремления к новым технологиям, если старший разработчик не выкладывает это для них? есть также хороший баланс, который необходимо соблюдать между приверженностью надежным технологиям и позволить младшим разработчикам изучать новые вещи (чтобы быть уверенным, что в сфере надежных технологий может быть много обучения)
Рудольф Олах
12

Думайте об этом как об огромной возможности.

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

Вот стратегия:

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

И я не имею profitв виду какой-то расплывчатый шаг «я выигрываю» Шаг 4, где вы получаете один или все из следующего:

  1. Повышен
  2. Повышение
  3. Бонус

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

Я называю это «быть потрясающим» - и это работает .

Анекдот: я не всегда потрясающий, но я стараюсь быть таким, и я выполнил шаги, данные 5 раз (2 продвижения по службе, 3 новых рабочих места; все со значительным увеличением заработной платы).

Имея это в виду, я, вероятно, должен ответить на ваши вопросы напрямую:

Я слишком агрессивен в отношении изменений, которые я предлагаю?

Вы уже сделали что-то потрясающее, с метриками и примерами того, как это круто? Есть старая поговорка (как бы глупо) ...

Ideas are like assholes; everyone's got one, and they all stink

Иди сделай что-нибудь.

Чего следует ожидать от старших разработчиков, которые имеют опыт работы более 8 лет?

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

Я ошибаюсь, ожидая учиться и получать опыт от компании?

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

Стивен Эверс
источник
3
Это может иметь неприятные последствия, если остальная часть команды не находится на уровне, который может распознать вашу удивительность или чувствует угрозу от нее.
user16764
@ user16764: Не могли бы вы рассказать о том, как выглядит этот сценарий? Я испытал оба ответа, и не все мои потрясающие решения были подобраны командой, но я никогда не делал «обратный удар».
Стивен Эверс
Я попробовал это, когда был в подобной ситуации с ОП. После этого меня подвергали: а) выборочным проверкам «что ты делаешь в эту секунду» каждые 15 минут, б) 5-минутным броскам, состоящим из крика «ТЫ НЕ С НАМИ!» снова и снова, c) мне говорят заткнуться (или, более конкретно, что меня «отвлекают») каждый раз, когда я произносил одно предложение, и d) меня увольняют по той причине, что «направление, в котором движется компания изменилось ". Тот факт, что то, что я сделал, был необходим для доставки, не оспаривался, но и не признавался.
user16764
1
@ user16764: Вы собрали точные данные о том, насколько эффективно ваше решение, и получили работу с этим в своем резюме? (отредактируйте: кстати, это совершенно ясно, что люди так поступили)
Стивен Эверс
1
@ user16764: Если вы можете объективно и объективно показать, что в данном конкретном случае то, что вы сделали, было потрясающе, а затем люди пытаются заставить вас встать в очередь, чтобы делать то, что делают все остальные, серьезно приступить к новой работе. Вы не можете тянуть всех остальных к пожизненному обучению и совершенству, но они уверены, что, черт возьми, могут потянуть вас к противоположному.
Кристофер Кройциг
4

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

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

Кто знает, они могут увидеть, как вы можете сделать работу каждого проще, и они поймут истинное использование «лени» в программировании.

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

JeffO
источник
1

Если кто-то работает программистом в течение +8 лет, это не значит, что он хороший программист. Что делает хорошего программиста старшим программистом на мой взгляд? Это желание делиться не только опытом, но и изучать новые идеи, методы, технологии и т. Д. Это желание все время становиться лучше и совершенствоваться. Многие так называемые «старшие» программисты используют старые модели функционального программирования из давно ушедших языков. Что-то вроде новых концепций и идей просто не для них, потому что им это не нужно. Они получили свой «опыт».

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

Adronius
источник
1

Ты работаешь в моей компании?

Нет, но серьезно, это, кажется, довольно распространенная нить во многих крупных компаниях. Изменения трудно и ДОРОГО. Иногда вы не знаете, сколько, пока не окажетесь в центре, и уже слишком поздно возвращаться.

Например, моя компания все еще мигрирует с экранов мэйнфреймов на основе кобола в Java. Трудно продать кого-то на Spring или JSF, когда они все еще пытаются привести свои технологии в соответствие со стандартами десятилетней давности. Итак, я расскажу вам, что я сделал, но у меня был ограниченный успех (я тоже младший разработчик). Будь примером. Недостаточно того, что ты знаешь свой самый передовой край, ты должен это доказать. Когда все бездельничают, принесите книгу, чтобы прочитать, если у вас есть время. И сделайте это об одном из этих техников, которых вы заинтересованы в реализации. Если они увидят, что вы читаете это, в то время как они смотрят YouTube (честно говоря, ваша операционная единица не уловит этого, и люди будут уволены), они будут более склонны не только верить, что вы знаете, о чем вы говорите, но даже могут спросить вас, что вы чтение.

В качестве примера я расскажу вам о моем опыте работы со старшим архитектором. Умный парень, но вообще не интересуется новыми технологиями. Я пошел и спросил его о том, как сделать что-то в CVS (нашем контроле версий), и сказал: «О, хорошо, я привык использовать Subversion, и они делают это таким образом. Спасибо за вашу помощь». Это привело к нескольким разговорам о CVS и Ant против SVN и Maven, в результате чего он одолжил пару книг из моей библиотеки, чтобы проверить это. Конечный результат: мы собираемся перейти на новые системы где-то в этом году. Ключ должен быть открытым и полезным, не сообщая, что они делают это неправильно. Потому что, в конце концов, может быть много лучших способов сделать это, но если это работает правильно, то они не делают это неправильно. Любое неуважение в большинстве случаев приведет вас к горячей воде, так что следите за этим.

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

Sedaition
источник
0

Я думаю, что вы правы в своей агрессивности. Это большое удовольствие работать со страстными людьми и большое наказание работать с душевнобольными. 8 лет опыта ничего не значит. Конечно, вы не могли быть правы. Часто новые технологии тесно связаны с маркетингом и не всегда лучше. Но если вы не правы, пожилые люди должны объяснить вам, где они не правы. В противном случае вы не получите никаких преимуществ от своей работы. Может быть, вы молоды и горячи. Если это так, это ваше преимущество. Не тратьте свое время на работу, где вы не можете расти. Заботьтесь о том, чтобы найти новую работу, где вы можете обсудить свои решения и получить обратную связь от других.

вечность
источник