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

48

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

staticx
источник
связанные: programmers.stackexchange.com/questions/8301/…
губка
2
Под технической поддержкой вы имеете в виду поддержку конкретных приложений, которые они разрабатывают, или общего типа системного администратора? Я могу сказать вам, что раздражает работа в небольшой фирме, когда люди заставляют вас устанавливать Excel.
Карлос
12
Можем ли мы? Нет? Да. Я ненавижу это.
Рэйчел
7
Инженер должен всегда стремиться делать, казалось бы, невинные ошибки, которые вызывают больше работы для человека, который считал, что было бы хорошей идеей использовать их для технической поддержки.
Эрик Реппен

Ответы:

74

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

Вовлечение разработчиков в поддержку производства

Pros

  • Бои "Развитие в вакууме", синдром . Очень важно узнать, как пользователи используют приложение. Пока я, наконец, не увидел это как молодой разработчик, я не понимал, насколько я был дурацким разработчиком пользовательского интерфейса. Все, что меня волновало, - это кодирование, а не дизайн, анализ или точка зрения пользователя.
  • Разработчики, которые не так хороши, как они думают, могут быть унижены (хотя нет никакой гарантии, что вы получите эту выгоду; некоторые разработчики действительно забывчивы, эгоистичны и упрямы).
  • Разработчики получат знание предметной области . Это очень важно, если ваши разработчики в конечном итоге станут лучше в выявлении и заполнении пробелов, которые пропускает фаза бизнес-анализа (при условии, что она есть).
  • Хорошая поддержка - это точка маркетинга. Если вы делаете это хорошо, клиенты оценят это. И всесторонний разработчик с коммуникативными навыками и знанием предметной области способен сделать это хорошо. Однако я все же предпочел бы, чтобы приложения были достаточно высокого качества, чтобы они не нуждались в поддержке. Превосходное качество - это собственная форма поддержки клиентов (а также точка маркетинга).

Cons

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

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

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

Бернард Ди
источник
1
Я думаю, что поддержка проекта в разработке не плохая. Разговаривать с клиентом это хорошо. Но если вы работаете над 7 проектами с 7 различными сроками и срочностью ... Через некоторое время это серьезно не очень хорошо. это очень плохо.
Лоик Фор-Лакруа
4
Я также видел магазины, где разработчики, которые не выполняют свои сроки, просто пожимают плечами и говорят: «У меня было много времени на поддержку на этой неделе. Никаких ошибок, пользователям просто нужно было держаться за руки». Как правило, не было никакого способа определить, происходит ли это, или разработчик просто медлил на этой неделе. Пока вы контролируете это, я поддерживаю разработчиков, поддерживающих их код, но не поддерживающих поддержку по телефону.
Кейт Грегори
10
Должен быть передний уровень поддержки, чтобы отвечать на вопросы RTFM, оставляя только вопросы с полезным техническим контентом / отзывами для разработчиков.
Роберт Харви
4
@Christopher: Системы с самоописанием - хороший идеал, к которому нужно стремиться, но которого трудно достичь на практике. Существует множество факторов и давления со стороны заинтересованных сторон, которые сговариваются против того, чтобы делать их хорошо, и всегда будут пользователи, которые «не понимают этого».
Роберт Харви
1
Отличный ответ. Моя компания находит хорошую золотую середину - каждый разработчик тратит один день на техническую поддержку 3-й линии, вращаясь через команду. Если вы работаете в сфере технологий, вас могут прервать в разумных пределах, но все остальные невосприимчивы, если не произойдет что-то важное В наши дни, посвященные технологиям, мы склонны делать более легкие исправления ошибок, админки и т. Д., Чтобы не оказаться в сложной ситуации, когда их прерывают ... Так что в основном у всех нас есть день, чтобы делать дерьмо, которое разработчики ненавидят, но должны делать, но знают, мы получаем случайные звонки в службу поддержки, чтобы разбить его. Что еще более важно, это здорово, зная, что вы остаетесь невосприимчивым в остальное время!
Джон Стори
18

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

оборота Пемдас
источник
18

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

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

Опять же, я не мог не подчеркнуть, насколько важно уметь фокусироваться на одном или другом аспекте.

оборота IAbstract
источник
+1 Я могу относиться ко всему, что ты сказал. Я был в похожем положении несколько недель назад. Теперь у нас нет телефона, но они все равно стучат в дверь, даже для таких вещей, как: «Эй, ребята, вы видели Х вокруг?» геэз!
Джейсон
1
Вы можете выделить «рабочее время», чтобы избежать перерывов. Поддержка по телефону не очень хорошая идея.
JeffO
2
Согласитесь также, что полу-нефункциональные программисты не очень хорошо поддерживают людей :)
Homde
6
Это плохой ответ на мой взгляд. Разработчик, которого НИКОГДА не поддерживает, никогда не узнает, как его решения влияют на пользователя, хорошие или плохие. Наблюдение за тем, как кто-то пытается использовать программное обеспечение, может стать серьезным пробуждением, даже если вы считаете, что оно соответствует спецификациям. Существуют способы смягчить его негативные аспекты: чередование расписаний среди разработчиков, справочная служба для обработки вызовов об исключении, поэтому вы поддерживаете только свое приложение и т. Д. Если у вас есть разработчик, который «неисправен», нужно задаться вопросом, насколько он полезен. на самом деле, если они не могут даже поговорить с пользователем. Контролируйте, если необходимо, чтобы они могли учиться.
Джей
1
@BryanOakley: есть план, который получит техническую поддержку. Несмотря на то, что я все еще поддерживаю мой ответ, нереально ожидать, что стартап будет иметь весь персонал, необходимый для адекватной поддержки и развития клиентов . Я бы по-прежнему рекомендовал, чтобы основной задачей разработчика была разработка, а не поддержка клиентов. Проблема заключается в том, что, когда разработчик имеет тесные связи с клиентом, разработчик либо: (а) всегда будет связываться напрямую с клиентом, а не с надлежащими техническими каналами, либо (б) в конечном итоге разрабатывается специально для потребностей этого клиента, а не широкий спектр необходимого развития.
IAbstract
10

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

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

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

Берин Лорич
источник
Zappos построил империю, которая идет вразрез с правилом от первого лица.
JeffO
Я не знаю о Zappos, но это кажется достаточно верным для большинства компаний. Все, что я знаю, это то, что, если я достаточно расстроен, чтобы позвонить в техподдержку, мне будет плохо из-за человека на другом конце линии.
Берин Лорич
Никогда? Как никогда, никогда? Даже если вы были маленькой компанией, состоящей из продавцов и одного или двух разработчиков? Даже если ваши разработчики были очень сильными коммуникаторами и любили общаться с клиентами?
Брайан Оукли
Вы хотите, чтобы ваши разработчики воспринимались как знающие - сделайте их вторым человеком, с которым клиент общается. К тому времени клиент успокоится и будет вести себя более разумно. Теперь, если с клиентом у вас хорошие отношения, и это не первое знакомство, которое разработчик имеет с клиентом, то это было бы прекрасно. Первый контакт должен быть проверен сначала через кого-то еще.
Берин Лорич
Как кто-то, кто был на первой линии поддержки - я думаю, что правило для "гневного звонящего, думающего, что первый человек, который отвечает на телефон, является неправильным", не правильно. Хотя я могу говорить только из собственного опыта . Иногда разгневанный абонент , который делает думаю , что это либо осознает свою ошибку ( до тех пор , как прифронтовых на самом деле это хорошо осведомленный ) , или они просто не ищут решения, а кто - то виноват - а это значит , никто не может помочь им. Я все еще согласен в целом - разработчики должны быть последним контактом, как только будет установлено, что где-то есть ошибка (или высокая вероятность ее появления)
DoubleDouble
9

Это зависит от компании.

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

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

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

badgerr
источник
Я в той же лодке, что и вы, и полностью с вами согласен. Однако, должно быть возможно и чаще, что регистратор берет вызов и записывает примечание для Вас, чтобы ответить этому клиенту. Таким образом, вы можете не прерывать работу и перезванивать, когда вам это подходит. Однако перезвоните в тот же день, предпочтительно в течение 2 часов после звонка.
Htbaa
3

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

user1842
источник
4
Есть определенный закон с технической поддержкой: первый парень, которого вы получаете, всегда неправ. Он может быть самым проницательным человеком в команде, и в силу того, что он первым взял трубку, клиент не сможет им доверять. По сути, существует первый парень, который позволяет клиенту выходить и выдыхаться, чтобы следующий мог быть «спасителем». Это имеет место в любой профессии обслуживания клиентов - не только техническая поддержка.
Берин Лорич
@BerinLoritsch Это закон, который усвоен из опыта, а не как неоправданное предубеждение, как вы, похоже, подразумеваете. Я не знаю, что нужно для того, чтобы убедить центр поддержки в том, что да, я попробовал обычные решения. Очевидно, что это не может быть основано на том, что я прошу, но я заметил, что из 20 слов или меньше я могу знать, выполнил ли человек свои основные неполадки.
Milind R
3

Разработчики должны быть последней линией поддержки.

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

Если это действительно большая проблема, мы ее услышим.

Карра
источник
2

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

JeffO
источник
2

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

BMW
источник
2

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

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

talonx
источник
2

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

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

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

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

Дэвид Торнли
источник
1

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

Я думаю, что лучшая общая стратегия (безотносительно к размеру компании или ресурсам) состоит в том, чтобы использовать команды поддержки для устранения проблем с низко висящими фруктами и наиболее распространенными проблемами («Вы пробовали выключать и включать?»). Инженеры должны работать с заказчиками над более сложными проблемами, которые требуют знания работы системы, а также поддержки, ориентированной на разработчиков (API, инструменты для разработчиков и т. Д.). Вы можете сделать так, чтобы сотрудник службы поддержки действовал как «обманщик», но я считаю, что обычно это больше проблем, чем оно того стоит.

Джейсон Бейкер
источник
1

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

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

оборота диетбудда
источник
2
Исправление: нет ничего похожего на множественные 3AM-звонки, которые позволят вам понять, как определенные дизайнерские решения и / или сочетания клавиш, навязанные вам вашим менеджером, влияют на способность людей поддерживать и поддерживать ваш код. Плохой дизайн и код чаще всего являются результатом плохого управления, чем плохие программисты.
Дэвид Торнли
0

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

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

Комплект
источник
0

Я попал в эту ловушку, когда присоединился к компании с хорошей оплатой. Во время интервью мне сказали, что будет 70% развития и 30% поддержки, и я принял предложение. Может быть, это компания или среда, над которой я сейчас работаю. Но на самом деле это 90% поддержки и 10% развития. Это было пару лет назад, я потерял контроль над развитием. Сожалею, что принял это предложение.

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

К сожалению, я в тупике.

Пожалуйста, не принимайте роли, если вам не нравится или не интересует.

Чужой человек
источник
-1

Минусы - при условии, что вам приходится иметь дело напрямую с клиентами.

1) баловать своих клиентов

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

2) Подготовка ваших разработчиков к тому, чтобы они лгали и выдумывали истории.

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

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

3) Ваша биография страдает.

Если вы не переходите от инженера-программиста к бизнес-аналитику / ИТ-консультанту / управлению проектами, ваше резюме будет страдать от технического аспекта.

Платная вспомогательная работа, которая вращается среди команды, - это отдельная история.

Pros

1) Остановить нытиков от нытья

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

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

Да, потому что они делают. Я хотел бы, когда я прочитал этот вопрос? Я был похож на то, как это вообще вопрос (не то, что я подвергаю сомнению ваше право задать вопрос OP), но это довольно риторический вопрос, потому что почти у каждого разработчика, с которым я когда-либо встречался, была какая-то работа по технической поддержке, подразумеваемая внутри его ее работа функции. Вы просто не можете избежать этого. В большинстве случаев вы самый технически компетентный человек не только в вашей функциональной области, но и в плане ИТ в целом. Это очень трудно избежать полностью.

Анонимный тип
источник