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

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

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

Не используйте какое-либо стороннее программное обеспечение, не разрешив своему начальнику проверить условия лицензирования.
вы можете попробовать предложить это и убедиться, что вы можете это обосновать
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
Я чувствую, что этот вопрос - плохой вопрос, как написано. Таким образом, распространение некачественных ответов и флеймов по поводу проектов с открытым исходным кодом в комментариях. Требуется гораздо больше деталей в ключевых областях, чтобы дать полезный ответ.
@ Кокси, я не согласен. Есть несколько очень полезных ответов (с разными мнениями). Любой вопрос с таким уровнем популярности вызовет некачественные ответы.
Шутка была бы над вами, если бы «по-вашему» по существу перестроил компонент, который они хотели, чтобы вы заменили!
Этот вопрос был обманчивым на первый взгляд. Добавление «для чего требуется использование определенной программы с открытым исходным кодом» меняет все в ситуации и коренным образом меняет соответствующие ответы. Похоже, этот вопрос на самом деле звучит так: «Как разработчик, должен ли я включать программу с открытым исходным кодом в программное обеспечение моей компании, не сообщая об этом своему начальнику?»
Несмотря на мой другой комментарий выше, я сталкиваюсь с этой ситуацией чаще, чем мне хотелось бы. Однажды я сделал что-то вопреки пути лидера, не спрашивая разрешения, потому что я был на 90% уверен, что он заранее откажет, но я рискнул, потому что мой путь был не только лучше, это буквально заняло 2 или 3 дня вместо многих недель, поэтому я знал, что не оставлю нас позади. Я подождал, пока лид воспользуется моей работой и после того, как он похвалит время и качество, затем я дал ему знать, как я это сделал, прежде чем он изучит код, и я сказал, что все еще могу сделать это по-своему, если он захочет. Я приготовился к удару, опасаясь ответной реакции, но (1/2)
(2/2) ... но он признал, что то, что я сделал, было великолепно - он фактически зашел так далеко, что назвал меня "гением" за то, как я реализовал свой путь. Он согласился, что сказал бы «нет», если бы я спросил заранее, но теперь он попросил меня использовать одну и ту же технику несколько раз с тех пор вместо его способа. Обратите внимание!: я не предлагаю вам идти на этот риск; это риск , которым я, к счастью, воспользовался. Это может также легко привести к уведомлению в вашем файле отдела кадров, что сделает вас на один шаг ближе к увольнению за неподчинение. Мой случай был несколько уникальным, и я решил, что, вероятно, со мной все будет в порядке.
@Coxy Вы можете обвинить HNQ в низком качестве. На самом деле вопрос здесь таков: «Мой начальник попросил меня выполнить задание с использованием метода X. У меня есть метод Y, который, по моему мнению, лучше. Должен ли я все равно делать X, как говорит мой босс?» Часть программы с открытым исходным кодом имеет отношение только к этому конкретному сценарию, но общий вопрос применим даже за пределами разработки программного обеспечения.
@ Аарон, я бы хотел, чтобы вы конкретизировали это в ответ, но я вижу, что защита вопроса не позволяет вам сделать это в данный момент, что немного обидно. Тем не менее, хотя ОП будет указывать детали, относящиеся к его конкретному сценарию, мы всегда можем попытаться сделать вопрос как можно более общим, а затем дать ответ, который применим не только к ситуации ОП, но и к некоторым другим. По этой причине я намеренно избегал упоминания о программе с открытым исходным кодом в своем ответе. Ваш комментарий/ответ и большинство других ответов также делают это!
Возможно, «необходимое изучение» и есть весь смысл задачи...

Ответы (13)

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

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

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

Я рассматриваю возможность отрицательного голосования только за «Как только вы получите несколько проектов за пояс» из-за того, как оно применяется. Если бы ОП просто предлагал предложения, то несколько проектов под вашим поясом совершенно не нужны. Я съеживаюсь от групп, которые так сильно унижают новых разработчиков, что даже не могут внести предложения. Пусть они предлагают; предложение не является решением. Не позволяйте им тратить все время на то, чтобы все время предлагать плохие идеи, но, пожалуйста, позвольте им предлагать.
Здесь есть некоторая ложная дихотомия. Часто в подобных ситуациях в качестве инструмента тестирования можно использовать более простой подход. Когда эта реализация дает разные результаты, разработчик выясняет, почему. Это отличное обучающее упражнение для разработчика. Это также дает возможность продемонстрировать альтернативу и обсудить ее плюсы и минусы. Обсуждение рабочего подхода отличается от обсуждения идеи. Очевидно, что время беспокоит. Если вы увязли в своей «легкой» идее, от нее следует отказаться, по крайней мере, в краткосрочной перспективе.
@ Аарон полностью согласен. Новая пара глаз, новый мозг, свежие идеи всегда приятны. Предложения хорошие. Этого парня наняли не просто так. Поболтать о том, как и почему для проектов — отличное умственное упражнение. Помогает вам доказать, что вы знаете свой домен. Иногда нужно сократить обсуждения, но я всегда предпочитаю спрашивать+обсуждения, а не сварливое бормотание о том, что «мой способ лучше». Это помогает и начальнику, и новичку. Это не работает в фаст-фуде, это программирование.

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

Босс, я проанализировал эту задачу, и меня интересует следующий альтернативный подход. Что вы думаете об этом?

Есть два основных результата, оба из которых могут быть вам полезны:

  • Босс объясняет вам 1 , почему предложенный им подход лучше

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

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

  • Босс понимает, что ваш подход лучше

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

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


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

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

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

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

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

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

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

Верно. Я позволил нескольким разработчикам уйти после того, как неоднократно не выполнял мои просьбы. И у меня обычно нет времени, чтобы объяснить общую картину достаточно подробно, чтобы эти разработчики могли увидеть и понять свет. Быстрый вопрос «в чем проблема с этим решением с открытым исходным кодом?» должен получить (от хорошего менеджера) 20-секундное объяснение вроде «это помешает нам эффективно интегрировать единый вход в спринте 15».
@BrianLeeming не объясняет разработчикам общую картину 50% вашей работы менеджера? Остальные 50% следят за тем, чтобы им никто не мешал во время работы?
Честно говоря, Эрик прав. Команда должна иметь хотя бы представление об общей картине, если вы ожидаете, что они получат реальное удовлетворение от своей работы. Постарайся держать их в курсе, @Brian, хотя бы на каком-то уровне. И, кто знает, может быть, вы обнаружите, что у одного из них есть блестящая идея, которая может облегчить жизнь всем. Разве они не для этого?
@Erik Звучит как что-то, что может сильно различаться в зависимости от структуры и иерархии команды. В зависимости от ролей менеджеров, они могут быть заняты другими делами. Я не говорю, что это хороший или плохой способ организации компании, просто говорю, что не каждая компания будет иметь одинаковую структуру.
@Erik Работа менеджера состоит в том, чтобы привести сотрудников в соответствие с целями бизнеса. Некоторые разработчики хорошо отреагируют на общую картину, а другим все равно. Младшие разработчики должны чувствовать себя способными задавать вопросы и иметь опыт, достойные менеджеры должны использовать способность разработчиков использовать эту информацию.
@BrianLeeming, зачем вам нанимать людей, которым наплевать на цели бизнеса? Они звучат не очень продуктивно.
@erik, если бы найм был таким простым...

Слушай своего босса

Младшие разработчики часто не видят аспекта ремонтопригодности предлагаемых решений. Да, у вас может быть блестящий открытый подход к решению проблемы, но это не поможет вашему боссу (или компании) в долгосрочной перспективе, если вы единственный человек в команде, который знает, как его поддержать. Подумайте о том, что произойдет, если вы отправитесь в отпуск, заболеете или уедете. Что происходит тогда? Это не твоя проблема, но твоего босса это может разозлить.

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

Да. И делать себя даже фрикционно незаменимым - не очень выгодно, пока есть еще "младший" и пока вы, вероятно, еще не можете нести вес своих решений.
По моему опыту все совсем наоборот. Если вы пишете что-то проприетарное, вы, скорее всего, потеряете знание того, как это работает, когда кто-то уйдет. Проекты с открытым исходным кодом имеют сообщество, пусть и небольшое, на которое вы можете положиться.
@Michael Как человек, которому было поручено переписать весь модуль, оставленный кем-то, кто ушел, я полностью с вами согласен. Он даже оставил приличную документацию. Мы могли понять, как работает код, но нескольких исправлений было достаточно, чтобы колода карт развалилась. Вероятно, у него был лучший способ исправить эти ошибки, но мы решили, что переписать его с нуля (с повторным использованием некоторых методов из его кода) в долгосрочной перспективе будет дешевле. Мы даже в шутку назвали его «Последним модулем Ферма».

Должен ли я делать то, что просит босс?

ДА

Вы всегда должны делать это так, как просит ваш босс.

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

Допустим, я ваш босс. Если я скажу тебе сделать А...

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

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

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

  4. ... и вам не удается убедить меня, что Б лучше, и вы делаете Б... см. (1) . Вероятно, хуже: вы не можете заявлять о незнании или доброй воле, поскольку я прямо сказал вам не делать Б.

  5. ... и вам не удалось убедить меня, что B лучше, и вы делаете и то, и другое, чтобы "доказать мне", что это лучше... это рискованный ход. Вы бы потратили больше времени, возможно, без необходимости, и даже если бы вы были правы, я мог бы возмутиться вашим неповиновением. Это ДЕЙСТВИТЕЛЬНО зависит от моей личности, текущего настроения и ваших отношений со мной. Это рискованно, и я бы посоветовал это только в том случае, если вы ЗНАЕТЕ своего босса и ДЕЙСТВИТЕЛЬНО ДУМАЕТЕ, что это сработает. Даже тогда это рискованно.

Поэтому, если вы действительно считаете, что ваш способ (Б) лучше, вы должны привести веские доводы в его пользу, достаточно, чтобы ваш босс сказал: «Хорошо, давай, попробуй». Не будьте раздражающими или чрезмерно настойчивыми. Если вы не получите его одобрения, просто оставьте это. Делай, как они говорят. Заработайте их доверие и уважение добросовестной работой, и, возможно, в следующий раз они будут более открыты для ваших предложений.

Мне очень нравится этот ответ. У меня был менеджер, который прямо и срочно сказал мне сделать что-то, что наносило ущерб. Я сделал это, не думая о вредных последствиях. Затем я извинился, потому что с моим опытом я должен был немедленно предупредить его, но я увяз в срочности. К моему большому удивлению, он обернулся, извинился передо мной и сказал, что это его вина. Это был первый и, возможно, единственный раз, когда я услышал от него, что он в чем-то ошибается. Другими словами, он ценил то, что я следовал его прямым приказам, хотя я должен был знать лучше.
Этот совет довольно ужасен. Причина, по которой вы должны слушать своего начальника, заключается в том, что у него больше знаний или более высокий взгляд/лучший контекст ситуации. Если вы знаете способ сделать что-то лучше, чем ваш босс, то либо вы знаете что-то, чего не знает ваш босс, либо ваш босс знает что-то, чего не знаете вы, и ваша обязанность как работника — восполнить этот пробел. Как менеджер, худшие сотрудники, которые у меня когда-либо были, были безмозглыми трутнями, которые делали именно то, что я им говорил. Я бы предпочел нанять кого-то, кто будет думать независимо, а вместе со мной сверяться с более широким видением.
Если у вас есть работа, на которой вам не нужно думать, тогда ладно, следуйте тому, что говорит ваш босс, чтобы сохранить свою работу. Если вы действительно хотите получать удовольствие от своей работы, внося свой вклад в нечто большее, чем ваша непосредственная работа, выходите за рамки возможного и всегда стремитесь к лучшему. Если ваш босс иррационален и не хочет, чтобы вы это делали, делайте то, что вам нужно, пока не найдете работу получше.
@ user1234567890abcdef «Если вы знаете способ сделать что-то лучше, чем ваш босс ... ваша обязанность как сотрудника — восполнить пробел». Мне кажется, этот ответ говорит то же самое. Извините, я не понимаю вашего беспокойства.

Ваш босс, ну, ваш босс.

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

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

Это их решение.

Это не сложно.

Да и нет. Ни один порядочный начальник не хочет быть микроменеджером. Начальник нанимает мозг и инициативу сотрудника, а не только его руки.
@superluminary: Да, я сказал, что босс может прислушаться к вам и сделать так, как вы рекомендуете. Но дело в том, что они боссы. Вы делаете то, что они в конечном счете инструктируют. ОП задается вопросом, не является ли это необязательным; нет, это не так.
И если вам, как боссу, не нравятся их советы, вы выпускаете на них своих драконов и расплавляете им лицо. Верно? Простой. :)
@Wildcard: Это может сработать.

Одним словом, да.

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

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

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

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

В подобной ситуации главный вопрос звучит так: «Стоит ли подталкивать моего босса к тому, чтобы меня уволить?»

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

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

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

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

«Нет ничего более раздражающего…» . Я полностью не согласен. Ваша работа как менеджера состоит в том, чтобы нанимать людей, которые умнее вас. Наборы управленческих и технических навыков различаются, и, как указано в других ответах, у разработчиков часто больше знаний, чем у их менеджеров.
@adelphus Верно, но младшему разработчику неразумно считать, что он умнее своего менеджера. Он сам говорит, что метод менеджера потребует некоторого изучения для реализации, поэтому, очевидно, он не очень хорошо с ним знаком, и поэтому я бы сказал, что он не в том положении, чтобы решить, лучше ли его метод.
Нет ничего глупее того, кто упивается своей глупой верой в то, что все остальные должны быть умнее.
@UpAllNight, я хочу, чтобы вы реализовали веб-сервер на языке ассемблера. Если реализация этого потребует от вас некоторого изучения, то, очевидно, вы не в том положении, чтобы решить, что другой способ лучше.
Дело в том, что это не имеет ничего общего с «быть умнее». Это связано с обязанностью каждого понимать свои обязанности и задачи. И член группы должен настаивать на своем праве инициативы. Если он видит то, что кажется ему лучшим способом достижения целей группы, но это нельзя делать таким образом, он имеет право понять, почему нет.
@Wildcard Я делаю это все время

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

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

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

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

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

Помните также, что, хорошо это или плохо, сообщество программистов очень кастовое. Старшие разработчики не всегда хорошо относятся к младшим разработчикам, думая, что они лучше знают, даже если это так. В конечном счете, вы должны проявлять уважение во всем, что делаете. Даже если вы знаете, что какой-то конкретный разработчик, ваш начальник и т. д. совершенно не прав, не говорите об этом просто так. Вместо этого подходите к конфликтам с точки зрения обучения. Попросите своего начальника или кого-то еще (любезно) объяснить, почему что-то нужно делать так, как они говорят, чтобы вы могли по-настоящему понять. Часто вы можете начинать разговор таким образом и, возможно, излагать свои идеи в более спокойной манере, когда ваш начальник слышит не столько «вы неправы», сколько «давайте вместе найдем лучший способ».

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

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

Как уже говорили другие, короткий ответ «да». Делайте то, что сказал вам ваш босс.

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

  1. Что уже пробовали в компании и почему что-то сработало, а что-то нет. Причины отказа часто не технические; они могут быть больше связаны с опытом персонала, готовностью инвестировать, организационной структурой или даже внутренней политикой.
  2. Какие будущие проекты зависят от текущего.
  3. стратегический план компании; в частности, видение компании того, чем они хотят быть известны.
  4. Какие атрибуты клиенты ценят в ваших продуктах
  5. Какие вещи могут быть объяснены вашими продавцами/маркетологами (если таковые имеются) и, следовательно, использованы для продажи продукта.
  6. Юридические последствия того, что делаешь так, а не иначе.
  7. Широкие экономические/финансовые последствия того или иного способа действий по сравнению с другим.
  8. Предполагаемый срок службы кода, который вы пишете.
  9. Планы по его поддержанию/улучшению.

В идеальном мире ваш менеджер объяснил бы вам все эти вещи, чтобы вы знали весь контекст работы, которую вы делаете. Но не у всех менеджеров есть на это время/желание. Вы можете настаивать на этих объяснениях, но прекратите настаивать, если почувствуете какое-либо раздражение. Без этих объяснений вы не сможете сказать, какой подход «лучше», поэтому просто делайте то, что сказал вам ваш начальник.