Хекслет – лучшая школа программирования по версии пользователей Хабра. Наши выпускники уже 10 лет трудоустраиваются в топовые IT-компании. 80% выпускников находят работу в IT. Готовим разработчиков с учетом требований реальных работодателей и уверены в качестве образовательных программ, поэтому гарантируем трудоустройство.
Этот подкаст об IT, программировании, карьере и жизни разработчиков. Интервью с программистами, тимлидами, HR, вебинары об инструментах программирования, публичные собеседования, распаковки ИТ-компаний и многое другое.
Hexlet (00:00.11)
Всем привет, на связи Хекслет. Сегодня у нас, наверное, необычный выпуск, потому что обычно выпуски у нас как-то посвящены гостям, часто бывают. Сегодня наши гости скорее будут рассказывать про одну интересную тему, про собеседование в Яндексе.
Hexlet (00:27.118)
Собственно, нами сегодня Сергей, Андрей. Представьтесь двух словах про себя, расскажите. Я Team Lead, одна из фронтовых команд в Яндексе, в частности, яндекс.играх, а еще я провожу очень много собеседований фронтендеров и в целом помогаю менять найм фронтендеров в Яндексе. Класс. Спасибо тебе за это. Меня зовут Сережа, также известен в узких кругах как Вигед. Я директор по взаимодействию с разработчиками. Очень...
тоже давно являюсь фронтендером, много провожу собеседований, и в целом отвечаю за процесс собеседований, в том числе фронтендеров. История вообще про собеседование в Яндекс. Я скажу так, что в своей практике я являюсь, можно сказать, вашим амбассадором, потому что когда речь заходит про какую-то более серьезную подготовку и так далее, меня всегда в первом списке идет Яндекс, потом кто-то еще. И, например, у нас есть история...
про которую мы, немножко с вами общались до старта, но я про неё не рассказывал. У нас есть свой колледж, в котором учатся полторы тысячи студентов, в следующем году будет две с половиной тысячи. То есть это очень большая организация, которую, кстати, больше всего программистов учат среди колледжей вообще в России. там такая история. У нас с этого года запускаются буквально через неделю такое понятие, алгоритмические группы, где будет для более сильных ребят специальная дополнительная алгоритмическая подготовка, там специальный преподаватель под это нанят, который всяких разных крутых ребят растил.
И в том числе это мотивируется тем, что, ребята, если вы хотите попадать в такие компании, как Яндекс, вам это нужно, и это является частью. Так что, быть, наши ребята, так сказать, до вас дойдут. Будем надеяться. Да-да-да. И, соответственно, сегодня мы поговорим об этом с вами активно, о мифах, которые там есть, о проблемах, которые есть, о том, как это меняется. У меня самого много вопросов, это очень касается, потому что и Хекслита, и людей чего ожидают, и т.д. Давайте начнем.
Я, наверное, если вы не против, я прямо сразу начну с вопроса, потому что самая, наверное, вещь такая распространенная, может быть, она уже является мифом, она связана именно с восприятием вообще таких компаний, как Яндекс, что типа собес – это очень жесткая, многоступенчатая прогон по алгоритмам и каким-то тяжелым вещам. И, как правило, это, наверное, не только Яндекс. Относится ко всем, говорят, что не факт, что тебе вообще это на работе понадобится или нет. Особенно таким ненастоящим программистом, как фронтендеры.
Hexlet (02:49.549)
Я вообще зацепился, вот ты сказал про колледж и про алгоритмический курс, и меня вот это вот слово «алгоритмы»… Мы прямо очень много боремся с тем, чтобы люди правильно его воспринимали, потому что для многих ребят слово «алгоритмы» ассоциируется с каким-нибудь там курсом, классическим, университетским алгоритмом структуры данных, и начинаются какие-то эти вьетнамские флешбеки, понимаешь, что ты ничего из этого не понимаешь, там не помнишь или еще что-то такое.
И это с одной стороны. А с другой стороны, de facto, любая программа, которую мы с вами пишем, является алгоритмом. И просто по определению, называется. поэтому что такое алгоритм? Это такое не очень понятное слово. С одной стороны, есть какое-то формальное определение, а с другой стороны, некое устоявшееся флёр, что за этим стоит. И то, что хочется подсветить, что...
Когда мы нанимаем именно front-end разработчиков, мы не спрашиваем чего-то, что связано именно с какими-то там тяжелыми алгоритмами. Вас не заставят вращать деревья, вас не заставят, не знаю, самостоятельно реализовать quicksort или еще делать какие-то такие штуки, самостоятельно писать какие-то хэш-функции и так далее. Но понимать, что такое, например, алгоритмическая сложность, понимать, что два...
последовательных цикла отличаются от двух вложенных циклов по одной и же размерности. Вот такие штуки понимать нужно и как раз таки в работе в том числе, потому что это непосредственно влияет и очень таким фундаментальным образом на то, как работает ваш интерфейс и для пользователя, и, например, на сервере, как он расходует железо, если мы говорим о каком-то бэк-энд, фоффронт-энд серверном джава скрипте. Вот, поэтому
алгоритмы и структуры данных, наверное, это действительно скорее бонусный какой-то такой предмет, который просто как зарядка для ума был бы полезен всем инженерам, но он действительно не является прям непосредственно необходимым и обязательным. Но базовое понимание алгоритмов, именно поэтому наша секция называется сейчас «Базовые технические навыки». Вот базовое понимание алгоритмов, оно и нужно, и в работе нужно, ровно поэтому мы его проверяем на собеседованиях. Ну я бы еще добавил.
Hexlet (05:14.509)
наверное, что вот неправильно учить алгоритмы только для того, чтобы пройти куда-либо в какую-либо крупную компанию, потому что на самом деле это плохая мотивация это учить, потому что так, скорее всего, не научишь. И тут, мне кажется, лучше делать упор на то, что какие-то знания алгоритмов, на самом деле пригодятся тебе в настоящей тропоте и чем богаче твой...
набор этих инструментов тем лучше ты будешь выполнять свою работу то есть условно если фронтрейдер хочет не просто там кнопочки перекрашивать а что-то делать серьезно интересное там в сервисах с нагрузкой и все такое прочее то ему это просто не необходимо иначе он не сможет некоторые задачи сделать да ну то есть если он хочет попадать в интересные проекты делать интересные штуки ему этот багаж должен быть большим
Это, знаешь, такой интересный момент, самое смешное, что... Ну, то есть понятно, что разработчики именно так видят эту картину. Прикол в том, что это не работает на немотивированных студентов. Ну, типа, понимаешь, когда ты студент по невыбору, да, когда тебе надо...
если ты рассказываешь им, что тебе это надо, чтобы делать более лучшие штуки. Ему плевать, ему не хочется делать более лучшие штуки, ему хочется войти и получать 300... У них действительно настолько абстрактное понимание, что, к сожалению, эта мотивация только, знаешь, кого работает, это реально на людей, которые понимают, а это тот уровень, к сожалению, они не понимают, и поэтому действительно мотивацией серии ты попадешь работать куда-то, она для людей реально работает. А вот такая нет, и причем у нас, если уж про это говорить, нас такие же приколы были, знаешь, чем...
с тестированием. То есть мы долго объясняли, что автоматизирован тестировщику, то есть нужно программирование. Часть людей такие «нет-нет-нет», «нет-нет-нет». И знаете, как получилось решить только эту ситуацию, когда мы реально сделали вебинар, позвали на него профессиональных тестировщиков, и вот им они поверили, когда они сказали «да, конечно, как бы автоматизируешь тестирование, программирование требует». Люди такие «а, ну понятно». Так что это довольно интересная штука. Ну, тут вот такой вопрос ко всем, наверное, обучающим.
Hexlet (07:27.021)
Корсом у меня отличный, даже в одном из этих школ был преподавателем и так далее. И мне кажется, которым нет склонности к программированию, интереса решать задачки, надо разбираться в чем-то, в какой-то мелочи. И в том числе алгоритмы изучать. Им на самом деле на работе будет скучно. То есть он устроится, пусть не на 300К в секунду, ну 80К в секунду, но...
он просто, мне кажется, какое-то время он просто... Выгорит. Он выгорит, да, он не будет понимать, он ему будет стыдно... Он не сможет войти и задержаться, потому что войти — это довольно серьёзная нагрузка, и тут без того, чтобы ты ходил на работу как-то на праздник, типа это твоё любимое дело, и ты его приходишь, просто делаешь, тебе ещё деньги платят. То вот без этого какого-то отношения очень сложно будет где-то задерживаться.
И отработать в целом. Да, ну когда мы говорим про колледж и вуз, ты сам понимаешь, что там так не работает. Там ребята, как неважно, идут они на экономы, идут они на физмат и так далее, они еще вообще ничего не понимают. То есть там единицы среди них вообще хоть что-то понимают. И чаще всего вообще-то за них родители выбирают, особенно после 9 класса. Потому мы же говорим про колледж, поэтому там понимание и вопросы, там скорее вопрос типа не попаду ли я в армию. Ну ладно, это немножко отдельная тема.
мотивации этих людей, эти люди, и всё, что там происходит, никакой связи с курсами там нет. То есть это совершенно другой мир. Ну, я думаю, вы знаете, вы работаете со студентами, да? Да-да-да. Я просто сравнил бы, если брать колледжи и всё остальное, я бы сравнил это как с математикой. Мы в математике проходим какие-то теоремы, что-то параллельно, мы на семинарах или на практических занятиях, студенты решают однотипные задачи.
он должен уметь решать пул однотипных задач. На самом деле базовый набор алгоритмов – это тот же самый пул однотипных задач, который программист должен уметь решать, чтобы иметь право называться программистом. Ну, в той или иной степи. Понятное дело, что не все вместе, но какое-то ядро присутствует. Собственно, это ядро мы самом деле проверяем в том числе на секциях. А еще тут, мне кажется, важный коммент про то, почему не надо…
Hexlet (09:52.749)
готовиться как бы именно к секциям, по существу, потому что, ну точнее как, нужно готовиться к секциям только вот в одном аспекте, который тоже сейчас поговорю, но с точки зрения именно hard skillов, секция это что такое? Это способ проверить, что у тебя есть какой-то технический навык, который нужен, чтобы вот здесь работать, да, то есть допустим ты не знаешь.
устраиваешься на галеру грибцом, у тебя должна быть широчайшая мышца спины. Ты устраиваешься пианистом, у тебя должен быть слух. Ты устраиваешься поваром, у тебя должен уметь не резать себе пальцы, и чувствовать какой-то вкус. есть, есть какие-то hard-skills, которые нужны на профессии. И собеседование – это способ проверить, что у тебя есть эти hard-skills, чтобы ты в том числе сам...
был успешен в этой профессии. и, понятное дело, работодатель тоже не зря платил тебе деньги. И когда ты пытаешься счетерить чисто проверку, ну вот все эти проверки, настроены на то, вот засёртить базовый скилл твой. А если ты обманом это получаешь, ну ты проскочил на галеру с слабой ощерчающей мышцей, да, или проскочил в филармонию без слуха. Ну, это же достаточно быстро всплывёт.
Понятно, что некоторые люди говорят, что на собеседованиях спрашивают одно, а в жизни на самом деле пригождается другое, но это не совсем правда, что тоже задетектят в жизни, что у вас там что-то не получается. Даже если не задетектят, просто у вас не будет такого карьерного роста, у вас не будет таких хороших успехов на ревью и в задачах реальных. А то, что про подготовку, я бы сказал, что имеет смысл готовиться к чисто такому
Вот само собеседование как формат достаточно стрессово для многих людей. То не все хорошо воспринимают, когда их спрашивают, у перед ним есть какая-то ответственность или там люди смотрят, как они пишут код. У многих людей чисто от вот этого формата начинают дрожать руки, какая-то нервозность появляться, и они показывают себя хуже, чем они есть на самом деле. И вот это действительно проблема, и мы всячески пытаемся ее как-то...
Hexlet (12:05.133)
компенсировать, сейчас тоже еще про это поговорим, про какие меры мы предпринимаем, но вот хотелось бы пожелать всем, кто собеседуется, ну и неважно, и к нам, и не к нам, вот это вот попытаться прокачать, чисто от волнения вы не показывали себя хуже, чем вы есть на самом деле. Слушай, а знаешь, чтобы эту тему закрыть и пойти уже дальше, я просто хотел такой комментарий дать. это вопрос, знаешь, взгляда
Ну типа профессионалов, да, и есть вопрос взгляда как бы индустрии с точки зрения, ну вообще, то есть когда мы говорим вот по поводу того, что сейчас в современном мире. Вообще, кстати, я предлагаю отдельно потом затронуть тему накрутки опыта, это вообще классная тема, сейчас она горячая, есть что поговорить. Ну, связанную с тем, что как можно это, да, вот такими способами увидеть. Но просто я думаю, вы прекрасно знаете, да, что в штатах индустрия подготовки к собеседованиям – это уже индустрия, давно.
То есть, это не просто как сейчас у нас, это еще история такая, ну да, школу что-то там делают, но вот компании, которые только этим занимаются, там же вообще сумасшедшие вещи. Я думаю, ты знаешь, как за тебя проходит собеседование и так далее. Подставные лица, одевая Подставные лица, да. Там берут очень приличные деньги, тебя прям натаскивают, и вообще, даже Google дает тебе, чтобы натаскаться надо сделать то. Я просто, наверное, знаешь, я на это смотрю уже все-таки как больше предприниматель, типа, знаешь, принимая мир таким, какой он есть.
То есть я был идеалистом, программистом, который «нет-нет-нет, ребят, надо вот так». Типа, если уж такое есть и такой запрос есть? Да, то не смысле в том, что я его буду делать, а в том, что ну да, значит он есть, значит он будет реализован. Просто вопрос том, как бы адаптации с другой стороны, что-то сделать. Но говорить… я раньше просто подобные вещи делал, т.е. когда Хексы стартовал, я пытался немножко людям это говорить, но говорить им, что типа «не надо так делать», я не буду, поэтому я здесь, наверное, немножко адвокат дьявола, что вы как бы…
представляете одну позицию, я немножко другую, но скорее просто типа, что мир такой есть, и так будет происходить. Стесняться этого особо не надо, потому что хотим или не хотим, сам знаешь, оно всё равно туда идёт, оно всё равно туда придёт. А вот вы будете принимать решения какие-то в собеседованиях, чтобы таких ребят не пропустить, и вот тут вот уже интересно. Это правда. Я в этом смысле тоже не то чтобы имею там розовые очки, я просто пытаюсь сказать, что…
Hexlet (14:29.709)
ситуация из разряда lose-lose, когда ты это сделаешь, не только ты проиграешь, обе стороны проиграют, и ты потому что будешь работать без должного навыка на работе, где этот навык нужен, без должного интереса и работодатель. Смотрите, у нас есть много аспектов по собеседованиям, но мы знаете, что мы не сделали очень важной штуки. Нам для того, говорить, ребята еще, ну как бы мы зацепились за алгоритмы, потому что все про них любят говорить, давайте, знаете, сделаем, расскажите вот прям, как бы выскоуровнево весь
процесс, типа, количество интервью, принятие решений, ну, то есть, так коротко, чтобы в целом, а дальше мы уже по деталям пойдем, по частям его разбирать. То есть, все секции, которые входят, поделитесь, Ну, давай, я расскажу. Верхнеуровнево для Front-End разработчиков в 2004 году, это выглядит так, что мы сначала как-то узнаем про кандидата и делаем ему так называемый скрининг, то есть, примерно с ним
либо в чате, либо на каком-то коротком созвоне. Рекрутор разговаривает о его каком-то опыте, о его в целом мотивации прийти в компанию. Может быть, этот скрин в том числе подразумевает какой-то quick check технических навыков, ну такой совсем простой, совсем поверхностный, чтобы отличить программистов от непрограммистов. После этого есть две секции, ну, назовем их на hard-скелы.
когда мы делаем ту самую секцию базовых технических навыков, где мы попросим вживую написать какой-то код. И в моей голове эта секция, такая, именно про навыки, а не про знания, хотя, конечно, тоже как-то это очень тесно переплетенные такие вещи. И вторая секция, зависит от, в зависимости от того, насколько человек на высокий grade претендует.
он проходит либо просто еще одну секцию техническую, где мы уже больше смотрим на его некую эрудицию, на его знакомство с веб-платформой и вот что-то такое, либо это так называемая архитектурная секция, где мы смотрим, если человек претендует на высокий грейд, что у него есть и навыки и опыт,
Hexlet (16:51.693)
Ну вот, каких-то принятия архитектурных решений во фронт-энде, да, это может быть и то, что связано больше с бэкэндом, и то, что связано больше с джава-скриптом в браузере, какие-то там вещи уровня HTTP, статики, архитектуры, того, как устроены, не знаю, тебя там редьюсеры, еще что-нибудь такое. То есть вот большой-большой пучок там собеседования устроено так, что собеседующий копает в те области, которые сильны у человека. То есть наша вообще задача, это тоже сделает вступление, многие думают, что
Задача собеседующих это максимально всех срезать, а на самом деле задача собеседующих это максимально всех вытянуть. есть задача собеседующего, как вот этот золотомойник, найти те самородочки пиков, знаний максимальных, которые у человека есть, чтобы натянуть его на максимально высокий грейд, увидеть в нем максимально, на что он способен. Вот. И вот эта вот архитектурная секция, устроена так, что у человека проверяют...
навыки, вот эти архитектурные в сильных областях. Вот, после этого есть так называемая финальная секция. Она может быть либо одна, либо несколько. Одна, если, например, человек идет, у нас есть такая штука, как мультитрек. Это когда ты попадаешь просто в Яндекс, а за испытательный срок принимаешь решение, в какую конкретно команду ты пойдешь. Ходишь по нескольку недель в разные команды, и это является процессом выбора, где ты останешься. Либо же тебе прямо
в процессе интервью-лупа дают несколько финальных секций, и ты разговариваешь с представителями разных команд и уже на входе в Яндекс выбираешь, в какую конкретную команду ты пойдешь. Вот, по сути, в самом таком кратком изложении, в кратком самом варианте, это вот там получасовой скрин две часовых технических секции, один технический часовой финал. Иногда оно растягивается, если, например, мы...
успели провести две часовых технических секции и вдруг поняли, что чувак может претендовать на более высокий grade, добавляется еще архитектурная секция. Иногда, например, если он на финале не подошел в одну команду или, например, много команд хотели бы, или сам человек хотел бы во много команд попасть, то иногда может быть несколько финалов. Финал тоже такая интересная штука, что финал — это вроде как мы проверяем вообще вот агрегировано все там знания и навыки человека.
Hexlet (19:13.133)
Плюс персональный мэтчинг с командой. И очень часто кто-то на финале в том числе задает какие-то технические вопросы, и даже иногда на некоторых финалах могут попросить написать кода там по страничке, да, просто чтобы еще раз понять и почувствовать, как именно человек реагирует на какое-то парное программирование, на процесс написания кода. Вот. Но это скорее исключение, большинство финалов, без написания кода проходят. Ну вот, вот как-то так верхний уровень.
У меня есть серия прям таких блиц вопросов, чтобы разобрать некоторые элементы. давай, сейчас я пока не забыл. Получается, что у вас получается, бы, человек, приходит, есть типа просто фронт-энд в Яндексе, а распределение по командам обычно потом. То есть получается поэтому более универсальная. Есть два способа разных. Вы можете, приходя, знать, куда вы хотите пойти, или вы можете, приходя, хотеть сразу узнать, куда вы хотите пойти, да, то есть вы можете сказать там, вот я хочу...
до того, как подпишу трудовый договор, понимать, какую команду я пойду. И в этом случае вы либо откликаетесь на конкретную вакансию конкретного сервиса, либо на несколько вакансий, и у вас есть несколько вот этих вот финалов, чтобы понять, в какую команду ты попадаешь. Либо есть вот ключевое слово «multitrack», мы недавно переименовали, раньше мы называли это «bootcamp», но оказалось, что слово «bootcamp» очень басвордное и означает очень много разных форматов взаимодействия. Мы придумали собственное слово «multitrack».
Вот, вот, мультитрек — это про то, что у тебя есть много треков внутри Яндекса, ты уже как бы попал, уже заключил трудовой договор, но у тебя идет испытательный срок три месяца. За эти три месяца ты там по две-три недельки ходишь в, там, условно, три-четыре команды. В принципе, ты можешь, как мы это называем, нажать stop-кран, если тебе какая-то команда прям запала в душу, и дальше ты никого смотреть не хочешь. Но вообще, ты вот успеваешь за три недельки где-то побывать, с кем-то еще просто поболтать внутри Яндекса, потому что у нас очень такая...
информационная структура внутри, сильно более открытая, чем может показаться снаружи, то есть ты можешь пойти там попить кофе с людьми из какой-то команды, узнать что-то, куда тебе хочется пойти и дальше на основании этого уже принять решение, где ты остаешься там после этого испытательного срока. Просто знаешь, возникает тогда закономерный вопрос, а как человек так попадает в команду, то есть он же откликается на вакансии, вакансия всегда в конкретное подразделение, правильно? есть такое ощущение, что эти люди каким-то другим способом в Яндекс попадают.
Hexlet (21:34.253)
У нас просто есть вакансия, которая называется «вакансия в мультитрек». Это первое. Второе. Некоторым людям, которые откликаются на конкретную вакансию, могут, например, сказать, смотри, эта команда тебя брать, например, не готова. Или, например, ты в процессе собеседования и на финале, потому что финал – же для кандидата тоже процесс собеседования его будущего руководителя, ты, например, на финале увидел, не знаю, твой будущий руководитель не ставит точки запятыми в конце строк. И ты такой говоришь, ну как это вообще возможно?
нет, не буду там работать. И тогда тебе говорят, ну давай посмотрим еще какие-то другие команды. Смотри, вот есть такие команды конкретные, можешь пройти туда в финал, либо можешь пройти финал в мультитрек и уже как бы смотреть дальше, там на точке запятыми и так далее, как бы в процессе работы. И да, теперь, кстати, про первую часть. Именно все-таки перед собеседованием, то есть понятно, что ребята отвлекаются, вот этот скрининг, который вы делаете,
Судя по тому, что я услышал, он делается не HR, а HR в этой структуре Давайте я чуть-чуть вмешаюсь, просто коротко, на мой взгляд, разработчик, который относительно недавно все это проходил, как это все по-человечески выглядит. Это в общем HR, созванивается обычный созвон знакомства с HR, выяснения разных всех моментов, это стандартно во всех компаниях. Тут мы ничем не...
не отличаемся. Дальше идет развилка, как я потом узнал, но у каждого человека есть обычно две секции технических. Это либо джаваскрипт, обычный условно, всякие мелкие задачи, есть ничем не отличающиеся от других компаний. Либо, то что мы называем, углубленный технический разговор.
Я все время забываю… Архитектурная секция? Не, я не про архитектурную, а про нашу секцию. А, базовые технические навыки. Вот, базовые технические навыки. Очень сложное название. Не алгоритмы, главное. Не алгоритмы. Да, не алгоритмы, но не суть. Есть архитектура. Архитектура – это самом деле System Design с некоторыми особенностями, но он у всех есть особенностей. Для фронтендера тоже на самом деле там есть возможности.
Hexlet (23:57.293)
будут будущем какие-то изменения, но по факту это System Design. То есть можно открывать книжку по System Design, как проектировать системы. Если у тебя в этом есть опыт, то, как правило, сможешь ее плюс-минус пройти сходу. Если в этом нет опыта, то, к сожалению, книжки тебе, скорее всего, не помогут. И есть финал. И финал это, на самом деле, в той или иной степени отдельная техническая секция, которую мы суммируем.
предыдущие там, обычно две секции. Суммируем и определяем примерный grade, на что человек рассказывает. Сам финал это тоже не помню как это называется, но большая компания. В общем мы спрашиваем про его опыт, что делал, как делал, какие инструменты использовал. То есть проверяем там как он в команде работал вообще. есть ну вот по поводу тут мы уже затрагивали тему на короткий опыт. Вот там обычно идей выясняется что.
человек работал где-нибудь там тем ледом, потом спрашиваешь его, а он там работал обычным разработчиком. И было их там двое, вот один из них Индус, и он его вообще не видел. Вот, условно, да. И плюс, на самом деле, на финале есть некоторые софт-скиловые вопросы, где мы спрашиваем про некоторые ситуации, кейсы, которые как человек будет реагировать. Потому что мы все люди, и нужно это тоже проверять.
И по сути всё. На самом деле я могу дальше поделиться своим опытом. Почему и как у меня проходило. Когда я в первый раз пытался попасть в Яндекс, у меня в финал было пять. Все пять команд спрашивали всё примерно одно и то же. Мы на самом деле от этого сейчас так или иначе стараемся оттуда уходить, но варианты, когда человеку...
Ну, человек понравился там многим командам, многие его хотят. Мне кажется, тут проще человеку пойти в мультитрек, чтобы именно поработать в этих командах и понять. Ну и по сути, если дарземируя, две технические секции в финал и дальше финал в команда. Вот всё. Всё очень просто. Можно за неделю положиться.
Hexlet (26:17.677)
У меня столько вопросов, я не знаю, успеем ли мы вами всё это разобрать, но я вас хочу замучить. Слушайте, я бы хотел с первой части… Здесь есть ещё такой интересный момент по поводу Ичара. Мы говорим так, как будто бы это решение уже принято, что человек пришёл, но ведь бывает история у многих, наверное, большинства, они отсылают резюме, а ответ – ноль. хотелось бы чуть-чуть… Просто это самый, наверное, простой момент, но он очень важный, почему ещё очень многие…
Я честно, мне хочется размечать тоже этот миф. Они считают, что HR, как некая стена, файервол такой, который сам принимает решения, из-за этого хорошие ребята не попадают вовнутрь. С моей стороны это не так работает. Вы можете это пояснить? есть каким образом HR принимает решения и может ли произойти то, чего все боятся, что HR скажет? Знаете, как в анекдоте про опытного HR, который половину патчика резюме выбросил, он говорит…
Зачем нам неудачники? Надо понимать структуру современного рынка, что HR, вот, опять же, как-то развенчивая мифы и представления о том, в чем на самом деле состоит интенция и работа людей внутри компании, HR это, самый заинтересованный человек в том, чтобы нанять кого-то разработчика внутрь, потому что у HR-ов литерально, KPI их зависят от количества наймов. Деньги. Да, да.
деньги и зарплата, и их результаты, которые оцениваются на ревью, они зависят от количества наймов. И поэтому HR у нас внутри, как бы, де-факто являются адвокатами кандидатов. Это они ходят и говорят, ну, пожалуйста, рассмотрите его в качестве исключения. Да, он тут немножко накосячил и не нашел два тривиальных бага в задаче, но на самом деле он был напуган там или еще что-нибудь, да?
То есть HR самый заинтересованный человек, хотя бы просто математически-геометрически. Там, конечно, можно спорить, что, наверное, нанимающий руководитель должен быть заинтересован, чтобы у него появились сильные люди в команде. Но даже у руководителя у него не настолько напрямую его KPI зависят от найма. есть, да, он наймёт человека, дальше ему нужно ещё сделать задачи, пройти ревью и так далее. И это всё-таки уже нахоп дальше от его KPI. А вот у HR...
Hexlet (28:36.973)
у него непосредственно кипят этого зависит. И поэтому HR сейчас занимаются не тем, что они откидывают половину, а тем, что они пытаются всячески нагрести всех-всех-всех и выискать тех людей, которые будут способны пройти наши секции. И когда HR делает какой-то отсев, все, чем он руководствуется, это то, что я не буду смотреть кандидатов заведомо слабых.
потому что скорее всего они плохо пройдут секции, а это значит, что я зря потрачу свое время на них, лучше я потрачу время на более конверсионных, более потенциальных кандидатов, которые с большей вероятностью пройдут весь интервью-луп, потому что мой KPI зависит от того, как много наймов будет. Вот. И в этом смысле не нужно переживать, что HR откинет хороших людей. Но действительно, правда, HR может кого-то откинуть, если он посчитает, что этот человек недостаточно...
как бы хорошим потенциалом обладают для прохождения всех секций. Я добавлю, потому что, Серёж, а сколько ты уже в Яндексе работаешь? Чё, это так важно? Не, ну просто, да, да, да, ну просто это. С 2005 года. Вот, с 2005 года. Я работаю чуть-чуть, ну, намного меньше, вот, и работал в разных компаниях. Я могу сказать, что, ну, я встречал компании, где HR не обладали нужным опытом, ну...
компетенциями и так далее, это реально отсеивали в каких-то неотехах. ну, тут вопрос том, что... Просто это же невыгодно им. В смысле, вот у нас все HR-ы, сравниваются в том числе между собой. И сильные HR-ы, которые хорошо угадывают как бы с сильными кандидатами, они обгоняют по KPI-ам слабых HR-ов, которые не угадывают.
Ну да, но тут есть опять же нюансы. У тебя если нужно закрыть вакансию срочно, то как правило нанимающий менеджер идет и разбирается, где мой поток кандидатов и так далее. И как правило эта ситуация, когда HR кого-то отсеивает, хороших людей и так далее, она в нормальных компаниях, на нормальной вакансии к хорошему руководителю, она исправляется там, ну буквально можно сказать, месяц. То есть я буквально с HR-ми в некоторых...
Hexlet (30:50.733)
компания садился, давай открывай хх, давай смотреть кого-то там отсилуешь. И почему ты вот этих присылаешь, и так далее, и так далее. Ты просто их обучаешь, потом они сами этому учатся. А в Яндексе такого нету, более того, мы проводили такой мини-эксперименты, когда тоже сами брали пул входящих вот всех кандидатов, а нас пытались ребята сами их просматривать и все остальное. В итоге из тех, кого ребята сами решили посмотреть...
позвать никто вообще не прошел. Ичары угадывают лучше, чем разработчики. Да, естественно. Мне кажется, опытному Ичару гораздо лучше видно людей. Рекрутеру даже, самом деле. Мы так называем их Ичар, это самом деле Ну, рекрутер, да. Потому что когда через человека проходят 300 тысяч и больше людей, они тебе просто могут подсказать. Я вот тоже сталкивался, что...
«Ну вот он, конечно, всё отлично прошёл, но что-то как-то он, кажется, тобой не сработается». Вот, условно. И вот таким тоже надо верить. Но опять же, ну, встречаются и противоположные случаи, поэтому скорее эта история не про Яндекс, а эта история в самом, ну, на рынке. да. Я хотел добавить, тут, конечно, интересно есть... Вообще, знаете, вы знаете книжку «Как сдвинуть гору Фуди»? Не читали никогда?
Шикарная книга как раз про наем звездного персонала, рассказывается про взлёт и падение IQ тестов, там рассказывается про то, как силиконовая долина появлялась и как там собесили. И исторически, короче, крутая книжка, в том числе про круглые люки и всё такое. И я помню когда-то одну такую вещь понял по поводу того, что объясняли как, что типа, ребят, вы не можете построить систему, при которой у вас есть...
отбор гарантированно, что вот этих мы берем, а этих не берем. Типа есть плохие, а есть хорошие. Так не бывает. Это типа кранник. Вы типа, если его пережимаете лишнее, то у вас хорошие проходят мимо. Если вы слишком открываете, попадают ребята. И дальше уже в зависимости от компании, ее культуры, размеров и так далее, есть определенные правила. И мне тогда запомнилось, что компании, уровни, ну крупные компании, которых попадание неправильного человека гораздо страшнее, чем не попадание хорошего.
Hexlet (33:07.629)
Поэтому у них достаточно, во-первых, большой поток, поэтому они специально выкручивают этот краник таким образом, чтобы лучше пусть хороший не попадет, но зато мы не развалим компанию. что если такие десятки людей... что люди думают, что в этом смысле все биктехи одинаковые, но это не вполне так. И наш рынок, локальный, на котором мы живем, он не такой, как у того же манго.
в смысле, вот там, больших силиконовых биктехов. И там, я думаю, что с каждым годом как-то меняется ситуация. Но условно, они нанимают со всего мира, и какие-нибудь там демографические ямы, которые присутствуют у нас, их не так затрагивают. что демографическая яма в одной стороне, ну, мало по всему миру таких однозначных одинаковых демографических ям.
У нас же другая ситуация, что нас все-таки демант на разработчиков достаточно большой. И нам приходится рассматривать всех. И приходится вытягивать максимум, как я сказал. Вытягивать из кандидата максимум. При этом вас объем, конечно, входящий побольше, у других компаний. Потому что есть люди, которые специально хотят работать в Яндексе.
Хорошая штука. Я еще хотел добавить про HR в два маленьких момента тоже для ребят, которые нас слушают. Что, во-первых, действительно, когда отбор делает, он не делает это сам. Он в любом случае очень много плотно общается с нанимающим менеджером и, естественно, делает это по его наитию. То есть очень наивно представлять, что HR это делает сам такой, а мне этот чувак не нравится, я его забрею. То есть это так не работает. А во-вторых, что-то я еще хотел сюда добавить, что…
Слушай, ладно, я понял, что у меня сейчас вылетело, но я знаешь, чего хотел спросить. Есть... Давай так, вот последний момент про вот эту ИЧР, пойдем чуть дальше. Годы опыта. Вот это, по-моему, одна из самых болезненных вообще тем. Типа, у меня 2,5, там написано 3. Да никто не смотрит на них. Никто не смотрит на годы опыта. Вот это как бы большой секрет, вот люди там накручивают себе годы опыта, я тоже там в Твиттере видел эти все треды.
Hexlet (35:25.773)
Некоторые HR действительно смотрят формально на какие-то годы опыта просто потому что они думают, что это более-менее хороший дифференциатор. Но это супер поверхностный такой дифференциатор, что очень сильно зависит от того, каков был твой опыт. Ты можешь штаны протирать 10 лет в конторе, где низкая девилоперская культура.
можешь попасть на стажировку в какую-нибудь крупную хорошую компанию с хорошей инженерной культурой, и уже там с первых курсов начать хорошо прокачиваться. поэтому я бы... То есть вот я пророжу десятки собеседований в семестр и никогда не читаю резюме. вот ко мне приходит человек,
Я смотрю на то, что он умеет. Плевать примерно. Он получил этот опыт за 10 лет или за один? Нет, но я провожу финалы, поэтому я смотрю на трезвума и всегда очень смешно со стороны наблюдать за кандидатов, которые в себе добавили два-три года фриланса. Причем я сам работал на фрилансе, когда я указывал в фриланс, меня был такой список сайтов, которые я сделал и мог детально рассказать кто чего и...
и так далее, и так далее, они просто пишут в фрилансе, такой, блин, зачем? Ну, то есть это просто... Ты... Ну, обычно мне кажется, все хотят... Ну, как-то получить больше денег за счет этого, но по факту они наоборот отрезают вакансии, на которые могли бы пройти. есть человек не может... Ну, он там условно паритендует на 200к, знания у него там на 120к. И ему-то достаточно 120к, ну, то есть...
для жизни с учетом того, он сейчас там 50 получает, да? Вот. Но он претендует на 200 и, подготавливая вот так вот всю штуку, и он начинает спрашивать на 200, и он не проходит. И долго ищет какие-то там работы и все остальное. Хотя, если б он с 1 с 2... Проще было зайти внутрь и за это время как бы прокачаться. Да. Мне тут недавно один из экс-коллег, который устроился работать в Google, рассказывал историю, что...
Hexlet (37:46.349)
В гугле так устроено собеседование, что ты в принципе не можешь пройти их на свой grade. То есть они настолько сложные, что вот если человек grade какого-то выходит на улицу и заходит обратно, он ни в жизнь не пройдет на тот же самый grade, с которого он ушел. И вместо того, чтобы долго-долго готовиться к собеседованиям с тем, чтобы как бы запрыгнуть на свой grade, сильно конверсионнее и выгоднее запрыгнуть на тот grade, на который запрыгивается, а уже внутри
как бы двигаться по грейду, потому что движение внутри по грейдам, сильно лучше и проще, чем вот это вот запрыгивание через интервью loop. И в целом для высоких грейдов я бы сказал, что то же самое характерно для нас, не то чтобы мы как-то специально типа завышаем, но я думаю, что скорее это просто bias такой, когда ты за очень коротко отрезок времени пытаешься про человека ну что-то выяснить, заосёртить.
скорее там есть, наверное, какой-то такой эффект, что ты типа занижаешь. Хотя, не знаю, вот у нас есть и другие кейсы. Есть кейсы, люди с улицы приходят и попадают на более высокий grade в сравнении с другими уже работающими. И там уже работающие иногда обижаются. В общем, там есть отклонение к Ащевту и в другую сторону, но то, что совершенно правда, это то, что внутри компании проще
попав внутрь, начать дальше расти по грейду. Потому если ты шиловым мешкаем не утаишь, если ты хороший как бы специалист, тебя очень быстро вытянет наверх. А это тоже, мне кажется, не до конца люди понимают. Да, но проводили исследование, что если ты там полгода-год меняешь, то через пять лет у тебя там она вазово будет выше.
Hexlet (39:40.077)
Зависит от того, как всё Нет, ну просто очень факторов много. есть какая компания, какой проект, проект в целом успешный или нет. есть ты можешь попасть в проект, который, ну там, умирающий, но он и чуть не знает, что умирает, условно. То есть мне кажется, это всё очень сильно индивидуально и как бы это, то есть для кого-то то хорошо, для кого-то другое.
Да, я, вспомнил по поводу ИЧАР, о чем еще хотел сказать. Знаете еще, почему мне кажется, впечатление остается? Ведь никто никогда в жизни не говорит правду, почему отказ идет. Вполне возможно, что... Ну, понятно, каким причинам, это вообще опасно для любой компании. Но даже если ИЧАР передал резюме посмотреть нанимающему менеджеру, тот мог сказать, что я его не возьму. И на самом деле решение принял не ИЧАР, ну, в смысле, рекрутер, а человек продолжает думать, что это рекрутер, значит, такой зло его.
не захотел взять, поэтому здесь не всегда понятно. Кстати, можно поговорить, ты говоришь, что компании не говорят, почему прошел отказ, и это не до конца правда, потому что, вообще говоря, если мы там вступаем уже в какую-то переписку и разговор общения с кандидатом, мы, конечно, ему какую-то информацию даем. Просто очень сложно давать, ну очень дорого давать прям детальную информацию, потому что ты начинаешь рассказывать человеку, не знаю.
там, тебе с точки зрения того, что нас нужно в работе, нужно подучить там, какие есть алгоритмические сложности, чем они отличаются друг от друга. Человек начинает стояться в позу, типа, да, я 10 лет работаю фронтендером, это мне ни разу не пригодилось, как бы, не принимаю этот фидбэка, отказываюсь от этого фидбэка. И вот очень, ну, это же как бы,
ты человеку что-то рассказал, а он еще это и воспринял и понял, это какие-то прямо существенные усилия. И вот когда мы занимаемся обучением в нашем практикуме, в наших школах разработки интерфейсов, кстати, открыли недавно буквально набор в школу разработки интерфейсов предварительную запись, которая будет этим летом уже. И там мы имеем возможность вот это вот тет-а-тет с человеком.
Hexlet (41:53.805)
рассказывать, проводить демо-собеседование, выдавать ему фидбэк, ровно как и вы в Хекслите это делаете, с каким-то индивидуальным таким более подходом, там, где есть наставнические группы. А когда мы говорим о широком процессе массового найма, то вот этот риск как бы потратить кучу времени, и еще главное, что безрезультатно, то есть ты с человеком будешь переписываться там несколько часов.
он все равно останется при своем мнении, и ты ему риски очень большие. еще полет в Twitter напишет, причем люди-то разные бывают, со стороны не всегда понятно, и когда ты знаешь поднагодную, ты часто понимаешь, что ребята там жесть делают, и конечно, репутация. Я думаю, мне кажется, что компании уровня Яндекса вообще на уровне руководства такой запрет должен существовать, что типа, ребята нет. Потому что понятно, что в Европе, в Штатах вам просто никто ничего не скажет, потому что тебя посадить могут.
за каждую слову. Мы стараемся объяснять человеку, потому что в том числе собеседования очень часто носят обучательный характер. У меня есть много за мою практику кейсов, когда человек приходил, собеседовался сначала неуспешно, но услышав что-то на собеседованиях, он через год-два вернулся на более высокий грейд, То есть он понял, что на самом деле нужно, пошел, попрактиковался.
и вернулся как бы успешно. Поэтому мы как бы заинтересованы в образовании, но мы заинтересованы в том числе в каких-то эффективных форматах образования, когда люди с правильной мотивацией приходят, когда они готовы к тому, что они сейчас будут учиться. И поэтому вот такое как-то выдача развернутого фидбека всем подряд кандидатам, к сожалению, не является эффективным форматом образования. Хотя в каком-то диапазоне мы пытаемся это делать. Там и на секциях я...
людям что-то рассказывают, и чары с каким-то минимальным фидбеком все равно возвращаются. Ну тут очень тонкая золотая серединка должна быть. Нет, смотрите, на технических секциях кандидат в целом, если у него более-менее уровень, он должен понять, что он бы решил задачку, либо интервьюер взял и за тебя дописал, соответственно, поймет, что я вот эту задачку не смог решить. Из-за чего он не смог?
Hexlet (44:15.469)
решить.
отказали, то кажется тебе действительно нужно свой технический уровень повысить. Но человек сам до этого отойдет, него вот эта мотивация будет изнутри, а не снаружи. Про что хочу продолжить. Вот мы поговорили по поводу вот этого базового найма, который происходит, что не надо стесняться присылать резюме и все такое. А теперь вопрос такой, вы говорите, мы на годы не смотрим, Сергей на резюме особо не смотрит.
Но тогда возникает каверзный вопрос. А как вы понимаете, типа, джун не джун, вообще, как вы сопоставляете эту историю и кого вы берете? Мы смотрим на года просто, смотри, вот у нас есть это, ну как бы, у нас есть три секции технических, ну, словно, там, базовый, там, JavaScript, базовые технические навыки и архитектура. Вот. Эти три секции после их прохождения на самом деле на финале смотрится, как он их прошел.
с каким итогом, написал интервьюер, какие у кандидата технически сильные стороны, какие технически слабые стороны и так далее. Дальше на интервью, на финальном, я смотрю резюме кандидата, соотношу с этим опытом, соответственно, если человек по технике прошел на уровень стажера, допустим, нет, не стажера.
джуна, да, и я вижу у него в резюме как 10 лет опыта и вроде как даже трезюмей не фейковый, да, он там на похопе сначала писал потом еще куда-то и так далее. Тут же стоит, наверное, всем учитывать, что, наверное, это не открою тайну, если тайна, надо будет вырезать, что все изменения трезюме по каждому человеку, лагируется.
Hexlet (46:31.245)
Если человек внезапно решил, что ему нужно плюс два года опыта, то это будет видно. В том числе ты рассмотришь. Если ты видишь... Сейчас ты им говоришь «врите сразу». Врите с самого первого вашего резюме. Не, ну если человек говорит, лет у него опыта работы, он должен пять лет назад был, условно, намрать.
И как бы тут получается как? Что ты 10 лет опыта и слабые технические секции, тут возникает сразу вопрос. Получается, что завышать свой опыт формально вредно, потому что если то, как ты прошел технические секции, не стыкуется с тем, сколько лет у тебя опыта, то это может даже в каком-то смысле сыграть тебе в минус. Но я тут еще хочу добавить, что вот то, как оно соотносится, да, там...
насколько роляет опыт, насколько роляет то, как проходят секции. Это супернелинейная такая функция. есть оно все загружается в голову опытным собеседующим, и иногда бы нестыковка опыта, как бы там сильно роляет, иногда слабо, иногда факт наличия отсутствия опыта сильно роляет, иногда наоборот слабо, и то, как он себя на технических секциях проявил, роляет сильнее. То есть нет такого, например, закономерности, что, не знаю,
всегда допиши себе опыт, просто получить доступ к тому, чтобы проходить секции, и как это, а дальше уже как бы покажешь себя на секциях. если можешь себя показать на секциях хорошо, и не дописывай ты этот опыт, ну и как бы пропустят тебя, скорее всего, дальше. Вот, в общем, Но при этом вакансия, она сама содержит, то есть у вас вакансия все равно определяет, что типа это на медла? Я вот...
Я участвовал в проектировании нашего продукта, который называется «Диагностика технических навыков». Это, вот если вы напишите «Яндекс. Диагностика технических навыков», то есть возможность бы пройти техническое собеседование, померить свой технический скилл, не разговаривая, когда вы к нам выйдете, а сколько вы хотите в офере денег и так далее. Разделить одно от другого. Так вот, когда мы делали эту диагностику технических навыков, хотелось в конце что-то сказать, на что мы тебя надиагностировали.
Hexlet (48:41.133)
Но ситуация на рынке такова, что понятия Senior Jun Mid это очень такие очень эфемерные понятия. Они, во-первых, очень маленькая градация, если мы говорим о реальном диапазоне возможного скилла разработчика. Во-вторых, она еще и очень сильно отличается там, нас даже внутри Яндекса она между командами отличается. Чего уж там говорить, ну немножко. Между компаниями она отличается еще сильнее.
И поэтому можно условно, примерно, какое-то первое приближение сказать, что это джун, это мид, это синьер. Но дальше всё равно будет уже конкретный разговор и приземление в нашу градацию грейдов, а их там типа в два с половиной раза больше, даже может в три. Диапазон как бы шире. Градаций больше. Поэтому, в общем, там очень много полутонов и нюансов.
Ну и плюс стоит учитывать, что это как бы наша система ценностей в нашей компании. И как бы, не знаю, там вот я отработал в банке, там есть всякие там ведущие, старшие, там главные и так далее и так далее. Это все местные лычки, которые кто-то на кого-то нацепляет. И соответственно в одной компании ты будешь медлом, в другой ты будешь сеньором, а в третьем каким-то стартапом ты вполне можешь работать темлядом.
Но смысл
Да, однако, все-таки, я имею в когда есть некая вакансия, подразувает, например, понятное дело, что если придет человек, что он только что после университета, может быть, вы поймете, что конкретно на эту вакансию нам нужен человек, которого есть опыт промышленный и так далее. То есть, откуда вот это идет понимание? Мы постараемся это сформулировать не столько в терминах типа опыта, хотя у нас справедливости ради, люди же приходят, в том числе, из индустрии с привычкой писать эти несчастные там.
Hexlet (50:38.861)
опыт от трех лет, вот, но по сути мы обычно стараемся приписывать в терминах знаний и навыков, да, что, например, там уверенное знание там чего-то, опыт работы там с тем-то, и уже из этого скорее всего будет исходить, да, что если у тебя есть там, не знаю, опыт работы в команде, не знаю, уверенное владение системы контроля версий, умение проектировать архитектуру там сервиса или, не знаю, знания.
реакто или знание, может быть, там чего-то более специфического, это вот уже задает, то есть ты, грубо говоря, не сможешь какие-то вещи узнать, не имея как бы именно правильный опыт. Но непосредственно сами годы опыта, вот как мы уже до этого говорили, они слабо скоррелированы. Не, ну тут еще стоит учитывать, особенно во фронт-энде, что годы опыта, вот я там...
в индустрии там сколько лет 12 вот и соответственно ну когда-то я писал ну верстал под и и 6 как во первых я сейчас это не помню во вторых оно ведь знания вообще никому не нужны я как ну не знаю там кто-нибудь писал под xgs ну хорошо там сережа там писал под этот xlst и вот эти знания оно не коррелировать сейчас ну ты не на не ну ценности как бы ну минимально
Вот, и соответственно мне кажется, важное то, чем разработчик последний там два-три, ну максимум пять лет занимался и что именно трогал. А все остальное без разницы вот вообще. Про XLST сейчас меня флешбек. XSLT, да. Extendable Style Sheets. Ты Диму знаешь Котирова, который мой круг сделал? Я просто работал под его предводительством и, собственно, он написал свой собственный фреймворк и там как раз он из Яндекса притащил...
Этот несчастный ССЛТ. Да, я, конечно, был опыт у меня прям мощный. Как знаешь, этот раскрывающий опыт, раскрывающий третий Не, на самом деле прикольно. Я вообще не просто не жалею, да, то есть ты говоришь, попробуй на нем в три колоночки что-нибудь сверстай. Мало не покажется. Ну это вот вопросу. Мы вначале там вами говорили про полезность алгоритмов, а у меня всплыла аналогия еще с полезностью изучения каких-нибудь альтернативных языков программирования.
Hexlet (53:01.997)
Вот я, когда был маленьким, книжку про Хаскель читал, и что-то там пытался на Хаскеле программировать. Мне кажется, как способ размять свой мозг и расширить горизонт своего восприятия и алгоритмы, и экзотические языки, и экзотические парадигмы, это всё, ну, как бы полезно. И оно как раз, кстати, вот, Андрюх, не соглашусь про актуальность знаний, полученных типа, дольше, пять лет назад, оно очень сильно влияет на...
то какое у тебя ядро сформировано. Я бы сказал, что это твой мозг развивает его возможность с той или иной делать. Ты его расширяешь, делаешь кепки и все остальное, но конкретные технологии, либо еще что-то, они скорее всего то устареют. Тут, на самом деле, меня большой всегда вопрос к людям, которые лет пять писали на бэкэнде, а потом через C-sharp вот это все попадали во фронтенд.
Большой вопрос какой? Зачем они это Да, такой не задал вопрос. Да, вопрос зачем? то есть как бы мне всегда… Что, нежилось? Нежилось там? Да, нет, мне просто по поводу принесения опыта во фронт-энда, это не совсем, ну, наверное, про собеседование, но люди зачастую пытаются неправильно применить свой опыт на бэкэнде в каком-то там C++, C-Shark, там Kotlin, еще что-то принести во фронт-энда и начинают тут это.
наоборот, хуже писать. это нам. Да, писать хуже. Чем могли бы, если бы абстрагировались от этого? Мне всегда это нравится, в духе new array круглые скобки вместо того, чтобы просто array literal поставить из двух квадратных скобок. Но, это, конечно, другая тема, но справедливости ради, все-таки, экосистемы развиваются как раз за счет людей, которые пришли, принесли опыт архитектуры из других мест. вот жаловательные... Положительные мутации.
Вот JavaScript попер именно в этот момент, когда пришли эти люди. Если даже посмотреть большинство современных инструментов, они начинают писаться на бекендовых языках. Ну, это немножко другая штука. Мы знаете, какого момента дошли? Мы дошли до момента... То есть давайте уже в мясо. Мы поговорили про подход, что в принципе получается, что человек даже с небольшим опытом... А, вот про опыт единственное. Вы, когда говорите слово опыт, это тоже важно понимать, потому что я могу с другой стороны сказать. Понятно дело, что неискушенный человек,
Hexlet (55:27.245)
как бы попробовав это самостоятельно, он будет писать, что у него есть такой опыт. И часто, по резюме, это видно, например, знаете каким образом это отслеживаю? То есть, правило, чем… Понятно дело, что ключевики надо вставлять, да, потому что так поиск работает, все-таки как ни крути, есть элемент маркетинга, по-другому никак. Но есть нюанс. Обычно люди, у которых мало опыта, они прям начинают записывать слова, которые, ну, типа, те в голову, опытному разработчику даже не придется писать, типа, не знаю…
JSON, ямол. Они начинают перечислять форматы данных и так далее. И сразу даже неважно, опыт, как правило, это показатель того, что что-то не состыкуется. Так новички обычно делают. Не, но если человек претендует на стажера, именно идет на вакансию стажера, указывает, что я там поработал с тем-то тем, то это, возможно, будет плюс. Потому что ты понимаешь, что человек, хотя бы ты с ним можешь общаться на одном и же языке. Ну, я больше именно про опытных ребят. Да, я именно в чем.
Действительно, когда вы говорите про опыт, вы имеете в виду, в смысле опыт не я, сел с друзьями, что-то поделал. Это, неплохо, но все-таки в первую очередь, наверное, из живых проектов, потому что человек, который с Git работал в живом проекте и не в живом, ну, это огромная разница. Да, мне кажется, Git — вторичная штука, это все инструмент. Просто если у человека есть pet-проект, который он сделал, его где-то опубликовал, сделал его, сделал не просто я там что-то накодил, а сделал именно...
продукт какой-то, который он на рынок выпустил, попробовал его сделать маркетинг и так далее. Вот если у человека есть вот такой опыт, он на самом деле нужно обязательно указывать, потому что он гораздо больше понимает. Это просто какой-то… У всех PHP разработчиков, все PHP разработчики должны написать собственную CMS-ку. Вот, и все они… Это старая история, сейчас она ушла уже, да? Ну да, но сейчас, по-моему, в JavaScript все пишут фрейморки для Telegram ботов, короче, вот.
Но суть в том, если бы каждый разработчик пробовал бы эту CMS-ку вывести на рынок, кому-нибудь продать еще что-то, вот опыт, который он при этом получил, он был бы очень ценен и на самом деле его бы сейсерия прокачал. Поэтому смотря какой ПИЭТ-проект. Да, ну тут, видишь, самый главный пункт в том, что у него были реальные пользователи, потому что разница именно в этом начинается. Я, кстати, тут маленький такой элемент рекламы вставлю, что...
Hexlet (57:51.725)
Мы именно поэтому, когда у наших студентов на Хекслите, они приходят к практике, мы в карьерном треке очень большое внимание уделяем, потому что вот то, что ты говоришь вывести на рынок, почти никто так не сделает, это единица. Но чтобы хоть как-то массово это делать, нас, конечно, основная история это Open Source, потому что Open Source На GitHub хотя бы было же. Это уже на рынок, да? Нет, на GitHub это мы делаем по-любому для всех в самом начале. Я имею в виду, что для того, чтобы уже отличаться от всех и делать что-то по-настоящему серьезное,
то мы поэтому вообще очень много проектов делаем в виде опенсорса, и вообще пройти этот цикл, а еще когда у тебя живой проект, которым пользуются люди, это, конечно, Земля и Небо. Поэтому для нас это один из таких ключевых как бы факторов, чтобы получить тот опыт, который вы говорите. Хорошо, теперь мы говорим про ваш скрин, который проводит HR, и я услышал, что там задаются в том числе технические вопросы. И, кстати, пока я не забыл про это скажу, вы ничего не сказали про CultureFit.
Давайте мы про это тоже параллельно немножко там поговорим, потому что мы знаем, что в больших компаниях на Западе, в Штатах вообще отдельная секция. В принципе, у вас исключительно техническая, но я так понимаю, что скорее всего это просто фоном идёт. Во-первых, фоном на других секциях, на технических секциях, а во-вторых, ещё на финале. То есть, по сути, на финале, когда... На финале есть софт-скиловая часть, где мы спрашиваем, как человек реагирует.
Ну, то есть как. И плюс финал по формату это час живого общения с человеком. И ты, если понимаешь, что человек как бы, ну, ты бы не хотел работать с таким коллегами, то, скорее всего, ты это отметишь. Но опять же, это можно по-разному отметить, потому что команда, ну, Яндекс очень большой, очень широкий. Ну, обычно на интервью просто подсвечивается, что вот.
Обратите внимание, у человека есть то-то, то-то, то-то. Склонность говнокодить или, наоборот, склонность оверинжинирить. И в зависимости от этого его нужно брать либо в инфраструктурную команду, либо в команду стартапа. Нет, у меня шаблыки, скажи. И вот этот cultural fit в таком большом конгломерате, Яндекс, мы чекаем вот супер-супер базовые штуки, вот такие прям совсем базовые. Потому что от команды к команде, вот почему и мультитрек в том числе, классная штука, что ты можешь пощупать.
Hexlet (01:00:11.917)
и выяснить, потому что очень он отличается. Я всегда... Бывает такое, знаешь, я не пойду к вам в Яндекс работать, у меня друг там работал, рассказал мне вот такие вот страсти. Ты начинаешь спрашивать, оказывается, что друг работал, не знаю, в каком-нибудь купленном стартапе, или... Ну и человек как бы интерполирует этот опыт на все другие команды Яндекса, что на самом деле часто приводит просто к неправильному пониманию. Я как... То есть знаешь, это как?
Вы хотите сказать, что и любитель у монолитов, и любитель у микросервисов найдется место в Яндексе? И не только на React на самом деле можно писать в Яндексе. Просто найти проект на других фрейдворках значительно сложнее. Статистически режет. Да, но в целом, возможно, даже где-то в Яндексе есть PHP. JQuery. JQuery точно есть. У нас тоже.
Никому не рассказываем, что мы его используем в продакшене. Ладно, там не избежать местами. Хорошо, давайте поговорим про скрининг. Полчаса разговора. У Ичара, скорее всего, есть какая-то заготовочка. Расскажите, как он проходит, какие вопросы, сколько людей там отваливается, что вообще там происходит. Мне кажется, мы более или менее все сказали. есть, скрининг – это…
Вот знаешь, как есть в водопроводе фильтр грубой очистки, там стоит такая сеточка, чтобы камень тебе не прилетел как бы внутрь дома. Вот. И скрининг это примерно то же самое, что это вот желание человека работать в Яндексе, более или менее профильный опыт и то, что он как бы действительно фронтендер, Вот какие-то такие штуки. Да, там есть у HR какие-то у рекруторов какие-то вспомогательные, может быть, вопросы, вот такие вот которые маркеры и то самое.
И плюс у них есть очень богатый опыт. Они иногда, как Андрей говорит, лучше, чем нанимающие менеджеры определяют по каким-то косвенным признакам. Нет, ну да, но там самое главное еще, ну вот я сейчас в некоторой секции посмотрел, там смотрят на мотивацию, потому что мы вроде как бы все типа работаем за деньги, а на самом деле нет, да? То есть мотивация деньгами, такая, одна из самых таких.
Hexlet (01:02:31.277)
короткоживущих, и на самом деле человек работает на работе не из-за больших денег, а из-за чего-то еще. И они это тоже выясняют. То человек там работать в стартапе, хочет работать в большой команде, в маленькой, бюрократизированной процессе, где все четко понятно. Либо он хочет, наоборот, сам процессы попробовать по повеустраивать и так далее и так далее. Или там он хочет работать в большом продукте на большой аудиторию, либо он хочет, наоборот, какие-то внутренние тулы записывать.
И вот это всё, это то целеполагание, куда человек, вообще какие его акансии, понравится и, самое главное, где он потом долго будет работать. Это очень важно, и тут важно не отвечать тоже кандидатам стандартными фразами, типа «я хочу быстро отрасти и быстро развиваться», или чего-нибудь такого в дух. «Молодой, дружный коллектив». На самом деле, кому-то некомфортно будет работать в молодом…
коллективе, вот комфортно. В молодом душном коллективе. Да-да-да-да. Вот, поэтому вот эта часть HR Screen тоже за это на самом деле отвечает. Если человек там соврал, бы, он может попасть не туда, ему нужно было бы. Давайте немножко добавим мяса в эту штуку. Расскажите про статистику прохождения этой штуки, ну какая-то она вас есть.
и красные флаги, которые здесь возникают. Эх, за что вы людей развернули? А статистически нету. Нету, да. Все, пойдемте дальше. Ну, она, наверное, есть, но там достаточно широко. То есть вообще в целом вся наша воронка, вот почему я и говорю, что нас рынок такой, как бы, по большому счету, кандидатский, наша воронка, она вся очень такая, зауженная, то есть у нас там на каждом этапе...
Чуть ли там не в 10 раз как бы все сужается. То есть там есть где-то в середине, где секции более или менее про одно и то же, и там углы воронки еще вот такие. Но вот как бы в целом, если смотреть от самого-самого верха до самого-самого низа, она там чуть ли не на пару порядков это самое сужается. Типа каждый сотый доходит Ну если вот да, если брать от самого верха, может быть даже и того хуже.
Hexlet (01:04:54.573)
Ну так вот, какие все-таки бывают причины, ну из того, что мы можем здесь обсуждать, такое понятное, когда люди себя закапывают или выясняется по опыту что-то, не знаю, все что угодно? Да, ну просто если человек там, не знаю, матом начнет разговаривать, мне кажется, HR должен такого развернуть, Ну, как минимум.
Разговаривать, Может быть использовать... Если проскочивать... Нет, если он проскочит, это... Да, это как бы еще да. Нет, ну есть, ну вот мне кажется, Чарльз там, ну... Не знаю, например, вот приходит человек и говорит, я вообще очень не люблю как бы Яндекс. И я к вам пришел, не знаю почему, типа меня почему-то как бы позвали или там, друг взял на слабо, друг взял на слабо, мама заставила.
«Ну я вообще у вас работать не хочу и не буду». Ну типа, ну, наверное, нет смысла ставить секции такому человеку. Хотя, опять же, вот есть, мне нравится мой кейс, когда я ехал в Яндекс, я был уверен, что я не буду работать в Яндексе и был уверен, что я не буду переезжать в Москву. Ну, то есть, это было не в том смысле, что я как бы, ну, как, абсолютно не допускал такой мысли, в этом случае, наверное, не надо было бы ехать. Но я ехал из разряда типа, проверить, интересно, посмотреть.
но, скорее всего, нет. И мое отношение к этому, изменилось. Поэтому людей, которые в целом говорят, типа, ну, я там активно работу не ищу, в принципе, как бы, никогда не рассматривал, просто потому что не особо там что-то про вас понимаю, это одно дело. Но вот когда человек строго говорит, что он там не хочет, ну, это прям совсем такой, как-то, радикальный выраженный красный флаг. Еще из красного флага вот то, что ты говори, то, что мы уже как бы обсуждали, что
Видно, что, например, опыт фейковый. Видно, что, например, опыта недостаточно. Видно, что, не знаю, профиль какой-то, может быть, странный, не тот. Человека, допустим, опыт есть, но он там, не знаю, что-то там, чуть-чуть как бы верстал в CMS-ке CSS и HTML, а еще занимался там SEO-продвижением, а еще на полставочки, значит, рисовал там какие-то баннера, Ну, то есть...
Hexlet (01:07:09.613)
вроде как и веб-разработчик или вебмастером мог называться в какой-то конторе, но не совсем то. есть мы, вот я говорю, смотрим на то, чтобы человек был фронтенд-разработчиком. Если он не фронтенд-разработчик по каким-то там флагам, тогда отсекаем. Не, ну еще, как правило, вот я вот опираюсь даже на свой опыт, мне часто звонили чары яндексов в какой-то, ну в какие-то они там раз в полгода.
Звоню я Я просто часто мы... я спрашивал в заплатной вилке и как бы такой ну к сожалению мне это не особо интересно еще и 4 часа приезжать вот к вам вот в офис чтобы вы на меня там это около стенки там засоставляли пересадить все маркером на белой доске как бы неспасибо вот. Ну кстати про зарплатные вилки тоже интересная тема есть же такой миф что в яндексе мало платят
И я тут недавно где-то в интернете тоже переписывался, что вообще-то зарплатные вилки очень сильно зависит от твоего грейда, да. То есть вопрос, как бы на какой грейд ты пройдешь с обеседования, и соответственно с этим у тебя будет зарплатная вилка. И поэтому оно очень... не это самое... не настолько это можно снаружи понять, да, там, что...
Слушай, это классно. Я сейчас понял, какой вопрос надо тебе задать в связи с этим. А вот я вдруг подумал, а может быть, это потому, что люди очень часто себя все-таки переоценивают? То есть как ты считаешь, в большинстве своем люди себя, которые идут в Яндекс, переоценивают или недооценивают? Я думаю, что они не то что переоценивают, недооценивают, а просто в большинстве своем люди хотят как можно больше. То в большинстве своем люди, а-ля, типа, жадные. И это я сейчас использую не как плохую характеристику, а скорее как...
Это нормально, жадность – это какой-то вкус к жизни и желание получать больше. Но есть такой естественный байс, что люди хотят больше. А если без денег? Как они самооценивают свой уровень? Очень по-разному. Наверное, я не могу сказать, что у меня есть какое-то понимание персентажа, но вот нас есть люди...
Hexlet (01:09:24.557)
как с заниженной самооценкой, вот ты приходишь к человеку, говоришь, приходи к нам, он говорит, ой, я точно слишком плох, я еще не готов, дайте мне подготовиться, и ты говоришь, да что тебе готовиться, вот у тебя там опыт, практика, ты сейчас делаешь примерно то, что нам нужно делать у нас внутри, приходи, ой, нет, я, наверное, слишком плох, и наоборот, как бы, я уже слишком хорош, дайте мне сразу это самое, сто пятисотый грейд, и вот это все, и
Ну, не знаю, короче, как будто бы это какая-то корреляция, наверное, общая, уже общечеловеческая. Знаешь, это вот было исследование, когда у людей спрашивали, как они самооцениваются, что 75 % оценивают себя в 75%, что-то такое там было. ты понимаешь, что 75 % считает, что он чуть лучше среднего. И, соответственно, там остальные девиации разбросаны.
Это довольно забавно, учитывая, что если посмотреть, ну, больше много же говорят про то, что синдром Созванца и так далее, но все-таки видно, что если людей спрашивать, то в целом они оценивают себя выше, потому что молодец, если так можно сказать. В моем понимании это как бы, знаешь, здоровый такой позитивизм, то есть это здоровая в каком-то смысле слегка завышенная самооценка в плане того, что
Ну, не знаю, есть… Ну, человеку было бы плохо Она создает вектор, да. Вот заниженная самооценка, мне кажется, ну, ровно как и совсем завышенная, да, вот 75 % – это норма, это норма, просто статистическая норма, Прикольно, да. Хорошо. Так, вот мы с вами проговорили, вот человек проходит эту секцию, да, после этого HR по внутреннему процессу, да, он… ну, в смысле, рекуртер, да, он сам…
Он сам понимает, этот человек как бы условно в верхнюю половину грейдов попадает или в нижнюю половину грейдов. И в зависимости от этого он ему ставит либо секцию про JavaScript и секцию на базовые технические навыки, либо секцию на базовые технические навыки и секцию на архитектуру. Иногда рекрутер ошибается, и тогда мы доставляем человеку ту или иную секцию. То есть, например, он ошибся вверх.
Hexlet (01:11:50.221)
то мы доставляем ему еще там секцию про JavaScript, если он ошибся вниз, то доставляем еще архитектурную секцию. Слушай, перейдем к IT, сейчас я такую смешную штуку. Люди, которые к вам не попадают, даете ли вы им какие-то бонусы, билеты на конференции, которые вы проводите? Я на самом деле знал, что в этом выпуске я хочу на эту тему пошутить, потому что мы хотели такие, поговорим о конференции, не говоря о конференции.
Ну почему об этом не сказать прямо? Давай вот сейчас вставочку сделаем, потому что время прошло достаточно, у вас действительно скоро конференция, и расскажи о ней в двух словах. У нас будет 23 марта конференция «Я люблю Frontend», и это такая наша бесплатная открытая конференция про Frontend. В отличие от Яндекс.Субботника, где мы рассказываем только индексоидами, что мы поняли, разрабатывая Яндекс.
Я люблю Frontend, это такая прям конференция, где люди не только из Яндекса. Вот собираемся вместе, мы на почве любви к своему делу. И да, ближайшее будет уже совсем скоро. И я бы здесь сказал, что она вплетается в историю про собеседование и про вообще прохождение отбора в компанию. Во-первых, потому что ты на конференциях часто чему-то учишься и получаешь какой-то вот вектор именно обучения.
Во-вторых, потому что ты на конференциях имеешь возможность, многие этого недооценивают, конференциях ты имеешь возможность заглянуть, прикоснуться кулуарно к тому, что на самом деле происходит. что ты, поговорив в кулуарах конференции с людьми из компании, узнаешь про нее сильно больше, чем написано там в рекламных проспектах и так далее.
Хотя тоже тут надо вспомнить, что Яндекс очень разный, и поговорив с одним человеком, не надо это интерполировать на весь Яндекс. Но вы можете поговорить с несколькими людьми. Ну и плюс, кроме Яндекса, будут другие ребята, поэтому, да, будет очень интересно. Приходите. Или просто подключайтесь к онлайну, потому что места, конечно, будет не так много. Это не супер огромная конференция. Там будет всего, по-моему, 500 мест или что-то типа того. Но будет онлайн-трансляция, поэтому можно тоже подключаться. Кстати...
Hexlet (01:14:09.069)
Знаешь, что еще про конференции? Мне кажется, момент стоит сказать. Работает ли реферальность? У Яндекса конкретно были такие кейсы? Я просто всегда про это рассказываю, потому что в моей жизни это работает. Ты можешь познакомиться, люди увидят тебя, скажут, слушай, ты классный чувак, к нам. Реферальность точно работает. Во-первых, нас есть внутренняя система, реферальная система. Можно получить бонус за то, что ты кого-то порекомендуешь, и он успешно наймется.
И там по статистике люди, которые таким образом попадают в компанию, как бы лучше в среднем потоке, ну в смысле там они лучше проходят секции, лучше потом показывают себя на ревью, да, и в целом лучше адоптятся в команды, что вот и вот этот вот источник в виде рекомендации коллег, ну потому что обычно как, если тебе на уровне каких-то персональных ощущений кажется, что с вот этим человеком хорошо бы продолжить работать, вот ты его там...
как-то знаешь, работал с ним до этого или еще что-то такое, то, скорее всего, он впишется хорошо и в Яндекс тоже, потому что ты уже тоже являешься каким-то представителем индексовой культуры. Поэтому реферальность очень сильно работает, мы всячески пытаемся ее стимулировать, вот говорю, даже деньги начали там, ну, уже достаточно давно начали за это деньги платить, и часто бывает такое, что мы даже какие-то, ну, назовем это там типа полусерым и каким-то схемами, в духе того, что
тебе подскажут коллеги, твои знакомые подскажут, сюда ходи, сюда не ходи или сюда ходи, если хочешь одного, сюда ходи, если хочешь другого. есть, познакомившись с кем-то из Яндекса, можно узнать какую-то дополнительную информацию, как реальный мир устроен. Слушай, я знаю, что в процессе разговора понял такую вещь, мы об этом явно не сказали, но как будто бы вас все эти собесы офлайновые или я неправильно понял.
Нет, как это, благословение пандемии, да, не было бы счастья, это несчастье помогло. После пандемии мы такие, о, гляди-ка, можно проводить все собеседования онлайн и ничего особо не сломается. И мы в целом как бы преимущественно все собеседования проводим сейчас онлайн. То есть если человек конечно скажет, что не знаю, я хочу приехать к вам в офис, позырить своими глазами, как там что внутри устроено, то конечно да.
Hexlet (01:16:31.885)
пожалуйста, приезжать. Возможно, один с Сережей сможет провести эти секции около доски. Но... Не, даже в таких случаях мы, дадим ноутбук или хочется своим, но мне кажется, сейчас уже очень много людей распробовало, и всё это онлайн происходит. Работать дальше потом, уже отдельная тема про удалёнку.
дальше, конечно, мы любим с существенным присутствием в оффлайне, или так или иначе, в каком-то либо гибридном режиме, либо полностью оффлайновом режиме. Ну а это просто, как я это называю, set but true, к сожалению, пока еще слишком заметна разница между оффлайновой коммуникацией и онлайновой. Вот когда ты разговариваешь по камере или когда ты в одной комнате разговариваешь. Я вот обожаю онлайновость. У меня вот все мои...
подразделения, которыми я руководил в Яндексе, они были всегда очень распределёнными. Я мечтаю когда-нибудь переехать жить в Таиланд, но до тех пор, пока я вижу своими глазами, насколько есть разница в эффективности, меня просто рука не поднимается. Да, к сожалению, это не поменяется. Знаешь, вот я уже работаю больше 10 лет полностью онлайн, полностью вообще, с распределением 100%. И, честно говоря, иногда даже забываешь, то есть нас бывают моменты, когда я вдруг понимаю, что те проблемы, которые есть или сложности, они, если бы это был оффлайн,
И вот эти вот штуки уже редко происходят, потому что настолько привыкаешь, что забываешь. Замылился глаз, да. Замылился, да, действительно, есть такое. Но уже с этим ничего не сделаешь, то есть уже всё, машина так настроена и едет. Окей, давайте переходить, наверное, к практически уже самой такой глубокой части, это непосредственно технический интервью. Ну сейчас мы тебе задачку зададим. Давай, я готов. Решишь, мы тебе покажем.
Я думаю, что давай мы с кем-нибудь из ваших студентов сделаем еще отдельный стрим, а то мы сейчас уже пересидели. Возьмем кого-нибудь, кто хочет диагностировать свои технические навыки, и мы прям покажем вживую, с Андреем, может быть, кого-нибудь позовем, покажем, как оно сейчас происходит, потому что у нас в том числе есть кое-какие относительные изменения в том, как у нас проходит процесс собеседования.
Hexlet (01:18:49.037)
Поэтому давай лайв-кодинг оставим на потом, а сейчас можешь задать вопросы. Ну ты в любом случае скажи какую-нибудь задачку, чтобы мы все подумали, и наши слушатели такие типа «как же решать эту задачку?». Есть такая поговорка у нас внутри, что секция называется «Секция духа», потому что два указателя и хэш-мэп — это все, что вам нужно знать, решить 80 % задач. Ну не знаю, у нас как бы задачи…
Обычно помещаются решения в пол экрана, ноутбука стандартного, более или менее обычным средним размером шрифта. Они все содержат какой-нибудь твист про, как я сказал, хэшмэп, например, как способ разменять процессор на память, сэкономить где-то процессорные такты дополнительно за счет того, что использовать хэшмэп как структуру с быстрым доступом.
могут быть задачи на те же самые два указателя, чекнуть, что какая-то строка является полиндромом. Очень эффективно. То если строка очень длинная, то чекнуть, что она является полиндромом, двигаясь навстречу друг другу двумя указателями, А не просто делая еще копию этой строки и реверсия ее, и сравнивая ее друг с другом, как некое наивное решение, которое приходит в первую очередь.
И еще у нас есть пачка задач на асинхронность, и это, кстати, классная штука, где вот бэкендеры там часто высокомерно отзываются, а не настоящих разработчиков фронтендерах, но с асинхронностью хорошо среднестатистический бэкендер ну не работает так как среднестатистический фронтендер. И поэтому всякие задачи на то там не знаю...
как что-нибудь, допустим, два каких-нибудь асинхронных действия совместить друг с другом, два каких-нибудь асинхронных процесса, не знаю, как там обрабатывать клики или какие-нибудь анимации или ещё что-нибудь такое, тоже есть, но, опять же, задачки уровня полукрана текста не такие большие сложные. Ну вот, смотри, кстати, я тогда вот спрошу конкретно про палендром. Предположим, что человек такой говорит,
Hexlet (01:21:04.813)
Перевернуть строку. Как у вас именно построен вот этот анализ? есть, это, наверное, неформально, типа «так, он предложил мне оптимальное решение, вы же, наверное, его дальше спросите, окей, скажи, какие у этого решения проблемы, продолжу дальше». Как вы это сделаете? Типа того, то есть вообще вся роль собеседующего, почему у нас есть один коллега, который всегда спрашивает, зачем мы вообще проводим собеседование, почему мы в силу того, что всё очень суперформально.
не будем давать, например, на нашем контесте или там на каком-нибудь кодране просто решать задачки самому без всякого собеседующего. Собеседующий нужен для того, чтобы вынуть, вот как я говорил, самое лучшее из кандидата, чтобы в случае чего, если кандидат, например, затупил, застопорился, пошел не по той ветке, чтобы ему дать наводящий вопрос и все-таки вывести его на какой-то правильный flow, на какое-то правильное решение.
И вот случае, если человек говорит такое про полиндром, то есть, во-первых, там в постановке задачи мы сразу говорим, что нас интересует максимально эффективное решение с точки зрения процессора и памяти в зависимости от длины входной строки. Когда он говорит, реверснём, мы у него спрашиваем, оцени, пожалуйста, вот этот алгоритм, как много памяти будет расходовать по мере того, как будет входящая строка увеличиваться. Дальше человек, либо он вообще в целом
как бы тут развилка, да, либо он вообще в целом как бы понимает это, либо он не понимает. И это вот большой очень дифференциатор. Если он это в целом понимает, он начинает такой так, хорошо, лишнюю память мы линейно тратим, если строку будем копировать. Как мы можем обойтись константной памятью, потому что строка уже в памяти лежит, да. Дальше начинается тоже, опять же, там, типа, сколько мы потратим процессора, сколько мы сделаем циклов.
по этим буквам. Мы можем делать, например, цикл какой-нибудь там полный или еще что-нибудь такое. Тоже могут отличаться решения. И вот собеседующий будет задавать вот эти вот вопросы в духе, а точно ли это самое оптимальное решение? А можешь ли ты придумать что-то другое? Если человек будет говорить, ой, нет, что-то я ничего другого придумать не могу, собеседующий еще даст какой-нибудь наводящий вопрос там, а вот есть ли, допустим, зайти через вот это?
Hexlet (01:23:24.109)
И только после второго-третьего уже какого-то наводящего вопроса, когда уже будет понятно, что человек, например, абсолютно не понимает, абсолютно не воспринимает, собеседующий просто расскажет, покажет. И обычно правила хорошего тона в нашем клубе собеседующих – не отпускать человека с нерешенной задачей. Он хотя бы должен, опять же образовательная миссия, хотя бы уйти с пониманием, а как же это было?
за константную память, например, чекнуть этот полиндром. Давай еще чуть-чуть дополню. На самом деле, если полиндром просто простая задача, если какая-то задача посложнее, человек не может... ну, вот ты ему всячески намекал, как-то давал наводящие вопросы и так далее, или он не отреагирует. Зачастую интервьюеры дают такую полуподсказку. есть эта полуподсказка, не...
дает тебе полное решение, но оно тебе показывает вектор, которого человек может стартовать. И очень самом деле много кандидатов, с этой полуподсказкой, они стартуют, решают задачку, то есть мы эту задачку оцениваем чуть с меньшим весом относительно итогов все секции, но в целом он пройдет. То у интервьюера нет задачи, типа выдал задачку, решил, нет, не решил.
решил молодец, не решил плохой. Там очень много нюансов, которые мы в том числе оцениваем.
Понятно. И где вот в этой части появляется кодинг? Или все задачи, которые вы спрашиваете, они про кодинг? То есть вы здесь про типа «расскажи, как ты решал на прошлой работе», здесь этого нет, да? Нет, этого нет. То есть четко прямо вы идете по списку задач, да, вот таких? Повторюсь, вот есть секция, которая называется «Базовые технические навыки», которая непосредственно проверяет навыки твоего программирования. Как я еще говорю...
Hexlet (01:25:21.037)
проверяет объем твоей оперативной памяти и тактовую частоту твоего процессора. есть она не проверяет заполненность твоего жесткого диска эрудиционными какими-то фактами. То есть мы, например, разрешаем спрашивать, а как назывался тот метод, который ОРЕ первый элемент сдвигает, там shift или как-то еще. У нас там есть подсказки под JavaScript, которые в целом есть в IDE.
Да, там выскот редактор, ты можешь, ну в смысле редактор такой более или менее полноценный, ты можешь это все видеть, плюс есть консоль, и можно запускать код. Это вот тоже то, мы интригу как бы подвешиваем, что мы долгое время уже проводим секции эти с возможностью запускать код, а не так, как раньше там на доске или на листочке или на компьютере, но без возможности запускать код. То есть мы делаем шаг навстречу
как чаще всего устроена жизнь у разработчика на работе, мы даем возможность запускать код, и все вещи, связанные именно с API, они всплывают очень быстро. А вот способность придумать, способность вообще понимать, вокруг чего нужно придумывать решение, мы ее как раз проверяем. О, и у меня в связи с этим есть такой блиц-вопросик, маленький в рамках того, что берется.
Может ли человек выбирать TypeScript или JavaScript? TypeScript сложнее, потому что TypeScript нужно компилировать. В нашем интервьюшнице, мы ее называем «Ласково внутри», там просто берется из Тати Экстерия, где человек пишет код, и прямо в существующий браузер, в существующий веб-воркер, без всякого сервера, потому что на плюсах сложнее сделать запуск кода.
в процессе собеседования, потому что тебе нужен какой-то кластер воркеров, которые будут компилить, запускать и вот это все. Вот то, что у вас, например, в код баттле делается, есть отдельный кластер машин, которые экзекьют этот код на разных языках. Мы сделали очень просто, прям берем из из джаваскрипта туда кидаем, плюс наша задача, настолько, вот я говорю, пол экрана текста, что там чаще тайпинги они мешают. То есть я знаю, что многие кандидаты
Hexlet (01:27:45.389)
приходят с этим самым, мне TypeScript на работе очень помогает, хотел бы здесь пользоваться TypeScript. Чаще это не сильно роляет. Там всего ничего у тебя там этих переменных, тайпинги у них супер простые, и это не очень сильно бы даже помогло. Но я думаю, что мы когда-нибудь доделаем эту штуку, и можно будет выбирать TypeScript, если уж ты прямо действительно это хочешь. Но в целом, для задачи это скорее...
для текущих задач, это скорее не очень-то помогает. Знаешь, интересно именно, есть ли такой запрос, потому что я знаю, что люди, которые такие немножко про статику, могут относиться довольно, ну знаешь, пренебрежительно к другим форматам. Не существует ли уже сейчас такой тенденции, что приходят люди и говорят, я знаю TypeScript, JavaScript не знаю? Или это вообще Не, ну достаточно зайти в TypeScript, посмотреть сколько у него багов и понять, что это не вообще,
мое личное мнение, это не отдельный язык программирования, некоторая надстройка. Один из вот недавно читал статей, в зависимости от того, как ты в интерфейсе будешь объявлять функции, у тебя чуть по-разному будет код работать. как бы TypeScript это настройка над JavaScript и всегда это все будет компилиться в JavaScript. Которое надо знать, да. То есть тут вложено оно в другую сторону, что грубо говоря, ты не можешь...
знать только TypeScript. То есть, если ты знаешь TypeScript, ты по умолчанию должен знать весь JavaScript плюс историю про тайпинги сверху. И в этом смысле говорить, что ой, а я без тайпингов не могу. Ну, еще раз, я согласен, что какие-то сложные большие проекты, reasonable, понятно, что люди могут, например, говорить, не хочу начинать большой проект без TypeScript. В принципе, мы много где, в каких проектах внутри, также рассуждаем.
Но если мы говорим про маленький кусочек кода, то скорее как бы это не помогает. Если ты говоришь про статистику, так вот пальцем в небо там из моей практики, за там последние несколько десятков собеседований было пара-тройка человек, которые сказали, ой, а можно я начну на TypeScript? Но когда я им сказал, что скорее всего это будет тебя только мешать, в целом все прошли, ну, все нормально переключились на JavaScript.
Hexlet (01:30:06.253)
людей, которые бы отказались проходить секцию, потому что она не на TypeScript, у меня не было. Я почему про это вопрос задал? Потому что есть ощущение, опять же, вам виднее в этом смысле, у меня нет сейчас такого количества беседований девелперов, что вот это вот смещение, знаешь, как со многими языками обертки, когда они перестают знать базовую платформу, конечно, TypeScript это сложно, потому что он слишком похож на JavaScript, но все равно тенденция есть, и вот мне интересно, наступили такой момент, когда человек будет говорить, я в этом, Джесси, не понимаю, ну,
не настолько сильно, но в кота не в джаве это посильнее, да? это, знаешь, раньше были программисты на GQuery, которые такие типа, ой, а я без GQuery и не знаю, как это сделать. Самое смешное, что у них там сплошные анонимные функции, да, они как бы не понимают, как они работают, когда в реальности начинают с ними сталкиваться. Нет, я бы сказал, что ну, можно в теории, если будет большой спрос, сделать задачку, ну там, на TypeScript, потому что когда ты...
на TypeScript начинаешь шанглировать типами, там вполне можно придумывать, что написать и проверить, знает ли он именно вот этот TypeScript в плане условных типов и так далее и так далее. И мне кажется, моему даже опыту, даже по коллегам, там 95 % разработчиков, это не напишут в принципе, хотя пишут на TypeScript. Вот, поэтому... У нас есть разные чемпионаты и разные...
вот кодран есть платформа кодран яндекс ру по сути с задачками и есть яндекс кап который мы каждый год проводим чемпионат по программированию и туда мы вставляем задачки на type script но именно вот такие type script challenge like да где тебе нужно там на на тайпингах сделать какую-нибудь программу потому что тайпинг и почти тюринг полны вот и
Почти, потому что с точностью до памяти, которую конкретно под каждый отдельно взятый компилятор выделяется. Но это скорее опциональные задачки. Если ты не знаешь ничего про TypeScript, то если ты знаешь TypeScript, это тебе может дать какой-то бал дополнительный, может быть, даже. Но если ты не знаешь, то ты тоже можешь получить топовые результаты. Давай так, еще такой вывод, что, грубо говоря,
Hexlet (01:32:25.229)
есть просто вот это заблуждение, мне кажется, что типа сейчас нужен везде TypeScript, без TypeScript ты не пройдешь. Мне кажется, если человек знает классно JavaScript, он реально крутой спец, какая нафиг разница, знает он TypeScript или нет. вопрос. Я бы сказал так, что TypeScript он сможет доучить. То есть если он знает JavaScript, то TypeScript он сможет доучить. То есть для вас это никогда не проблема, если вы видите, что он профи?
Если человек сможет на JavaScript решить о TypeScript, он говорит, никогда не писал на TypeScript, мы его, по крайней мере, в очень большое количество команд мы его возьмем. Супер. Мы вот эту часть конкретно вырежем в шорты и распихаем по всем нашим каналам, потому что это очень важно сказать. Ты спроси еще про реакцию, про знание реакции. О, давай. Знание дав. Кстати, на этой секции, я так понимаю,
вы все-таки на более низком уровне, то есть вот фреймворки, прикладные вещи вы не проверяете здесь от слова совсем. То есть какой уровень максимальный? есть где вы определяете эту границу, что типа вот тут уже не проверяем? То есть вы только прям чистый джез, понимание синхронности концептуальных каких-то вещей, никаких лип, ничего, да? Без библиотек и фреймворков, да. И вопросов таких тоже нет? Ну есть отдельно, мы экспериментируем с форматом секций с кодом.
где мы пытаемся проверять знания реакта. Иногда мы еще тоже пилотируем задачки. Если человек говорит, что он знает реакт, мы пытаемся ему давать какие-то задачки с использованием реакта. Но скорее это носит как я это называю, декоративный характер и сеттинг, что часто на собеседовании роляет сеттинг задачи.
Если тебе скажут, например, не знаю, что-нибудь там типа, сделай глубокий обход дерева, то ты можешь хуже воспринять эту задачу, чем тебе скажут, пробежись по HTML-ному подом дереву и найди в нем какие-то элементы. То есть, от одного вот этого постановки, поставлена ли эта задача в терминах там...
Hexlet (01:34:40.525)
абстрактных математических понятий, функций или чего-нибудь там еще, теории, категорий, или же она поставлена в виде похожей задачи, которая у человека случается day-by-day, у него очень сильно меняется восприятие, и ты экономишь время на погружение человека в задачу. И с реактом то же самое. Боюсь, что для какого-то существенного количества людей просто тот факт, что они видят там, не знаю, GSX.
и что задача сформулирована как будто бы про какой-то там React-интерфейс, интерфейс на React. От этого у них просто будет лучшее узнавание, и они сразу ближе перейдут к сути и к делу, к решению, собственно, самой задачки. Но мы с этим пока только экспериментируем и широко пока нигде это не применяем. Не, ну давайте я допомню. Мы...
Ну, у нас же есть две секции. И как бы вот одна секция — это базовые технические налоги, а вторая секция — это базовый JavaScript. В самом деле на базовом JavaScript-е тестировали мы этот подход. Когда человек приходит, ему нужно на React сделать какую-то по какому-то дизайну простую формочку. Ну, типичная задача фронтейндера. Форма шлёпа. Ну, как бы...
с чего-то нужно начинать свою работу. И эту работу тоже должен кто-то делать, пока нейронки этому не научились, условно. Но мы это тестировали, тут, возможно, когда-нибудь оно появится. Но просто большинству как бы и нанимающих менеджеров важнее, скорее общий скилл, общая подкованность, чем знание каких-то конкретных...
фраймворков, если это только не очень узкая какая-то специализация. Большинство сервисов как команды говорят, что если он принципе хороший, кажется, программист, то реак, мы ему научим.
Hexlet (01:36:35.341)
Понятно, А потом ищут хорошего человека, который знает трек, который сделает быстро. Я просто подозреваю, что такие места, в которых не будет достаточно, это сходу работы с видео, где учёк должен быть на соответствующие знания и навыки, и научить этому можно, но, наверное... Это скорее опыт использования видео, но тоже...
Если задаться целью писать свой аналог Zoom, там скорее проблемы на сервере будут, чем на фронт-энде особо. В текущих, по-моему, плюс-минус все порешалось. Но целом нет, тебя могут быть сложные графические интервью, когда ты что-то трясуешь на canvas, какой-нибудь, я не знаю, днк, редактор или еще что-то. Да-да-да, там специфические знания нужны. У нас, в этом плане, я же на Holy Jazz буду выступать с докладом,
Я два месяца последние программировал, я вообще давно шашками не махал, но вот я программировал, наш редактор сел переписать на TypeScript. И заодно его давно не обновляли, подустарел, то есть новые подходы, там TypeScript, поэтому я заменил вообще все, чуть ли не с нуля. И это довольно интересно, потому что оно, приложение само небольшое, но оно вообще максимально нетипичное, то есть ну представляете, это редактор, это терминалы, то есть там вот, короче, там все взаимодействие, оно не укладывается вообще в...
форма, запрос, ответ, а слова вообще там ровтинга нет, но у тебя гигантское количество разной скрытой функциональности, автосейв и табов, знаете, реконнекты, то есть вот эта вот штука, и ты, конечно, когда это делаешь, такой, блин, это сильно выпадает из типовой вот такой вот фронтендовой работы, потому что там очень много, ну, другими понятиями надо думать, и бэкэндз знаете, кстати, еще. Не, ну тут стоит разделять просто фронтовый тропот.
на самом деле. тебя же есть формочки, сайты и все остальное, есть большие аналитические продукты. Я бы сказал, что поэтому мы пытаемся на секциях проверять базовые технические навыки, чтобы мощь завалидировать, человек дальше будет способен как бы доучиться чему-то. Или же если действительно прямо супер что-то необходимо, то на финальной секции или в виде отдельной секции у человека что-то доспросят.
Hexlet (01:38:58.797)
Но опять же повторю историю про кадровый голод и целую недостаточность кадров, что ситуация такова, что приходится просто доучивать толковых людей с хорошими базовыми навыками до вот этой специфики, нежели сидеть на берегу, ждать, пока к тебе приплывет человек, обладающий вот этим вот специфичным конкретным опытом. Очень уж это дорого, и так мало хороших кандидатов.
Дополню чуть-чуть. Если человек много лет программировал на ангуляре, и он просто хорошо на нем программировал, и он захочет прийти в Яндекс, препятствием, что он там не знает отлично триакты, это вообще не будет, и он нисколько не пострадает, скорее всего, там, словно в грейде в своем. Да-да-да. У меня всегда такой же подход был. есть вот мы, например, ищем у нас рельса.
Мне вообще никогда не было важно, умеет человек в рельсу или нет. Если он крутой в Ларавелии, вообще, за счастье. У нас самые крутые программисты были все свитчеры. Но знаете, меня была очень смешная много лет назад ситуация, когда я сам как CTO писал человеку в моем круге еще, приглашал на работу. Он был на Python, я его пригласил на Rails. И он меня воспринял как HR, который слишком тупой, чтобы понять, что он пишет на Python, и он мне выдал такую триаду, что я не вижу, что я делаю. Это не Java, это JavaScript.
Ну, типа того. Я такой, чувак, я именно поэтому тебе и написал. Ну, в общем, такой момент, я вспомнил его. Знаете, у меня есть каверзный вопрос. А если на этой секции человек, вы же от него решили какие-то задачи, и он начинает писать код таким стилем, что вообще не так, как вы бы хотели это видеть? Это переменная на русском языке? Я могу много кейсов придумать.
Ну, прям очень, например, низкоуровнево. есть человек, ну не знаю, он прям на циклах со счетчиком любую задачу решает, любого уровня. Может быть, это и нормально для вас? У меня был один классный кандидат, который объюзил цикл «while». Он писал «while» с пустыми фигурными скобками. И все, что нужно было сделать в этом «while», он засовывал туда, внутрь, в круглые скобки, там, констрейн проявляется.
Hexlet (01:41:19.021)
пишет какое-то выражение, чуть ли там не с использованием запятых, и вот как бы вайл. Или там, или цикл 4 тоже некоторые любят abuse-ить, знаешь, типа пишут точку с запятой, то есть первые и последние, тот самый, клозы внутри круглых скобок опускают, все пишут, например, там в серединке. По сути, делая из цикла 4 цикл вайл, Я очень, то есть...
Если совсем будет какая-то дичь, то это будет какой-то комментарий дополнительный в секции, что типа просьба обратить на это внимание, как бы учтите, что у человека вот есть такие особенности, но если человек успел решить задачу, ну плюс-минус, типа все равно, там как он назвал переменные, как он это самое, то есть это могут быть какие-то дополнительные штрихи к портрету.
Но, как правило, мы смотрим все-таки не на это, а на базовую способность человека там соображать и придумывать какие-то вот эти вот решения, не ошибаться там в алгоритмической сложности, понимать, чем отличается hash от массива. То есть мне гораздо важнее, чтобы человек понимал, чем отличается поиск в массиве от поиска в хэше, чем назвал он переменную x или index, например, или i или index или еще что-нибудь такое.
Поэтому хочется кандидатам бы призвать их, пишите переменные так, как вам удобно, не ослушайте, что там надо все переменные нормальным языком и все остальное. Если вы не привыкли именовать нормальную переменную сразу, это скорее говорит о вашем опыте. Но я очень много видел кандидатов, которые стараются писать правильно выверенные названия.
и тратит на это столько времени, что я просто как говорил, назови его там A или B. Там будет всего в этом коде будет всего три переменных. как это, то что ты назовешь my small little variable for loop temporary, от этого цикл 4 твой как бы крашей не станет. У меня знаете какая была ситуация в жизни, я по-моему из-за этого не взял человека, но у меня попроще, понятно, делают полторачасовое собеседование и
Hexlet (01:43:35.053)
в основном набирал тогда джунов больше, медлов иногда, и вот у меня просто парень, а может быть и взял, кстати. Короче, я помню, что на собесе, когда была простая функция с одним if, то есть больше ничего нет, просто if с двумя else, он умудрился сделать решение с тремя классами, вот, ну то есть просто, и как бы для меня, конечно, это показатель, то есть если человек так делает вот здесь,
Значит, него оверинженерные задатки очень большие, а проверять я его не хочу за ним присматривать, поэтому скорее такой человек... Может, он просто на Джаве писал до этого? Нет, нет, на PHP писал. Но ситуация была такая... Это единственный раз за всё время. Такие штуки, всего, осядут в комментариях к секции, но если при всём при этом человек успел всё более или менее решить, и если, например, он успел всё решить, может быть, даже быстро...
И ты у него спрашиваешь, а как еще можно это переписать? Вот меня есть рубрика на подкасте, как это можно переписать. Вот ты него спрашиваешь, типа, а вот если это мы будем переписывать как-то, что можно улучшить? И он вот либо тебе говорит про то, что... и открываешь, что он понимает в принципе, он пишет там странным образом. Вот меня, например, есть в моем персональном кодестайле какие-то...
видишь вещи по отношению к среднестатистическому разработчику. Но я понимаю, что они у меня есть, да? Я понимаю, что можно написать по-другому. Я могу про это поговорить. Другое дело, если у человека в принципе мозг так устроен, он написал вербозное какое-нибудь неэффективное решение, потому что он не может кристально мыслить, не может как бы именно смотреть в суть.
Но там, скорее всего, это выльется в то, что он тупо не успеет решить задачу. То есть обычно, ты пишешь эти самые три класса, ты просто закопаешься в их дебаге и встыковке друг с другом, и не успеешь за час решить там даже одной задачи. Слушайте, ну я на самом деле в таких ситуациях, то есть там не три класса, а в задачке там человек начинает там писать пять функций, я на самом деле из таких стараюсь помогать спрашиваю, а тут что-то хочешь написать в этой функции, а нам действительно это...
Hexlet (01:45:45.773)
нужно. Ну и тем самым не позволено, стараюсь не... ну то есть если он настаивает, естественно пусть пишет, что хочет, но в целом направить максимально помочь все же. Это одна из наших мантер, что нужно не позволять кандидату свалиться и потратить время на печатание там, где можно не печатать. Вот почему мы, например, часто начинаем собеседование с того, что давай поговорим о том, как ты собираешься решать.
Потому что если ты собираешься решать тот же самый полиндром через реверс строки, то лучше мы сразу с тобой обсудим всё, чем ты будешь тратить время на отпечатание этого кода, потому что он точно не тот, который мы хотим услышать. Поэтому помощь человеку не облажаться, очень важная у всех собеседующих. Окей. Хорошо.
Наверное, мне кажется, мы с этой секции закончили. Напомни, как называть следующая секция? То есть это секция, где мы говорим про опыт и говорим про какие-то прикладные вещи. Правильно я понимаю? Или не совсем? Ну вот есть секция базовых технических навыков, где мы проверяем, как ты кодишь. Есть секция, ну назовем ее давай, джесс-секция, где мы проверяем твое знание именно джаваскрипта. Она больше такая про эрудицию скорее. Там тоже придется что-нибудь покодить, но она больше про то,
а знаешь ли ты JavaScript. И есть секция дальше финальная, где мы спрашиваем твой опыт и уже смотрим как на hard-скилы, так и на soft-скилы. То такая агрегирующая суммарная секция. Слушай, я знаю, что понял, да, мы сейчас говорим про JavaScript, но есть еще один вопрос, люди всегда задают, и на него точно надо ответить. Вы, наверное, знаете, много, опять же, людей
регулярно пишет о том, что… Давай я попробую вжиться в роль эту. Я не понимаю, зачем они делают кодинг, ну, кое-кто считает, я все-таки сеньор, что от меня хотят, кое-кто вообще не приемлит вот этот формат как… Ну, типа это вообще неправильно. Что вы найдете ответить в свою, так сказать, защиту? Давай разложим на две части. Первое, если человек считает себя сеньором…
Hexlet (01:48:11.117)
и не хочет уметь программировать, но мы ответим, что это просто на базовом уровне не мачится в культурал фид Яндекса, потому что руководитель группы, например, должен быть ревьюировать код своих людей и тоже сам программировать. Руководитель службы должен быть принимать какие-то тоже архитектурные решения, для этого у него тоже должны быть навыки программирования.
Если ты претендуешь на то, что ты руководитель вообще супер высокого уровня, ну, во-первых, тебя и другой уже будет интервью-луп, скорее всего, если мы говорим про какие-то совсем верхние позиции. Но, опять же, CTO мы заставим писать тоже код. наша такая... кто-то называет бзиком, но, в общем, мы считаем, что это коррелирует с тем, насколько качественно ты CTO-шишь. То есть, если ты не можешь понять,
что чтобы чекнуть строку на полиндром можно не расходовать линей на память, странно от тебя ожидать на уровне архитектуры сервисов и архитектуры процессов разработки толковых решений. Опять же, тут надо отличать две ситуации. Одна ситуация, когда человек, у него хорошая оперативная память и хорошая тактовая частота процессора, и он просто не понимает, в чем задача.
ты дашь бэкэндеру задачу там, не знаю, про дом или про ту же самую браузерную асинхронность, он, возможно, ее неправильно решит просто потому, что он не понимает эти кубики, из которых это нужно складывать. Ну а если человек понимает кубики, него должна быть, базовая соображалка должна быть способностью хорошо решать эффективно задачи. И это, мне кажется, коррелирует. Второй вопрос твой был про то, что...
Я не считаю, что лайв-кодинг в парном режиме это правильно и показательно. И тут мы экспериментируем тоже с форматом каких-то домашних заданий, например, или еще чего-то. Но, к сожалению, сильно сложнее это делать. есть живой кодинг обладает своими проблемами, поэтому мы, как я говорю, пытаемся их компенсировать, просим людей готовиться, сами всячески им помогаем.
Hexlet (01:50:32.269)
чтобы чисто волнение снять, которое есть в процессе секции, но пока мы не придумали хорошего формата без читерства, показательного, который был бы другим. Если у кого-то есть идеи, напишите в комментариях, рассмотрим, подискутируем, попилотируем. Я бы еще добавил, что для этого седеора, наоборот, не должно быть проблем, за час решить, если он прям...
высокого уровня и считает, что он супер-пупер-программист. К нам регулярно приходят люди, очень... Обычно, конечно, из спортивного программирования, но даже не из спортивного программирования или без спортивного прошлого, которые приходят, спокойно решают там три-четыре задачки на секции, где обычно решают гораздо все меньше или пять условно. И отлично себя показывают.
Для них это нет никакой проблемы. То если ты сенёрка, эти проблемы, час кем-то покодить и показать, как ты кодишь. Ты стесняешься того, как ты кодишь, тогда очень странно, потому что тебя ждёт обязательно интервью в Яндексе ещё не одним человеком, где тебя тоже будут спрашивать за код. И всё. Да, у меня отношение такое же к кодингу, что это обязательная вещь. И более того, я попадал в ситуации, когда я ложал, потому что...
было ощущение, что всё, я могу классно собеседовать, я не делал кодинг, а потом человек всё проходил, а в итоге оказалось, что код он писать не может. И для меня, например, такая же история, что корреляция между кодом, как он пишет, и потом принимаемой решениями всем остальным, она просто гигантская. И это, конечно, самый быстрый, самый классный способ выяснить. Хотя при этом действительно есть немало... Я даже удивлён этому, честно вам скажу, но я, опять же, бы пользуюсь Twitter, периодически вижу эти прям такие...
Причем очень агрессивные нападки на кодинг. Я не очень понимаю, откуда это берется. Может это опыт какой-то неудачный. То есть люди прям как-то очень лично это воспринимают. Я думаю, Сергей, ты с этим сталкивался. Может быть, потому что они... Не прошли наши секции? Ну, не знаю. В смысле... Я думаю, что люди переносят то, что они, например, плохо прошли секцию, потому что они, допустим, волновались на то, что они...
Hexlet (01:52:54.093)
достойны работать. Хочется надеяться, что людей, которые занимают и имеют какую-то практику прям промышленного программирования, не знаю там, темлиц, техлиц, и у которых при этом слабый процессор и маленький объем оперативной памяти, что таких людей исчезающее меньшинство. И что это просто вот нестыковка от того, что
Вот как знаешь, для квантовых компьютеров, чтобы проверить, что они нормально решают, специально делают квантовые задачи, квантовые алгоритмы, чтобы убедиться, что это на самом деле хороший, быстрый компьютер, а когда ты ему даешь как бы обычную задачу, он ее решает там супер неэффективно. И вот то же самое здесь, что, скорее всего, этому человеку просто не зашел сеттинг задачи.
А не то, что у него отсутствует соображалка. Ну давайте я чуть дополню. На самом деле, мне кажется, люди... Ну вот Серёжа всё говорит, не надо готовиться. Надо, надо готовиться, чтобы не нервничать. есть нужно готовиться, чтобы как бы обновить немножко в голове вот вообще вот эти кубики, про которые может идти разговор.
А, б, чтобы у тебя от нервности, от потения ладошек не скользили пальцы по клавиатуре? Ну да, в том числе. Но надо готовиться, но люди, зачастую сеньоры, они просто приходят, и по нему видно, что человек нормально соображает, нормально вроде код пишет. Где-то у него есть какие-то... он не видит каких-то краевых случаев, еще что-то пропускает. В итоге из-за каких-то мелочей...
Вот что он называется, кажется, он давно работает тем или домом, уже годы пишет там, ну, там, полчаса в неделю или два часа, но головы варят, Здесь есть контекст, можно рассказать о том, что у нас есть такое понятие, перепроведение секций. Совеседующий может задетектить, что, ой, что-то как-то задача не зашла, кандидат явно способен на большее. Я вот вижу, что по каким-то косвенным признакам, по, там, не знаю, тому,
Hexlet (01:55:14.317)
какие он использует вообще мысли конструкции, как он в целом рассуждает, какие он приводит примеры, что он точно должен быть мощь способна на большее. Давайте перепроведем ему секцию, попросим его чуть лучше подготовиться, воспринять вот этот фреймворк, эти кубики, вот этот вот базовый сеттинг, в котором будет все происходить, и как бы пусть к нам возвращается. Опять же к вопросу о том, что...
Мы, как никто другой, другие заинтересованы в том, чтобы все-таки нанять человека, если он действительно хорош и способен. Такое тоже у нас практикуется. У нас осталось поговорить еще, основной, наверное, про финал, как он проходит, расскажите, что там спрашивают у людей. Спрашивают про опыт. Ну, смотрите, я бы это сравнил. Есть компании, которые набирают без технических секций. То есть, ты приходишь к тебе, тем ли там...
с тобой садится рядом и спрашивает, а что ты делал, а что использовал, а какие проблемы были, а почему вот это, а не вот это, а как вы вот эту проблему решали, о, а вы использовали там библиотеку там АБЦ, а почему не там DEF условно. Ну вот какое-то в твиттерском представлении, скажем так, обычное собеседование программистов компании. Вот. самом деле, финал это нечто похожее, где мы...
Ну, с кандидатом спрашиваем, про его опыт спрашиваем, что он использовал, как он использовал. Ну, только, ну, такой более структурированный, чем обычная перседа, там, стандартизированной списке вопросов и всё такое прочее. Вот, но мы спрашиваем про его опыт, это первая часть. Вторая часть, это мы, вот как раз, софт-скиловая часть, где мы спрашиваем некоторые вопросы, которые нам особо интересны, чтобы дополнительно чекнуть.
Ну, как сказать, культурный код, я так выражусь. На самом деле, просто некоторую... Как он коммуницирует с командой? Как он разруливает конфликтные ситуации? общем, да, какие-то такие. Да-да-да, вот такие штуки. Плюс в конце еще самая важная такая часть, отвечаем на вопросы кандидатов по поводу работы в Яндексе.
Hexlet (01:57:29.101)
То есть есть нас там удалёнка? Нет у нас удалёнка. А как у нас вообще команда по каким правилам живут? А пишем ли мы всё на TypeScript'е и не на TypeScript'е? А что такое мультитрек и так далее? Ну в общем любые вопросы, мы знаем... На которые мы знаем ответ. Да вот. Мы ему ответим. Вот собственно это...
И цель в финале это сагрегировать, выдать некоторую суммарную оценку кандидата за все секции, которые он прошел. Потому что бывает, что на одной секции он лучше прошел, на другой хуже прошел, на третьей как-то средней, что ему ставить в итоге непонятно и так далее. То есть человек, который проводит эту секцию, кстати, это не тот же самый человек, который проводит две предыдущие секции. Ну, иногда тот же самый, то есть это разные роли.
Вот Андрей, например, проводит и ту, и ту секцию. Я тоже провожу финалы иногда. Финалы может проводить тот же самый собеседующий. Сейчас. У одного и того же кандидата редко, потому что там нас случайные, то есть нас есть пулы собеседующих, и оно нароливается по времени, когда человек может, и редко бывают такие совпадения. Строгого констрейна нету, что нельзя там того же самого, но обычно он и не нужен, оно так само рандомом получается, что это разные люди.
Но один и тот же человек, в принципе, несколько человек, которые умеют проводить все типы секций. Да, есть это разные, как правило, люди, но там самое главное, тот человек, который финал проводил, собственно, у него было некоторая насмотренность. Значит, эти собеседования кандидатов смотрит постоянно. Постоянно у нас там есть клуб, где мы обмениваем всякими вопросами, бы сетронизируемся, чтобы оно было...
не было такого, что одному надо одно, чтобы знал, другое, чтобы другое, чтобы оно все было примерно одинаково. То есть это как бы опытный интервьюер, по сути. Именно фактически я правильно понимаю, что решение он, скорее всего, принимает уже там, он видит предыдущие, он задает вопросы, коррелируют с предыдущим, чтобы Решение о чем?
Hexlet (01:59:43.245)
Ну, скорее всего, я имею в внутри себя. То есть история про принятие решения – типа или он также просто это собирает, а в конце вы сидите и обсуждаете? Он ставит финальный grade. То есть он ставит тот grade, который мы готовы человеку выдать офер. Понятно. То есть ему надо принять решение? У нас как бы для каждого grade есть свои вилки оферов зарплатные, и этот человек ставит этот grade. А дальше еще может быть…
что может быть, если он попадет, в какую конкретно команду он хочет пойти. А человеку вопрос о том, вот этот вопрос задается уже здесь или это еще один созвон? Да это еще раньше ему задается, в целом, на самом-самом первом скрининге спрашивают у человека, что ему вообще интересно, какие команды, и дальше уже, соответственно, финальные секции ставят с этими командами. Ну там обычно еще как работает, у нас есть финал, нас как бы человек, который вот...
наш единственный финал, нас здесь такой термин. Прошел он, как правило, может при некоторых дополнительных условиях дальше спокойно идти в мультитрек. Мультитрек — это как раз такой, я его называю, цивилизованный испытательный срок. Если человек идет по прямому найму, то этот финал ему является как бы отправной точкой для всех остальных интервьюеров, потому что они дальше уже по...
детальному фидбэку на кандидата, его ответы и так далее, они могут докопать то, что им нужно. Ну, условно, человек там какие-то уникальные технологии использует или ты расскажи, как ты ну, углублённо писал тесты. Вот тут ты очень интересно на прошлой секции это рассказал, можешь поэтому ещё поподробнее. Чтобы не было такого, как было у Андрюхи, пять финалов и пять раз одно и то же спрашивают. То есть мы в этот единый финал выносим всю, как бы...
все, что мы можем спросить уже вот единого, а дальше могут быть финалы с командами, где ты уже вот прям совсем-совсем дотюниваешь персональный матч с командами, но все вот эти вот финалищи после этого, смотрят на результат единого финала с тем, чтобы не повторяться. Ну да, и плюс это скорее такое знакомство с командами происходит, это, то есть как-то так. А и по поводу того, в какой момент кандидат выбирает какие команды и все остальное. На самом деле, когда он уже прошел
Hexlet (02:02:08.237)
Секции HR видит, что кандидат прошел секции на хорошем уровне, него пройден единый финал тоже на хорошей игре, то она к нему приходит и говорит, слушай, тебя не хочешь... Ну да, он или она... Вот смотри, тут еще команды хотят тебя видеть у себя, не хочешь их посмотреть в бакансе. То есть она уже предлагает кандидату еще.
всякие разные варианты, потому что, ну, чем больше, мне кажется, кандидата будет выбора. Чем больше выбора, тем... Ну, напомню, что рекрутер — это человек, который заинтересован в конверсии в найм. Чем больше будет у человека выбора, тем с большей вероятностью он куда-нибудь успешно осядет. Ну, мне кажется, все же HR не настолько, как крысные люди, они все-таки лапочки, и тут скорее они хотят, чтобы кандидат попал в максимально хорошее место для себя, где он...
максимально хорошо, эффективно будет работать. и все. Потому что статистика, сколько мы нанимаем кандидатов и насколько долго они задерживаются, она, наверное, тоже собирается. Я как раз хотел закруглить то, что мы обсуждаем нашим последними вопросами. Как раз-таки...
сколько в целом у вас выходит в Яндекс, если можно, статистику, типа ежемесячную или еженедельную, и как вы оцениваете эффективность этой системы, которую вы построили? То есть сколько проходит людей, которые не должны были проходить? В каких-то таких оценках вы можете дать? Это очень сложно. У меня есть печальная история, как я потратил несколько месяцев своей аналитической работы, еще лучшего аналитика из поиска.
которые мы пытались придумать метрику эффективности найма, но, к сожалению, даже на горизонте вот тех чисел найма, которые есть в Яндексе, не очень-то набирается стадзначимого количества кейсов. Потому что ты начинаешь стратифицировать весь поток, допустим, по грейдам, по специализациям.
Hexlet (02:04:27.885)
А потом еще оказывается, что вообще говоря, успех человека на работе зависит не только от того, хорошо ли мы приняли решение о найме, а еще от того, а не попал ли он в странный проект, к странному начальнику, не попал ли он в какую-нибудь там турбулентность и так далее и так далее. И в итоге получается, что кейсов очень мало, ну сравнительно, там, их там типа средние сотни за год, но если ты стратифицируешь по грейдам по каким-нибудь, уже начинаются десятки.
где-то на старших грядах вообще-то малые десятки. Потом дальше у тебя на все это очень много флуктуаций других вещей, кроме, собственно, решения о найме. И поэтому, к сожалению, пока еще вот такого хорошего, знаешь, стадзначимого аппарата про оценку этой эффективности у нас нету. И мы полагаемся все-таки на какую-то там интуицию. вот, допустим, там любой нанимающий руководитель, которого там, не знаю, человек пятьдесят в подчинении,
он видит и может выдать какой-то фидбэк о том, как это, измельчал кандидат или наоборот, типа, «ох, пошло!» И он дает вот этот фидбэк, мы в разных наших клубах, нанимающих руководителей, мы им обмениваемся, и на основании этого, как бы, принимаем решение, вообще мы в правильную сторону летим или не в правильную. Плюс еще фидбэк от самих кандидатов, то, насколько они быстро уходят.
Но опять же, повторюсь, очень много разных факторов на это влияет. Про статистику найма я просто не то чтобы помню эти числа из головы, но вот недавно мы писали, что за последний год было там несколько 400-500 человек в мультитрек мы наняли. Что-то в таком духе.
или за всю историю. Короче, ладно, давайте не мучаем меня, вырежем это, какие-то сотни людей за год нанимаем. Я просто, давай я дополню про мультитрек, как я обычно отвечаю кандидатам, когда они спрашивают, да, ну, мультитрек, последний раз я это еще раз повторюсь, это такой нормальный испытательный срок, когда ты приходишь,
Hexlet (02:06:48.333)
И тебе в отличие от... Мне он просто очень нравится как формат. Ты приходишь в команду, тебе нет вот этого обмена. У нас там TypeScript, Золотые Горы, вся дела, новое. Нет, приходишь, ну, первую команду ты выбираешь снаружи, остальные ты выбираешь в Яндексе, но ты можешь зайти посмотреть исходники большинства проектов, которые ты потенциально можешь попасть. Зайти в их трекер, посмотреть их планы, всё остальное.
Дальше ты вот на основе этого две недели там отработаешь в команде и это решение о приеме команде как команда за две недели гораздо лучше тебя проверяет. Так и сам кандидат за две недели гораздо лучше понимает, любое собеседование в принципе. Да, то есть ты две недели человек у тебя отработает полноценно как твой полноценный член команды. Вот. И у нас вот насколько язно у нас...
За последние два года по мультитреку мы для всех кандидатов нашли команды, которые понравились кандидатам. Кандидаты понравились кандидатам, да. да. То соответственно, в этом плане, мне кажется, если люди сомневаются, что... Ну, как бы, кандидаты обычно сомневаются, вот я там приду, а меня потом уволит, я там не подойду или еще что-то. Если есть какое-то такое сомнение или есть сомнения между двумя командами, это классно, это классно.
Можно пойти в мультитрек и побывать и в той в той и уже принимать решение.
Ну, я вам хочу сказать, это все выглядит достаточно интересно. Спасибо, ребята, большое, что вы пришли, да, поделились офигенной информацией. Постараемся распространить это среди всех как можно больше, чтобы люди перестали бояться страшных совещаний. Я скажу так, люди пусть боятся, если этот страх обоснованный. То, с чем хочется бороться, это с необоснованным страхом, когда люди боятся того, чего на самом деле нет. То есть, если люди боятся, что они плохо знают базовые конструкции JavaScript,
Hexlet (02:08:47.693)
Это хороший страх, пусть они его используют для того, чтобы изучить их даже на ваших курсах. Если они боятся того, что мы будем заставлять их вращать красно-черные деревья на собеседованиях, пусть перестанут, мы этого делать не будем. Отлично. Ребят, вам спасибо за то, что пришли. Увидимся на конференции и на других мероприятиях, на которых мы с вами будем пересекаться. Спасибо, Счастливо, всем пока. Пока-пока.