Почему программисты идут работать в Яндекс?
=============================================

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

  

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

  

Я запомнил важные особенности, которые применяет компания Яндекс:  

  

1) Один из этапов собеседования всегда связан с алгоритмами (даже несмотря на то, что в работе они использоваться не будут).  

  

2) Как правило, собеседование состоит минимум из трех этапов.  

  

3) Требования выше, чем в среднем требуется для рассматриваемой позиции (особенно это касается джуниоров).  

  

4) Заработная плата ниже, чем в среднем по рынку.  

  

Мой знакомый (джуниор), узнал, что на его позицию рассматривалось около 100 человек. Да. компания предлагает различные корпоративные плюшки, но на сегодняшний день это никого не удивляет.  

  

Поэтому я не могу понять: что именно с точки зрения специалиста может получить программист, который пойдет к ним работать? Особенно опытный. 

> 1) Один из этапов собеседования всегда связан с алгоритмами (даже несмотря на то, что в работе они использоваться не будут).

  

Алгоритмы используются постоянно. Мы не только JSON перекладываем :) Один разработчик может писать код день, в то время как другой сделает больше и лучше за 2 часа. Потому что у него лучше базовые знания, алгоритмы, иногда теория и опыт. Или ситуация, когда нужно разобраться в новой незнакомой технологии, системе. Тут тоже поможет умение быстро решать задачи, анализировать проблемы.  

  

> 2) Как правило, собеседование состоит минимум из трех этапов.

  

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

  

> 3) Требования выше, чем в среднем требуется для рассматриваемой позиции (особенно это касается джуниоров).

  

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

  

> 4) Заработная плата ниже, чем в среднем по рынку.

  

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

  

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

  

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

  

Возможность подобрать себе проект в соответствии с твоим уровнем, возможность поменять проект если захочется попробовать чего-то другого (ротация), стабильность. Возможность сфокусироваться на работе и абстрагироваться от многих бытовых проблем. 

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

Так вот, если по пунктам, то:  

  

> 1) Один из этапов собеседования всегда связан с алгоритмами (даже несмотря на то, что в работе они использоваться не будут).

  

  

Это не совсем верно. На этой секции проверяют не столько зубодробительные алгоритмы, сколько навык написания кода. Да, над задачами нужно будет подумать и применить сортировку/хэшмап/что-то еще, но основной сигнал как раз в том, как человек пишет код. Думает ли он наперед, какие баги сажает, в состоянии ли написать цикл без off by one, если посадил баг, то как будет чинить (проверит по кейсам или попросит кейс? если дать кейс, то найдет ли проблему сам?) - эти навыки как раз дает опыт. На мой взгляд тут нет никакого rocket science  

  

> 2) Как правило, собеседование состоит минимум из трех этапов.

  

  

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

  

> 3) Требования выше, чем в среднем требуется для рассматриваемой позиции (особенно это касается джуниоров).

  

  

Define "в среднем"? Если говорить по-честному, то грейды в разных компаниях очень сильно разнятся. Человек может быть старшим в компании Х, но при этом отсобеседоваться на уровне младшего разработчика. С другой стороны я видел как люди уходили на должность старшего разработчика после стажировки в Яндексе. Важно, что я говорю именно про то, что везде оценивают людей по-разному  

  

> 4) Заработная плата ниже, чем в среднем по рынку.

  

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

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

  

> Поэтому я не могу понять: что именно с точки зрения специалиста может получить программист, который пойдет к ним работать? Особенно опытный.  
> 
> 

  

Если ставить вопрос в таком несколько прагматичном ключе, то:  

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

- Если после предыдущего пункта сразу подумалось "а чего бы тогда не сразу в FAANG?", то в Яндексе интересных и важных задач все еще больше, чем рук, которые способны их решить. То есть большой простор для роста влияния на проект и не только  

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

  

Добавлю еще менее прагматичного от себя:  

- Люди и атмосфера. Работать действительно очень комфортно. Правда трудно объяснить детально в чем это выражается, да и это субъективное ощущение  

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

> 4) Заработная плата ниже, чем в среднем по рынку.

 У диванных экспертов, как правило, зарплата программиста = 100500 миллионов долларов в минуту. А тут опаньки - реалии рынка! Без сказок и розовых соплей.  

  

> Требования выше, чем в среднем требуется для рассматриваемой позиции

 Средняя рассматриваемая позиция на какой стек? На веб-формошлепстов в ЗАО "Рога и Копыта" в молодой, но очень перспективный проект? Так ты не путай х с трамвайной ручкой.   

  

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

  

>  Один из них - junior, другой - middle. Оба отказались работать там после получения оффера.

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

  

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

 Работаю в Яндексе разработчиком почти год.  

Могу ответить на некоторые вопросы.  

  

Про собеседования на технические вакансии есть отдельная страница.  

<https://yandex.ru/jobs/ya-interview/>  

Собеседование состоит обычно из трёх этапов.  

1. Skype предварительное  

2. Обычно серия очных собеседований  

3. Знакомство с командами.  

На 1 и 2 этапах разработчики решают задачи по алгоритмам. Причём решать задачи нужно на бумаге или на маркерной доске.  

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

  

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

И вообще количество вакансий достаточно велико (<https://yandex.ru/jobs/vacancies/dev/),> думаю можешь заранее рекрутеру сообщить, какая область тебе интересна.  

  

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

Плюс в сравнении с другими компаниями корпоративный пакет выделяется в лучшую сторону (сравнивали, например со Сбером).  

  

Яндекс - он большой и разный. Там есть новые технологии и большие данные. У Яндекса огромное количество пользователей. Большое количество разнообразных сервисов. Яндекс умеет делать беспилотные автомобили :) Плюс общий уровень программистов очень высок.   

  

Если есть вопросы и интересно - постараюсь ответить. 

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

  

На этом плюсы закончились.   

  

Дальше идут сплошные минусы.  

зарплата ниже чем по рынку  

потогонка  

ты тут шестеренка  

коронное: работать в нашей компании большая честь  

  

В общем относитесь с здоровым цинизмом и помните что скорее всего вы смените эту работу года через 2 или 4  

В общем не принимайте ничего близко к сердцу кроме денег 

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

Что для вас важнее сейчас и к чему это приведет через 5-10 лет, ваше личное решение.  

  

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

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

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

> Почему программисты идут работать в Яндекс?

  

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

  

Вы перечислил несколько причин, которые, вы, веротяно считаете негативными. Я же их таковыми не считаю.  

> 1) Один из этапов собеседования всегда связан с алгоритмами (даже несмотря на то, что в работе они использоваться не будут).

  

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

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

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

  

> 2) Как правило, собеседование состоит минимум из трех этапов.

  

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

  

> 3) Требования выше, чем в среднем требуется для рассматриваемой позиции (особенно это касается джуниоров).

  

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

  

> 4) Заработная плата ниже, чем в среднем по рынку.

  

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

 а есть ли выбор))) 

> Поэтому я не могу понять: что именно с точки зрения специалиста может получить программист, который пойдет к ним работать? Особенно опытный.

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

**Ответ же - очевиден: кроме того, что он получит запись в трудовую - НИЧЕГО в плане роста опыта!** 

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

  

1. Деньги  

2. Новый опыт  

3. Возможно полезные знакомства 

> Поэтому я не могу понять: что именно с точки зрения специалиста может получить программист, который пойдет к ним работать?

Деньги разумеется.  

  

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

Ну никто не запрещает идти на ту работу, где платят больше.  

  

А так - у всех разные запросы и представления о хорошей работе.  

Я например не представляю как можно работать в крупной конторе вроде яндекса. А кому-то нормально.