Отказ от ответственности: высказанные мнения являются исключительно моими собственными и не выражают взгляды или мнения моего работодателя.
Я работаю в небольшой компании, в которой немногие являются разработчиками, другие - QA / Test, а 1 - менеджером. Я присоединился к этой компании 1,5 года назад. 3 старших разработчика имеют опыт работы более 8 лет.
Это замечания, которые я сделал по поводу руководства команды. (рассматривая меня как более свежего с меньшим опытом по сравнению с ними во всех аспектах)
- Они никогда не обсуждают 1: 1, или они никогда не рассматривают младшее предложение (я согласен, что им решать, принимают ли они это или нет, по крайней мере, они должны учитывать мнение).
- Будучи старшим руководителем группы, они могут попытаться реорганизовать кодовую базу с помощью новых технологий (в том числе возможен фактор развертывания новых технологий, а другие разработчики и инфраструктура также готовы), но эти руководители команды чувствуют себя менее защищенными для работы с новыми технологиями, так как они не в курсе. (причина, по которой я говорю, они не знают, какова текущая тенденция в программировании * (например, популярные проекты с открытым исходным кодом, такие как modernizr, bootstrap и многие другие).
- В нашей кодовой базе повторяется более 10000+ строк, поэтому я рассказал им об этом
DRY: Don't Repeat yourself
. Их ответ был: «Это увлекательная статья, но она никогда не работает на практике». Я просто сказал им, что если мы не сделаем 100% СУХОЙ, мы можем по крайней мере использовать интерфейсы, но это также не рассматривалось. * (интерфейсы могут быть добавлены для новых функций, не затрагивая предыдущую кодовую базу, если они не готовы к рефакторингу) - Все старшие разработчики занимаются поддержкой и исправлением патчей. Остальное время они просто проводят на развлекательных сайтах. Они просто рады закончить задачу.
- Внедрение новых технологий это плохо? * (включая фактор выполнимости).
- Менеджера также меньше всего волнуют вещи, о которых я говорю.
- Джуниор ожидает, что они могут многому научиться под руководством команды. * (не прося помощи или старшего кодирования для них).
Мои вопросы:
- Я слишком агрессивен в отношении изменений, которые я предлагаю?
- Чего следует ожидать от старших разработчиков, которые имеют опыт работы более 8 лет?
- Я ошибаюсь, ожидая учиться и получать опыт от компании?
Обновить :
Почему они чувствуют СУХОЙ, непрактично: потому что они не хотят увлекаться концепциями ООП. Они счастливы с повторением задач.
Новые технологии, которые я предлагаю:
- Использование минимизации CSS, JS, SPrite изображений
- Использование интерфейсов и .net framework 4, дженериков и многих других.
- Клиентские библиотеки, такие как modernizr, knockout js, bootstrap для отзывчивых,
self-improvement
teamwork
junior-programmer
team-leader
Рави Гадаг
источник
источник
Ответы:
Без конкретных деталей (какие новые технологии вы предлагаете, почему они их отвергают, где они считают, что DRY нецелесообразно и почему и т. Д.) Трудно оценить степень эффективности ваших предложений, и это важно для вашей агрессивности. Если вы хотите, чтобы они использовали новый фреймворк, потому что вы думаете, что он новый и классный, то слишком легкое продвижение слишком агрессивно. Если они действительно вбрасывают тысячи строк копирования / вставки в кодовую базу (то есть, они пишут дерьмо), то я бы сказал, что требуется больше агрессивности.
Но это также зависит и от межличностной динамики между вами и ними. Мой совет - спросите себя: «Могу ли я продемонстрировать, что мои предложения принесут пользу компании?» Если ответ «да», то я бы сказал, что у вас есть лицензия, чтобы попытаться подтолкнуть.
Это будет управлять гаммой. Иногда вы получаете действительно умных людей, у которых вы можете многому научиться, как с точки зрения навигации по служебной политике, так и с точки зрения технических соображений. К сожалению, вы также получаете много этого . Вы не найдете недостатка в людях, чей 8-летний опыт в основном сводится к тому, чтобы сделать минимум, чтобы не быть уволенным. Если вы найдете наставника или кого-то действительно проницательного, держитесь за него как можно больше, потому что это менее распространено, чем должно быть.
Люди, у которых есть чему поучиться, есть в некоторых компаниях. Похоже, вы столкнулись с общей дилеммой, и, перефразируя ребят .NET Rocks, стоит подумать: «Измени свою компанию ... или измени свою компанию».
Это означает, что если вы верите в некоторые основные подходы и принципы и постоянно оказываетесь неспособными продать их и получить свободу делать и изучать то, что вы хотите делать и изучать, стоит поискать компанию, которая лучше подходит для вас.
источник
Я напишу это с моей точки зрения старшего разработчика (или вставлю любое другое необычное название, которое вам нравится здесь), которое часто работает с младшими разработчиками.
Вероятно, это недостаток как у вас, так и у старших разработчиков.
Одна вещь, которую многие младшие разработчики не понимают, - это то, что вы (как младший) стремитесь использовать новые технологии, новые способы делать что-то, сообщать команде, что они делают это неправильно , и т. Д. - старшие в Команда отчитывается перед руководством о доставке и подталкивается руководством к тому, чтобы доставлять новые вещи как можно быстрее, чтобы заработать компании как можно больше денег (или обеспечить наилучшие результаты для клиента / клиента).
Иногда проверенные и проверенные способы доставки просто перевешивают риск внедрения [вставьте сюда классную технологию] . Сжатые сроки, слишком много работы и огромное количество нагрузок для загрузки означает, что способ, которым мы делали это на протяжении 8 с лишним лет, - это способ, которым мы делаем это и в этот раз.
Вы должны быть в состоянии продемонстрировать команде, что то, что вы предлагаете, действительно принесет некоторую пользу им и компании в долгосрочной перспективе. В противном случае вы не получите вступительный взнос от своих коллег, и они не смогут продать его руководству, чтобы получить разрешение на его использование.
Не зная всех обстоятельств, вы могли бы быть. Просто говорить людям A лучше, чем B, поэтому мы должны использовать A, но это не так уж важно. Вы должны пойти и сделать что-то, чтобы показать, почему это лучше. Он не должен быть большим, даже небольшой компонент или приложение, которое показывает предложенный вами способ, должно быть более чем достаточно. Затем вам нужно представить это и быть готовым выстоять против критики со стороны вашей команды.
Даже будучи старшим разработчиком, я должен сделать это, прежде чем смогу убедить своих коллег в том, что новый способ работы лучше.
Как уже говорили другие, 8+ лет опыта не обязательно означают, что вы фантастический. Но в целом вы должны многому научиться у того, кто какое-то время был в ловушках; Вы также можете научить их чему-то.
Люди - это люди, и у каждого есть свое эго (какое-то большее, чем у других), и нет ничего хуже, чем новый парень, который приходит к вам и говорит, что вы делали свою работу неправильно последние 8 с лишним лет. В то же время старший разработчик (хороший) должен уметь принимать конструктивную критику и уметь формулировать причины своих решений.
Неиспользование новейших и лучших технологий и функций не означает, что вы не учитесь и не получаете опыт в вашей компании. Опыт - это опыт, иногда знание старого способа сделать что-то может дать вам более глубокое понимание того, почему новый способ лучше. Это также помогает вам продемонстрировать, почему новый способ лучше, потому что вы понимаете оба и можете сформулировать более убедительный аргумент, когда пытаетесь его продать. Лично я не использую последние и лучшие вещи, где я работаю в данный момент - но я все еще изучаю новые вещи каждый день, и это все еще выглядит хорошо в моем резюме также.
Сказав все это - если компания действительно не подходит, и все остальное терпит неудачу, вы можете искать новое место для работы.
источник
Думайте об этом как об огромной возможности.
Часто продвижение по службе не происходит (и не должно происходить) из-за того количества лет, которое вы провели в компании. У вас есть то, что вы считаете действительно хорошими идеями, и ваши начальство / сверстники не хотят слушать.
Вот стратегия:
И я не имею
profit
в виду какой-то расплывчатый шаг «я выигрываю» Шаг 4, где вы получаете один или все из следующего:Либо с вашей компанией, либо с новой, которая может оценить ваши таланты и удивительные показатели, которые вы получили в своем резюме.
Я называю это «быть потрясающим» - и это работает .
Анекдот: я не всегда потрясающий, но я стараюсь быть таким, и я выполнил шаги, данные 5 раз (2 продвижения по службе, 3 новых рабочих места; все со значительным увеличением заработной платы).
Имея это в виду, я, вероятно, должен ответить на ваши вопросы напрямую:
Вы уже сделали что-то потрясающее, с метриками и примерами того, как это круто? Есть старая поговорка (как бы глупо) ...
Ideas are like assholes; everyone's got one, and they all stink
Иди сделай что-нибудь.
Шутки в сторону? Вы не должны ожидать ничего. Но попробуйте узнать все, что они знают. Задавайте вопросы, просматривайте в частном порядке свою работу, слушайте, когда они говорят, и критически обдумывайте, что они говорят. Они опыт в коробке ... эээ ... тело. Попробуйте открыть их и учиться. Мой лучший друг - блестящий разработчик, и я активно говорю ему, что я всегда стараюсь научиться у него как можно большему.
Точно нет. Это не значит, что вы не можете научиться тому, чего не следует делать. Люди будут делать ошибки, учиться на ошибках как вашей компании, так и вашей.
источник
Я думаю, вам нужно проявить творческий подход. Начните расспрашивать о побочных проектах, которые ваши старшие откладывали. Работая над чем-то самостоятельно (или, что еще лучше, включите в него еще одного младшего разработчика), и с самого начала вы можете применить много нового. Не удивляйтесь, если узнаете, что не все к лучшему.
Другой подход заключается в создании собственной ветви кода и прохождении процесса рефакторинга. Возможно, я никогда не попаду в производство, основываясь на том, что вы сказали, но, по крайней мере, вы сможете улучшить свои навыки.
Кто знает, они могут увидеть, как вы можете сделать работу каждого проще, и они поймут истинное использование «лени» в программировании.
Если ничего не помогает, поместите новый набор навыков в свое резюме и начните искать другую работу.
источник
Если кто-то работает программистом в течение +8 лет, это не значит, что он хороший программист. Что делает хорошего программиста старшим программистом на мой взгляд? Это желание делиться не только опытом, но и изучать новые идеи, методы, технологии и т. Д. Это желание все время становиться лучше и совершенствоваться. Многие так называемые «старшие» программисты используют старые модели функционального программирования из давно ушедших языков. Что-то вроде новых концепций и идей просто не для них, потому что им это не нужно. Они получили свой «опыт».
Желание совершенствоваться и учиться гораздо важнее, чем многолетний опыт. Младший разработчик, который хочет учиться, гораздо лучше для любой компании, чем старый «старший» разработчик, который уже «знает» все это.
источник
Ты работаешь в моей компании?
Нет, но серьезно, это, кажется, довольно распространенная нить во многих крупных компаниях. Изменения трудно и ДОРОГО. Иногда вы не знаете, сколько, пока не окажетесь в центре, и уже слишком поздно возвращаться.
Например, моя компания все еще мигрирует с экранов мэйнфреймов на основе кобола в Java. Трудно продать кого-то на Spring или JSF, когда они все еще пытаются привести свои технологии в соответствие со стандартами десятилетней давности. Итак, я расскажу вам, что я сделал, но у меня был ограниченный успех (я тоже младший разработчик). Будь примером. Недостаточно того, что ты знаешь свой самый передовой край, ты должен это доказать. Когда все бездельничают, принесите книгу, чтобы прочитать, если у вас есть время. И сделайте это об одном из этих техников, которых вы заинтересованы в реализации. Если они увидят, что вы читаете это, в то время как они смотрят YouTube (честно говоря, ваша операционная единица не уловит этого, и люди будут уволены), они будут более склонны не только верить, что вы знаете, о чем вы говорите, но даже могут спросить вас, что вы чтение.
В качестве примера я расскажу вам о моем опыте работы со старшим архитектором. Умный парень, но вообще не интересуется новыми технологиями. Я пошел и спросил его о том, как сделать что-то в CVS (нашем контроле версий), и сказал: «О, хорошо, я привык использовать Subversion, и они делают это таким образом. Спасибо за вашу помощь». Это привело к нескольким разговорам о CVS и Ant против SVN и Maven, в результате чего он одолжил пару книг из моей библиотеки, чтобы проверить это. Конечный результат: мы собираемся перейти на новые системы где-то в этом году. Ключ должен быть открытым и полезным, не сообщая, что они делают это неправильно. Потому что, в конце концов, может быть много лучших способов сделать это, но если это работает правильно, то они не делают это неправильно. Любое неуважение в большинстве случаев приведет вас к горячей воде, так что следите за этим.
Если они просто не восприимчивы, имейте в виду, что вы в большой области, которая пользуется большим спросом. Если вы любознательный и быстрый ученик, вы БУДЕТЕ найти другую работу, вероятно, вам она понравится намного больше. Что так же важно, как деньги для меня. Обязательно упомяните в любом интервью: «О, ребята, вы используете технологию ххх? Это потрясающе, я всегда хотел использовать это и пробовал в своей старой компании». Любите людей, когда у вас есть энтузиазм по поводу того, что они делают.
источник
Я думаю, что вы правы в своей агрессивности. Это большое удовольствие работать со страстными людьми и большое наказание работать с душевнобольными. 8 лет опыта ничего не значит. Конечно, вы не могли быть правы. Часто новые технологии тесно связаны с маркетингом и не всегда лучше. Но если вы не правы, пожилые люди должны объяснить вам, где они не правы. В противном случае вы не получите никаких преимуществ от своей работы. Может быть, вы молоды и горячи. Если это так, это ваше преимущество. Не тратьте свое время на работу, где вы не можете расти. Заботьтесь о том, чтобы найти новую работу, где вы можете обсудить свои решения и получить обратную связь от других.
источник