Изображение сайта easywebstudio.ru

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

Так или иначе, перспектива совмещения техподдержки и разработки программного обеспечения радует далеко не всех программистов. Работа специалиста технической поддержки зачастую оказывается серьезным испытанием для нервов разработчика. Более того, такое совмещение часто сказывается на его результативности. Головному мозгу требуется время для переключения с одной деятельности на другую. Для многих программистов это означает несколько потерянных часов, которые тратятся на то, чтобы вернуться из мира людей в мир алгоритмов и кодирования. А неудачное общение с разгневанным пользователем и вовсе может выбить некоторых разработчиков из колеи на весь день.

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

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


Изображение сайта stihi.ru

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

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

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

Руководство допускает такие ситуации, в том числе, потому, что не относится к технической поддержке достаточно серьезно. На территории СНГ распространены две крайности – в поддержке работают люди, которые умеют общаться, но не обладают знаниями в предметной области; в поддержке работают квалифицированные специалисты, которые не умеют правильно выстроить общение с разгневанными пользователями.

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


Изображение сайта alexandrgilenko.com

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

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

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

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


Изображение сайта videoforme.ru

Если в качестве инструментов применяются e-mail, специализированные helpdesk системы, чаты и социальные сети, то большинству программисту будет намного легче освоиться. Более того, если и пользователь, и разработчик умеют связно излагать свои мысли в письменном виде, они быстро найдут решение проблемы. Ведь в письменно зафиксированном запросе будут на виду детали, которые могут пригодиться для решение проблемы.

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

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


Изображение сайта journal.ib-bank.ru

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

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

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

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

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

А в каких-то случаях, к технической поддержке лучше привлечь менеджера проектов. Особенно, когда поддержка не «слишком техническая» – такая, где более важны общение и достижение каких-то договоренностей.

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

P.S.

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

А в среднем по больнице, с большим трудом можно найти жалобы (если они вообще есть) на принуждение сотрудников саппорта к программированию.


Изображение сайта joyreactor.cc

P.S.S.

«Ты ж программист» – эта фраза давно стала мемом. Так или иначе, каждый ИТшник периодически оказывает техподдержку своим родственникам, друзьям, друзьям друзей и так далее. Иногда это выполняется бесплатно или за «шоколадку» и иногда вызывает раздражение, когда такое происходит слишком часто. Так что, если вдруг на работе предлагают заниматься подобными вещами на постоянной основе, у многих «тыж-программистов» всплывает накопленный негатив.
Поделиться с друзьями
-->

Комментарии (25)


  1. redmanmale
    21.07.2016 13:25

    Всегда?


  1. claygod
    21.07.2016 13:41
    +1

    Помимо минусов есть и плюс, если программист на саппорте получает горячие багрепорты.


    1. Wedmer
      21.07.2016 13:59

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


    1. NeverIn
      21.07.2016 21:19

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


  1. Edmunds
    21.07.2016 14:36
    +2

    А в чём смысл статьи? В том что программист и саппорт бывают в одном лице?


  1. VioletGiraffe
    21.07.2016 14:40
    +4

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

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


    1. saboteur_kiev
      21.07.2016 16:03
      +1

      Предположим, вы устроитесь в Microsoft разрабатывать Excel.
      Сколько багов вы успеете починить, если будете читать почтовый ящик с жалобами пользователей Microsoft Excel и разбираться с ними?
      Сколько жалоб из обработанных вами окажутся именно багами Excel, а не безграмотностью пользователей?

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


      1. VioletGiraffe
        21.07.2016 16:08

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


        1. saboteur_kiev
          21.07.2016 16:32

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

          В крупном проекте, даже мегаразработчик может не знать ВЕСЬ проект очень хорошо.

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


          1. VioletGiraffe
            21.07.2016 16:37
            +1

            Совершенно согласен, что нужна многоуровневая поддержка, и чем сложнее проект — тем больше уровней. Первый уровень — это отдельный человек для сортировки багрепортов и решения простейших проблем. А я, получается, — на уровне 0.
            Но конкретно в моей компании в 10% случаев (которые не безграмотность) только я и могу разобраться. Плюс — преимущества прямого контакта с конечным пользователем.

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


            1. saboteur_kiev
              21.07.2016 18:21

              «Плюс — преимущества прямого контакта с конечным пользователем.»

              Хм. А в чем состоит такое преимущество, если вы не являетесь совладельцем компании, и не влияете на рост продаж софта?
              Если только в том, что не нужно нанимать дополнительного сотрудника, и за этот счет можно увеличить ЗП — то да.

              А так — грамотный саппортер, который пообщается с клиентом, поговорит по душам, создаст в багтрекере четко описанный баг со скриншотами и описанием, и разработчик потратит на изучение бага не 1 час разговоров, а 5 минут чтения тикета — по-моему в этом преимущества лучше?


              1. VioletGiraffe
                21.07.2016 19:12
                +2

                Я не согласен. Я таких грамотных саппортеров пока не видел, во-первых. Доверяю эту работу только себе.
                А во-вторых — я уже говорил, что становится понятно, как расставлять приоритеты, какие фичи делать в первую очередь и т. д.


      1. Edmunds
        21.07.2016 17:52

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


  1. divone
    21.07.2016 15:00
    +1

    Полезно только если в наказание — чтобы меньше багов делать(


    1. Skorpyo
      22.07.2016 13:18

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


  1. DexterHD
    21.07.2016 15:01
    +1

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


  1. oufucom
    21.07.2016 15:37
    +2

    А мне иногда даже нравится.
    Я думаю ощущения сильно зависят от того какой проект, какие пользователи.
    Прямой контакт может дать очень много.


  1. belkamax05
    21.07.2016 15:59
    +1

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


    1. Wedmer
      21.07.2016 17:23

      Да, специфика продукта тоже важна.


  1. vyatsek
    21.07.2016 20:52

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


    1. maxpsyhos
      22.07.2016 04:40

      На практике очень часто сталкивался с тем, что команда пишет софт без детального понимания того, как продуктом пользуются люди.

      Но это вообще-то работа продакт-менеджера, архитектора и UX, но никак не рядового кодера.


    1. 007913
      22.07.2016 13:19

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


  1. DeLuxis
    22.07.2016 07:27

    Чушь какая-то.

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

    Любой фидбэк пользователей, это очень ценный ресурс. Даже письма содержащие строки мата))


  1. ulvham
    22.07.2016 08:25

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


  1. pan_KOST
    22.07.2016 13:25

    Прочитал наискосок, потом внимательнее и всё-равно не понял мысли автора.
    В нормальной компании-вендоре ПО всегда есть специальный отдел ТП, в котором как минимум 1 линия, а часто и 2 и, даже, 3.
    И если инцидент доходит до разработчика, то часто уже в виде конкретного проблемного поведения, которое надо исправить ( т.е. ему поступает максимум информации о проблеме: логи, полученные отделом ТП, привычное описание ошибки от тестера, описание правильно работающего функционала от бизнес-аналитика) — т.е. часто он решает не только инцидент, но и проблему
    И разработчик НИКОГДА не общается напрямую с клиентом

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

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

    С другой стороны, если разработчик не решает в том или ином виде проблемы клиента, особенно если он ведущий/старший и т.п. — то есть риск, что он будет жить в своём мире, совершенно не представляя, как клиенты используют и как они МОГУТ использовать продукт.