Как стать автором
Обновить
537.25
Яндекс
Как мы делаем Яндекс

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

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

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

Сразу скажу, что в Нижнем сейчас мы в основном работаем над нашими геоинформационными сервисами. Большую часть кода ребята пишут на 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. Мы делаем сервисы не для того, чтобы побыстрее отдать и получить денежку, а для того чтобы радовать нас и окружающих. И это очень большой стимул, чтобы работать еще качественнее и быстрее, потому что есть ощущение, что ты помогаешь людям. Особенно если ты сам пользуешься сервисами, которые производишь.

Минусы тоже есть. Как правило проекты сдаются медленнее, потому что за качество надо платить.
Теги:
Хабы:
+27
Комментарии 30
Комментарии Комментарии 30

Публикации

Информация

Сайт
www.ya.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия
Представитель