company_banner

Есть ли разница — работать в аутсорсе или в продуктовой компании? Мнения из Яндекса в Нижнем Новгороде

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

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

    Сразу скажу, что в Нижнем сейчас мы в основном работаем над нашими геоинформационными сервисами. Большую часть кода ребята пишут на Java и C++.Кстати, 20 августа в офисе Яндекса в Нижнем Новгороде пройдет C++ Party, на которую можно прийти, если успеть зарегистрироваться.



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

    Алексей Волохович
    Программирует — 25 лет. В Яндексе — 8 месяцев.

    Лёша — руководитель нижегородского офиса разработки Яндекса. Окончил Нижегородский технический университет им Р. Е. Алексеева. Сейчас преподаёт там дискретную математику. Кандидат технических наук. До Яндекса занимался разработкой и программным менеджментом мобильных устройств.



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

    В аутсорсинге такого нет. Тебе дают какой-то заказ — ты работаешь. Да, серьезно, да, эффективно, но в рамках этого заказа, а что с ним дальше будет, тебя по большому счёту не сильно волнует. Ну, только разве что только то, чтобы заказчик не обиделся и пришел еще раз за таким заказом. Ты не так глубоко переживаешь за то, что ты делаешь. Если смотреть на то, что западные компании аутсорсят в Россию, в общем это не высокотехнологичные вещи. Ни одна серьезная крупная западная компания не отдаст серьезные задачи аутсорсингу. Иначе она на него завяжется и будет зависеть только от него. Поэтому уровень и класс задач, который приходится решать в аутсорсинге, ниже тех, которые нам приходится решать в Яндексе как в продуктовой компании.

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

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


    Олег Климин
    Программирует — 23 года. В Яндексе — год.

    Окончил Нижегородский государственный университет им. Н.И. Лобачевского. На предыдущей работе Олег занимался созданием и поддержкой программного обеспечения для узлов сотовой связи. В Яндексе разрабатывает мобильные геоприложения.



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

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

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

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


    Алексей Чернигин
    Программирует — 13 лет. В Яндексе — год.

    Окончил ННГУ им. Н.И. Лобачевского. Работал в телекоммуникационной компании, где занимался разработкой и поддержкой программного обеспечения для узлов сотовой связи. Затем разрабатывал системы видеонаблюдения и алгоритмы компьютерного зрения для розничных сетей. В Яндексе занимается разработкой мобильных геоприложений.



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

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

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

    Кроме того, в аутсорсинговых компаниях все основано на метриках. Есть просто огромное количество разных метрик продуктивности: количество строчек кода в час, средняя производительность труда, количество ошибок на 100 строчек кода Самое интересное то, что когда компания не выполняет заявленные требования по метрикам, придумываются разные трюки, чтобы им соответствовать. И они не всегда они объективны. Зачастую это превращается в то, что менеджеры в погоне за выполненными требованиями вынуждают людей работать на метрики, что естественно очень плохо отражается как на качестве кода, так и на сотрудниках. В продуктовой компании есть главная метрика — лояльность пользователей. Если ваш продукт пользуется популярностью, если количество людей растет, значит, все у вас хорошо. Здесь тебя не будут подгонять, потому что сегодня к утру ты должен сделать то, что мы пообещали заказчику. Естественно, бывают какие-то экстренные ситуации, когда надо быстро что-то сделать, но в целом нет такого ажиотажа. Главное сделать качественный продукт.


    Павел Сухов
    Программирует — 9 лет. В Яндексе — 5 месяцев.

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

    image

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


    Андрей Магин
    Программирует — 2 года. В Яндексе — 6 месяцев.

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



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


    Михаил Лопаткин
    Программирует — 17 лет. В Яндексе — 1,5 года
    Пишет мобильный Яндекс.Браузер под Андроид. До Яндекса работал в разных аутсорсинговых компаниях. Окончил Нижегородский ГТУ и сейчас тренирует команду университета по олимпиадному программированию.



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

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

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

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


    Роман Кашицын
    Программирует — 11 лет. В Яндексе — год.

    Как и многие наши коллеги в Нижнем Новгороде, окончил ННГУ им. Н.И. Лобачевского. До Яндекса разрабатывал системы страхования, информационной безопасности, управления медиасерверами. Работал над ПО в телекоммуникациях, автоматизированными рабочими местами, порталами. У нас участвует в модернизации бэкофиса справочника организаций.



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

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

    Минусы тоже есть. Как правило проекты сдаются медленнее, потому что за качество надо платить.
    Яндекс
    433,00
    Как мы делаем Яндекс
    Поделиться публикацией

    Комментарии 30

      +6
      После просмотра видео остается впечатление, будто сотрудники как-то идеализировали работу в продуктовых компаниях. Мне же кажется истинная причина в том, что немногие любят гадить там где едят. Вместе с этим присутствует четкое понимание что завтра этот кусок кода / системы выкинуть не получится, а систему целиком нужно постоянно совершенствовать. В таких условиях делать что-то плохо или на скорую руку — себе дороже.
        0
        Я думаю, дело не в продуктовой компании, а в некой культуре. Когда в команду приходит новый человек — ему просто не дают писать криво. Начиная от всяких инструментов, про которые яндексоиды на конференциях рассказывают, которые приводят твой код к общепринятому стилю (CSScomb, например), заканчивая всякими code review. С вами я тоже согласен, не знаю как оно внутри, но скорее всего думают наперёд, врядли в активно развивающемся проекте с дедлайнами остаётся много времени на «потом переделать как надо» :)
          0
          А у меня сложилось впечатление (по данным интервьюируемых), что больше чем на год-полтора никто в Яндексе не задерживается.
          P.S. новый офис, понял
            0
            Да-да, у нас в предыдущих роликах есть ребята, которые по 10 лет работают.
            0
            Как-то идеализировали — это мягко сказано.
            " Мы делаем сервисы не для того, чтобы побыстрее отдать и получить денежку, а для того чтобы радовать нас и окружающих." — звучит, как на лекции для младшеклассников в школе на тему «мой папа программист». Конечно же все дело в денежке, особенно для публично торугемых на бирже компаний, а Яндекс таковой и является. И именно потому, что для больших, долгоживущих проектов качество кода и дизайна выливается в легкость сопровождения и развития, в большую надежность системы, писать качественный код просто более выгодно.
              0
              А насчет «радости окружающих», возьмем самую классику, Яндекс Карты. Заявлено, что приложение может работать в оффлайне, если скачаешь карту. Установил (специально с нуля), стал скачивать карту Московской области. Она скачалась до… 104% (!) И тут же стала скачиваться снова, с 0%. На этот раз, достигнув всего каких-то 102%, наконец скачалась целиком (итого скачалось 206% карты, ну ладно). Далее выключаю вай-фай и запускаю карту. Сначала все хорошо, показывает старое карту, кусок которой еще скачался через вай-фай. Сдвигаю место в сторону и тут же вижу серый фон — чтозанахрен? Карта же скачана только что. Но случайно заметил, что если отъехать «вверх» пальцами на пару масштабных шагов, то карта появляется и даже подгружает новые куски, если по ней двигаешься. Спустился опять вниз, посмотрел — есть дома, но нет номеров домов. Нигде. Специально проверил в нескольких местах. Как только включаешь вай-фай, тут же добавляются дома. Без вай-фай — увы. Дальше, без вай-фая попробовал построить маршрут — не строит вообще. Дальше, без вайфая нельзя посмотреть список уже загруженных карт, потому они почему-то показываются через меню «Загрузить карту», которое исчезает без интернета.
              Вывод — приложение бесполезно в машине, если нет безлимитного интернета. Загрузка карт написано очепнь кривыми ручками и не протестирована, несмотря на миллионы реальных пользователей, которых так хочется «порадовать».
            +2
            Есть опыт в обоих сферах (не масштаба Яндекса, но всё же) — разумеется, в продуктовой лучше, тут даже обсуждать нечего.
            Приятнее, спокойнее, интереснее, работа логичнее и упорядоченнее, больше чувства удовлетворения.
              +6
              А бывают такие компании, которые сами разрабатывают свой продукт, но код у них ужасен. А бывают еще и такие «продуктовые» компании, которые сами разрабатывают свой продукт, но до кучи еще нанимают аутсорс… аутсорс что-то пытается изменить в лучшую сторону, но «продуктовые» не дают это сделать… почему-то. И да, воспринимают тебя как исполнителя, которого слушать не надо, а надо ему только давать задания.
                0
                Совершенно верно. Кроме того, ничего не мешает устроить «аутсорс» внутри компании — ИТ-отдел рассматривается как самостоятельная единица, взаимодействие с которым ведется через взаимные обязательства, стратегией развития продукта ИТ-отдел не занимается.
                +3
                Ни одна серьезная крупная западная компания не отдаст серьезные задачи аутсорсингу.


                Серьезно?
                  0
                  Чтоб не быть голословным, первые две аутсорсинговые компании, которые сразу вспомнил:
                  www.luxoft.ru/clients/index.html
                  www.viacode.com/clients/customer-list
                    +1
                    Компании — серьёзные. Задачи — рутинные. Это из опыта работы в крупнейших транснациональных компаниях со стороны тех, кто отдаёт. Отдают же, например, в Индию не в поисках качественных решений, а чтобы порезать косты.
                      +1
                      Либо чтобы не искать редких специалистов. А те которые их не ищут, а пробуют своими силами, могут последовать примеру toyota. Так что давайте различать аутсорс индийский чтобы порезать косты, или аутсорс потому что для компании проще заплатить конторе, которая на этом собаку съела, чем девелопить своими силами. Давайте будем честными, ни одна серьезная компания не «не отдаст компании аутсорсеру свою серьезную задачу», а скорее не захочет об этом говорить.
                        0
                        Редких специалистов нанимают по контракту напрямую. Хотя иногда редких специалистов могут взять в бодишопе. Но это уже не совсем аутсорсинг. Скорее, консалтинг.
                          0
                          одного? двух? а команду тоже по контракту напрямую нанимают?
                          +2
                          Давайте кокретнее. Ссылки не достаточны. Вы же не знаете, что конкретно доверяет делать Boeing аутсорсерам, и является ли это серьезным проектом для самого Боенга. Может там и не верстка веб-страницы, но уж точно не основной функционал их авионики. И уж точно не то, что составляет главный ноухау компании. Что серьезно для фрилансера Василия, может быть не серьезно для Boieng.
                            –2
                            Простите, но я не фрилансер Василий. Я знаю, а то что вы хотите конкретнее обычно закрывается NDA, и я об этом упомянул. То что вы предлагаете обсуждать, никто в здравом уме и трезвой памяти, не будет выкладывать в паблик. Может быть только гос.сектор обязанный через закупки проводить контракты, но я не ручаюсь за наличие конкурсов. На этом предлагаю закончим диалог которые не приведет к конструктивному обсуждению.
                              0
                              Заканчивайте. Вы сами хотели не быть голословным, но пока у вас не получилось, возможно все дело в NDA, я не спорю. Сказали бы сразу, что вы все знаете, но ничего не скажете :)
                              0
                              Например, движки. Достаточно серъезно для самолета? Более чем.
                                0
                                Движки делает не аутсорсинговая компания, а другая «продуктовая» компания. Прочувствуйте разницу
                              0
                              Если задача критична — нанимают прямо команду, или создают ее внутри платя огромные деньги консультантам на время становления команды.
                              Тот-же Збертех когда организовывался — выкупал нужные комманды чуть-ли не целиком.
                            +1
                            У всех компаний которые указанны в списке ОГРОМНОЕ количество проектов. И судя по моему опыту (работы в Дойче Банке) эти проекты делятся на 2 кучки — бизнес критикал и все остальное. Все остальное спокойно идет на аутсорс. Бизнес — критикал всегда остается внутри компании. Как правило — все самые интересные проекты — бизнес критикал.
                            0
                            запросто дают вот пример по медтехнике
                            –6
                            Разочаровал офис Яши в НН.
                              +1
                              А разве они не аутсорсят на яндекс?
                                0
                                Что вы имеете в виду? Это полноценный офис Яндекса в Нижнем Новгороде.
                              +3
                              Почему все сотрудники проработали в Яндексе максимум полтора года? Это офис недавно открылся, или текучка такая?
                                +1
                                новый офис
                                0
                                Как работавший и там и там…

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

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

                                Тот же Яндекс более 90% доходов получает от контекста, все остальные проекты «перспективные», серьезно на финансовые показатели не влияют и что-то вроде Яндекс.Денег может долго «развиваться» кое-как. В аутсорсинге такое болото долго не продлится, для заказчика большинство таких проектов должны приносить деньги уже завтра.

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

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

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое