Кроме того, в аутсорсе очень сложно общаться с заказчиком. Далеко не всегда от лица компании с разработчиками коммуницирует технически грамотный специалист, и тогда общение происходит в прямом смысле слова на разных языках — с соответствующими печальными результатами работ. Или же заказчик бывает таким упертым и негибким (или чересчур гибким), что подрядчикам приходится пилить уже неактуальный, но согласованный в ТЗ функционал или регулярно менять курс, не понимая, с чем это связано.
Плюс к этому есть аутсорсинговые компании, которые работают по ТЗ заказчика, поддерживая legacy-код — то есть систему, которая была написана кем-то раньше (возможно, на устаревшем языке программирования). В обиходе программистов такой вид деятельности называется «работой на галерах». Представьте, вы сталкиваетесь с некоей программной сущностью, которую написал кто-то — возможно, не очень талантливый и одаренный — много лет назад. Это своеобразный программный лабиринт, в котором даже сориентироваться не всегда возможно, не говоря уже о том, чтобы поддерживать его в порядке. Поэтому есть компании, которые полностью отказываются от такой деятельности и берутся за разработку только с нуля. В таком случае уровень «страдания на галерах» можно значительно снизить.
Кстати, по-хорошему разработчики должны покрывать свой код документацией, которая объясняет, что делает тот или иной кусок кода. Тогда новому сотруднику будет понятно, что для чего нужно. Но в случае с legacy такой документации зачастую нет. Вместо нее — костыли, то есть временные решения каких-то проблем: изначально хотели сделать всё хорошо и грамотно, но разработка требовала слишком много времени — и от глобальной переделки отказались. Что-то вроде заклеенного изолентой шлема живущего на Марсе Мэтта Деймона в фильме «Марсианин».
Вендор — это компания, разрабатывающая технологии под собственным брендом. На базе их разработок другие организации могут создавать свои продукты. К такому виду компаний относятся Intel, IBM, Oracle, а наиболее известный российский вендор — фирма «1С».
С точки зрения трудоустройства вендоры очень похожи на продуктовые компании: здесь так же стабильно и спокойно, но иногда скучновато.
IT-консалтинг — эти компании занимаются внедрением уже готового программного обеспечения. Организации, не связанные с разработкой ПО, но нуждающиеся в нем для обеспечения своих нужд, нанимают консалтинговые компании, чтобы те выбрали, предоставили и внедрили им коробочные решения для сопровождения бизнес-процессов.
Работа консалтинговой компании состоит из следующих этапов:
● Консультант собирает информацию о том, какие процессы происходят в организации, анализирует их и предлагает то или иное коробочное решение.
● Если в ходе анализа выясняется, что одного типа софта недостаточно, а нужно, например, объединить несколько систем в одну, то к задаче подключаются разработчики.
● И наконец, новая система внедряется: специалисты проверяют ее работоспособность и обучают сотрудников компании пользоваться новым софтом.
Примеры организаций, которые успешно занимаются консалтингом на российском рынке: «ЛАНИТ», «Ай-Теко», «Компьюлинк», «Террасофт», «ЭкоСофт».
В IT-консалтинге есть несколько неоспоримых преимуществ. В частности, финансовая мотивация в этом секторе порой выше среднего. А удовлетворенность работой высокая: вы чувствуете свою сопричастность к развитию крупных, известных компаний — это настоящая помощь, которая не просто оплачивается. За нее искренне благодарят! При хорошем развитии событий, конечно же.
Что же может пойти не так? Консалтинг — это работа с людьми: представители заказчика могут быть некомпетентны в технологических вопросах. Из-за этого возникают разногласия, требования в процессе работы могут многократно меняться, сроки внедрения — откладываться. Это важный стрессообразующий фактор, который не всегда окупается даже самыми высокими зарплатами.
Наверно, важно также отметить, что консалтинг — понятие чуть более широкое, чем заказная разработка, потому что, помимо непосредственно разработки, консалтеры предоставляют инфраструктурные решения. Но четкого разделения на рынке чаще всего нет.
IT-отделы в компаниях. На сегодняшний день практически не осталось организаций, которым не нужны технологии. Поэтому в компаниях, не связанных с производством ПО, стали появляться IT-отделы, а в некоторых случаях даже дочерние IT-компании. Крупные подразделения разработки есть в банках, страховых фирмах, в организациях, занимающихся строительством и продажей недвижимости.
Преимущества работы в таких структурах обычно измеряются финансовой мотивацией, стабильностью компании и брендом работодателя.
Недостатки же похожи на те, с которыми сталкиваются сотрудники продуктовых компаний: однотипные задачи, постоянная доработка существующего софта, бюрократия, регламенты и фиксированный график (не всегда, разумеется, но бывает).