Я работаю в компании среднего размера и работаю там уже больше года. Я состою в двух командах (TeamA и TeamB). В TeamA 15 участников (14 товарищей по команде и 1 менеджер), а в TeamB 3 члена (2 разработчика и 1 менеджер). У обеих команд разные менеджеры. Большая часть моей работы выполняется в TeamB. Мой менеджер является менеджером TeamA, но я также отчитываюсь перед менеджером TeamB, потому что я трачу 90% своего времени, работая в TeamB.
Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда нам нужно что-то разработать, мы обсуждаем дизайн. Почти на каждом совещании по дизайну предложенное мной решение будет отвергнуто, потому что оно требует больших усилий по написанию кода и небольшой сложности. Например: в одной ситуации нам нужно было классифицировать предметы. Мое решение состояло в том, чтобы иметь таблицу с категориями и другую таблицу ссылок, которая будет содержать отношения категории и элемента. Это было отклонено, потому что требовалось создать две таблицы (Category и CategoryItemLinkTable), и в итоге мы жестко закодировали категории для каждого элемента в таблице Item. Причина, которую мне назвали, заключалась в том, что "We will hardly ever change the categories for an item once they are set. And if we do, we will just replace it in the code everywhere."
было много случаев, когда не было причин не любить решение, а просто потому, что им не нравилась идея.
Я также заметил, что другой разработчик и менеджер объединятся против моего решения и выступят против него, что не оставит мне другого выбора, кроме как почувствовать себя"I should have just kept my mouth shut and not come up with anything and do what is told."
Мне нравится место, где я работаю, но я немного смущен тем, что я делаю неправильно. Готовлю проектную документацию, создаю макетные решения и демонстрирую, но все равно отказывают по каким-то малообоснованным причинам.
Может кто-нибудь, пожалуйста, направьте меня, как мне справиться с ситуацией и преодолеть эту проблему?
Либо ваши решения не так хороши, как вы думаете, либо вы не очень хорошо их преподносите. Имейте в виду, что лица, принимающие решения, всегда взвешивают минусы и плюсы, они не обязательно оценивают какие-либо внутренние свойства системы. Таким образом, любой «правильный» дизайн по стандартам компьютерной науки не имеет смысла, если он не может быть представлен в контексте:
Когда вы представляете решение, обязательно упомяните о реальных материальных выгодах, которые принесет ваш подход.
... Что подводит меня прямо ко второй части моего ответа: уверены ли вы, что ваши проекты лучше всего соответствуют потребностям бизнеса? По моему опыту, программисты склонны отдавать приоритет идеологической чистоте или какой-то теоретической правильности, а не чистой прибыли. Их учат этому академические круги и все эти евангелические авторы технических книг. Но это неискренне по отношению к бизнесу, бизнесу важен только конечный результат.
Возьмем ваш пример, когда менеджер хочет меньше строк кода и более простой дизайн БД в пользу жесткого кодирования. Да, жесткое кодирование — теоретически плохая идея, но если вероятность того, что оно когда-либо изменится, близка к нулю, и они достаточно хорошо знают бизнес, чтобы сделать такую оценку, то это может быть правильным подходом. Преимущество их решения заключается в том, что нужно писать меньше кода, меньше кода поддерживать, меньше вещей тестировать и меньше вещей, которые могут пойти не так. Это абсолютно правильное решение в некоторых контекстах.
Итак, мое предложение вам на будущее:
Я не знаю, какое соотношение вы ожидаете или количество предложений, которые вы делаете, но вы не упоминаете 10%, которые они принимают. Может быть, у них есть что-то общее, чего нет у отвергнутых?
Вы должны понимать, что просите внести изменения в то, как все делается.
Пребывания там более года может быть недостаточно для того, чтобы эту компанию признали обладающей достаточно высоким уровнем авторитета. Возможно, вам придется проявить больше терпения.
Мои предложения отклоняются примерно в 95% случаев. Это нормально, и я совершенно счастлив ошибаться. Я делаю предложения, которые я почти уверен, что глупы в отношении сложных вопросов, потому что довольно часто это приводит обсуждение к более ясному результату.
Вы здесь не потому, что вы правы в 100% случаев — вы здесь для того, чтобы внести свой вклад в процесс. Не расстраивайтесь из-за того, что люди отвергают ваши идеи.
Когда мои идеи отвергаются, я спрашиваю об одном: почему? Если они не могут объяснить мне, почему их идея лучше моей, у меня с этим проблемы.
Подводя итог: продолжайте предлагать идеи, пока вас не попросят остановиться.
Здесь есть две вещи, на которые следует обратить внимание.
2 гораздо важнее 1
Вкратце: сделайте шаг назад, проявите стратегический подход, разорвите цикл вводом информации от B
Я считаю, что больше всего разочаровывают те вещи, которые повторяются без видимых улучшений. Я быстро вижу, как они становятся сизифами и падают духом. Но изменения не должны заключаться в том, чтобы вы сдались и стали такими, как все остальные батраки.
Ваши предложения могут быть подходящими, а могут и не быть - часто нужно учитывать нечто большее, чем непосредственная техническая проблема, и часто я ошибался, когда не знал или не принимал во внимание другие соображения. Что более важно, так это прогресс отсюда.
Вам нужно поговорить с боссом Б об этой повторяющейся сцене. Попросите о встрече с ним/ней, пригласите их на обед, что угодно. Вам нужно быть спокойным и восприимчивым, а не агрессивным и обороняющимся; ваша цель — начать работать с Б до точки, когда 50% ваших предложений будут приняты. Этот разговор — единственный способ узнать, есть ли предубеждения против ваших предложений (например, потому что вы моложе или старше и т. д.) — вам могут не сказать об этом прямо, но вы сможете проанализировать ответы на ваши предложения. вопросы, чтобы увидеть, есть ли простая причина или нет.
С одной стороны, ваши предложения могут быть оптимальным решением проблемы в каждом случае, и это всего лишь слепое предубеждение или глупость, заставляющая остальную часть команды не соглашаться. На другом конце спектра ваши предложения совершенно неверны, и вы тратите время всех впустую. И то, и другое маловероятно, даже если ваши эмоции могут поляризоваться в сторону одного или другого (легче эмоционально отреагировать либо комплексом превосходства, либо комплексом неполноценности).
Скорее всего какая-то комбинация. Если, как и я, вы были младшим членом команды, но лучше видели решения технических проблем, то вы, вероятно, немного дискредитируете себя за то, что являетесь младшим, но также чаще, чем вы думаете, не попадаете в цель. Другие соображения, которые вы, возможно, не принимаете во внимание, — это принцип YAGNI («Я тебе это не понадобится»), который противостоит бесконечным шаблонам, чрезмерному усложнению вещей путем добавления слоев абстракции, которые не окупятся, или иногда предполагая, что ограничения, которые вам даны, более важны, чем время, которое вы тратите на решение проблемы (заманчиво попытаться выглядеть блестяще, соблюдая все ограничения, но позволяя значительно увеличить сложность решения).
Это обучающий опыт — некоторые из ваших решений будут технически неправильными, о чем вы обычно узнаете в ходе обсуждения. Некоторые из них будут неправильными с точки зрения управления — слишком много сложности, слишком много времени на внедрение, сложность обслуживания, снижение гибкости в будущем. Некоторые из них будут отклонены по ошибке. Некоторые будут отвергнуты из-за предрассудков.
Поскольку изучение ваших предложений может занять много времени, особенно если у вас их много, я бы посоветовал вам периодически встречаться только с Б, чтобы улучшить свой подход; на этих встречах вы сможете получить более откровенное заявление от Б о том, почему предложения не были выбраны, и, что более важно, получить общее руководство. Вы заметите, что это также дает вам возможность показать, насколько хороши некоторые из ваших решений, что может увеличить вероятность того, что будущие идеи будут приняты.
Раньше я был жаждущим выскочки, готовым покорить мир своими навыками. Я был менее удивительным, чем я себе представлял, но более важным было изменение подхода. Воспринимайте все как возможность для обучения и старайтесь не реагировать эмоционально. Мне потребовалось несколько лет, чтобы перестать принимать это на свой счет, когда мои идеи не принимались или откладывались на черный день.
Подходить к команде нужно стратегически. Помните главное правило трудоустройства: вы здесь для того, чтобы ваши начальники выглядели хорошо . Это не обязательно должно быть вашей личной целью, но знайте, что это решающий фактор в их мнении о вас. Так что ведите подробные заметки о своих идеях, чтобы потом (на личной встрече с начальником Б) подчеркнуть, насколько ваше предложение было бы уместным. Поддерживайте хорошие отношения с боссом B и встречайтесь с B, чтобы работать над улучшением коэффициента успеха; Лучшее понимание того, почему ваши идеи отвергаются, поможет вам сосредоточиться на правильных вещах и не предлагать то, что не будет принято.
Некоторые ответы здесь, по сути, «вы правы, они неправы» - отлично подходят для id, бесполезны на практике. Другие более «они правы, ты неправ» — отлично подходят для эгоизма и комплексов неполноценности и бесполезны на практике. Я прошу вас сделать шаг назад и признать, что они правы в некоторых пунктах, вы правы в других, и есть много серой зоны, где ни одна из ситуаций не является более двусмысленной. Я думаю, что это гораздо больше касается ваших отношений с командой и ваших отношений с самим собой. Вы не выше их, и вы не должны молчать.
Поговорите один на один с менеджером и спросите его напрямую.
Есть личные проблемы?
Следует ли вам изменить тип внушений, которые вы даете?
Асдфг
Дэн Пичелман
Нейромант
Асдфг
Асдфг
Адам В
Адам В
Асдфг
Адам В
Роб Мойр