Как стать автором
Обновить

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

обе задачи в одном репозитории в разных папках, истории коммитов при этом конечно нет;
смесь модели, вьюшки и контроллера в один класс длинной в сотни строк кода;
отсутствие понимания юнит-тестирования;

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


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

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

Это вопрос культуры. Аккуратный человек не станет свинничать только потому, что можно. Не бывает перфекциониста по ситуации :-)
Но да, я согласен, что джуниору знать это неоткуда — это не то, что можно нагуглить.
Это вопрос культуры. Аккуратный человек не станет свинничать только потому, что можно. Не бывает перфекциониста по ситуации :-)
Есть ещё «паралич перфекциониста», когда работа не делается из-за страха того, что она получится неидеальной. Довольно скверное состояние.
Какая связь? Если у кого-то есть психические девиации типа этой, то это другая история, не связанная с тем, о чем тут говорят. Ваш пример ничего не доказывает и ничего не опровергает.
Аккуратность, это не выполнение каких-то ритуалов. Различается время требуемое на решение тестовой задачи, при этом не дающее какую-то реальную выгоду. gerasimovpk не пишет что-то вроде «был тестовый вариант сделанный на скорую руку, решили не брать». Зато пишет
нам прислали решения 54 кандидата

В итоге мы нашли классные варианты на React, Angular, Vanilla JS — таких набралось 29. И еще одного кандидата мы решили пригласить без тестовых за его очень крутые пет-проджекты.

Мы провели 21 интервью по такой схеме.
9 человек с «классными» вариантами куда-то испарились. Те у кого отсутствовали юнит тесты прошли или нет? Какого рода должны быть собственные разработки, чтобы освободили от тестового? Сколько их должно быть? Какого они должны быть уровня? На какую тематику? Своя собственная операционная система сойдёт за достойный проект? А компилятор? Опять же, что неаккуратного в размещении нескольких тестовых в одном репозитории, может я не хочу десять штук плодить только ради тестовых? Какая история коммитов должна быть у крестиков-ноликов и зачем? Статья не даёт на это ответов.
Опять же, что неаккуратного в размещении нескольких тестовых в одном репозитории, может я не хочу десять штук плодить только ради тестовых?

Опять же, что неаккуратного написать мимо унитаза? Может я не хочу прицеливаться ради чистоты туалета, в который больше не вернусь ;-)

Если вы не видите, что неаккуратного в свалке, то как я смогу объяснить?

Врядли я смогу донести до вас, что культура сама по себе иррациональна и искать где ее включать, а где не включать, невозможно по определению. Потому что если культура есть, то ее в чистом поле даже будут исповедовать. А если человек воспринимает ее как дополнительное усилие, требующее обоснования и не несущее радости, то наверно это не культура для него, а расходы ресурсов. Примерно как ставить запятые там, где и так поймут без запятых.
Опять же, что неаккуратного написать мимо унитаза? Может я не хочу прицеливаться ради чистоты туалета, в который больше не вернусь ;-)
Туалет создали и обслуживали вы? Он продолжит существовать после того как вы оттуда уйдёте? Это будет причинять неудобство следующим посетителям? У тестового задания ответы прямо противоположные.
Если вы не видите, что неаккуратного в свалке, то как я смогу объяснить?
В каком месте свалка, когда разные задачи в разных папках?
Врядли я смогу донести до вас, что культура сама по себе иррациональна и искать где ее включать, а где не включать, невозможно по определению.
Не всегда. Какие-то аспекты весьма рациональны, какие-то нет.
Какие-то аспекты весьма рациональны, какие-то нет.

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

Вот как раз перфекционист не станет делать коммит после каждой написанной строчки, а скорее постарается, чтобы коммиты соответствовали логическим «шагам», сделанным при выполнении работы. Коих в достаточно простом тестовом задании может оказаться всего один (и плюс, не забывайте, что git — достаточно паршивая система контроля версий, которая не позволяет исправлять историю коммитов а-ля Mercurial Changeset Evolution, и это может вызывать у тестируемого дополнительные ужимки). Короче, с таким подходом, как у Вас, Вы скорее упустите настоящих перфекционистов, чем найдёте.

Не бывает перфекциониста по ситуации :-)

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

Это делается перед PR: squash
В крайнем случае — amend.
git — достаточно паршивая система контроля версий, которая не позволяет исправлять историю коммитов а-ля Mercurial Changeset Evolution

Это надо для тех, кто так и не загуглил что такое squash. То есть нужно вообще не понимать смысл архитектуры git'а, чтобы делать такие высокомерные заявления типа «достаточно паршивая система»
Человек, делающий абсолютно всё идеально, заведомо обречён

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

Значит ли это, что вы считаете плохой идеей переиспользовать уже существующее решение и видите необходимость в написании точно такого же (причем ладно существующее решение бы противоречило некоторым требованиям, но их нет, так-что такое себе)
Именно для тестового задания — да, значит. Как Вы думаете, его смысл в том, чтобы нагуглить рабочее решение конкретной проблемы, или в том, чтобы показать себя как разработчика?
но умение нагуглить рабочее решение конкретной проблемы и есть 80% характеристики разработчика. А если вы не гугл, то все 90.
Ну, понятно, что бывают специфические ситуации и проблемы, но эти ситуации и проблемы уж точно не в юрисдикции джунйора. Тем более, что готовых решений по вебу существует огромное множество почти для любых ситуаций.
Ну и структура проекта должна быть достаточно стандартизована, чтобы эти решения заходили без треска.
Я не считаю, что для того, чтобы называться (хорошим) разработчиком, достаточно уметь искать и применять чужие решения.

Их полно, пользоваться ими никто не запрещает — но кажется, что на 80% полагаться на чужую копипасту — такая себе идея. Особенно, когда цель тестового задания — показать свои скиллы
НЛО прилетело и опубликовало эту надпись здесь
Как правило джуниор не сделает тестовое за один день… Правда и то что он не будет задумываться об истории коммитов, т.к. будет занят решением основной задачи…
А еще мы обращали внимание на соседние репозитории — классные пет-проджекты шли в плюс, а куча тестовых заданий от других компаний была скорее звоночком: почему же кандидат не смог пройти туда?

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

Поэтому логично в таких случаях хорошенько набить руку на подобных заданиях, разобрать кучу кейсов и уже будучи уверенным в своих силах ехать за оффером. По крайнер мере так зафейлится тяжелее.
Тоже правда. И кстати, в большинстве случаев было просто интересно посмотреть на соседние репозитории, как кандидат пишет код вне рамок нашего тестового. Если эти репы в принципе там были — уже здорово
НЛО прилетело и опубликовало эту надпись здесь
Большая часть требований оправдана — для большой команды без гита и нормальной инженерной лексики никак. С учетом расхожего мнения что фронтэнд это «легко», и толп желающих «войти» такие испытания уместны. Говорю как тимлид с 200+ проведенных собеседований.
НЛО прилетело и опубликовало эту надпись здесь
Потому что пост-совковым бизнесюкам надо мидлы на зарплату джунов которых они будут продавать как синьоров-помидоров

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

Нет, я бы старался выбрать бмв по цене запорожца, что вы собственно и описали в статье

Предположу что такой бмв развалился бы сразу после постановки на учёт)

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

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

Ну просто неудачный пример. Заменим гит на что-то из категории deal-breaker — «Что для нас было важно в тестовом»:
Выстроить хорошую масштабируемую архитектуру, но без оверинжиниринга

Это сениор. Даже не миддл. Сениор, готовый двигаться в архитекторы — потому что он может строить масштабируемые архитектуры и может это сделать без оверинжиниринга (редчайший зверь).

Камон, крестики нолики — вся масштабируемость в том чтоб не хардкодить вин комбинации для поля 3х3 (и то, многих таких ребят мы позвали на интервью) и не смешивать вьюшку с логикой в один гигантский файл

— Мы, русские, друг-друга не обманываем!
что значит не хардкодить для поля 3х3? Для поля 3х3 есть очевидно выигрышная стратегия, для поля 10x10 и больше — она уже не вычисляется. Понятно, что подходы должны быть принципиально разные. Причем в хорошем решении для размера NxN в любом случае будет захардкожен однозначно оптимальный и выигрышный алгоритм для N<= например 5-ти, а для N>=5 какая-то эвристика.
Это не недостаток, а обычное инженерное решение. Если дан частный случай, то излишнее обобщение приводит к потере точности
Никаких проблем — многих ребят с захардкоженной матрицей мы позвали. Но во-первых, многие из них не смогли предложить, как такое обычное инженерное решение расширять дальше. Во-вторых, эта матрица была вплоть до порядка строчек одинакова практически у всех, кто выбрал такой подход. И наконец, было много ребят, которые сделали алгоритм для проверки стейта (он не такой большой и сложный) и не завязывались на конкретную конфигурацию поля — если они сделали лучше, да, мы отдавали им приоритет.
Я б тоже не смог предположить, что кто-то будет расширять мое тестовое задание. Я никогда не видел крестиков-ноликов 4*4 или 10*10. Я никогда не видел, чтоб брали тестовые крестики-нолики от джуна и начинали допиливать их до прод версии. А чо уж, вы тогда расширяемости на N игроков, N-мерных, с выигрышной Г-образной фигурой не потребовали?

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

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

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

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

Что касается классных пет-проджекта у джуниоров — они были. Возможно, мы по-разному понимаем слово «классный», но в целом были неплохие калькуляторы, крестики-нолики, проекты на ангуляре — много всего.

Мы получили на вход 122 резюме. А у нас, напомню, было всего 4 позиции. Да, наш отбор достаточно строгий. Зато он позволил нам взять самых классных ребят, которые сейчас занимаются прокачкой своих хард-скиллов, вместо того, чтобы слушать от нас лекции для первого курса и не иметь возможности написать ничего самостоятельно без копипасты и стэковерфлоу
НЛО прилетело и опубликовало эту надпись здесь

А при каких обстоятельствах Вы использовали наш продукт, что берете на себя ответственность вешать ярлык про квинтэссенцию формошлепства? :) Кажется, что до формочки (да и вообще любой вьюшки) на фронтенде существует достаточно архитектурных слоёв, для работы с которыми нужны знания разработчика, не так ли?

НЛО прилетело и опубликовало эту надпись здесь

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

А где там алгоритмы?

Посмотрите на досуге как работает диаграмма Ганта или как работает коллаборейшн в тех же гугл документах

А их джуниор писать будет? Компоненты

Так никто и не просит его писать такой код с нуля, но тюнить какие-то небольшие вещи — кажется вполне посильно

А при чем тут алгоритмы?

Попробуйте разобраться, как эти фичи должны работать. Кажется, что просто накидать их в конструкторе сайтов не получится

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

Вы открыли маркетинговый сайт продукта, но сам Wrike не видели. Не надо вводить в заблуждение читателей, коли сами не разобрались.
т.е свой пет-проджект(маркетинговый сайт) вы можете вести как угодно
а от джунов на собеседовании требуете классных сторонних проектов
Ясно, понятно.
Забил Wrike в гугл, справа в блоке отзывы из 5 предложенных мне 2 хвалебных написано с профилей а)ваших сторудников б)в их профилях было по одному отзыву, т.е ранее и после люди графоманией в интернетах не занимались.
Я могу сделать вывод что после оффера политика вашей компании заставляет сотрудников писать хвалебные отзывы о вашей компании?
Не допускаете возможности, что люди захотели оставить положительный отзыв о компании? Выводы вы можете делать, конечно, какие хотите, но откуда такая уверенность в них?

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

НЛО прилетело и опубликовало эту надпись здесь

Потому что, как известно, зарплата айтишника 300к в секунду)

Ты точно тимлид? Ответы как-то на уровне скомороха.

p.s. Если тебя так отвечать заставляет компания, имей хоть немного самоуважение, чтобы быстрее свалить от такой анальной политики.

Это была достаточно неудачная шутка — конкретно тебе я предлагаю посмотреть ответ компании ниже

Потому что не считаем нужным это указывать. Со всеми кандидатами обсуждаем это индивидуально.
Потому что вы — не Гугл. У вас нет никаких интересных технологий. У вас нет имени. Максимум что вы можете — платить зп (которую стесняетесь указывать) и дать некоторый опыт этим самым джунам. Потому статьи с описанием процесса отбора «а ля гугл» вызывает только насмешки. Вон Додо недавно за такой формат тоже отхватили

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

Более того, ни одна компания, кроме Google, – не Google. Остальное — ваше субъективное мнение, ни на чем не основанное. Мы не стесняесмя говорить ни о зарплате, ни о задачах, но хотим, чтобы этот разговор был предметный, с каждым кандидатом.

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

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

Судя по описанию, в Яндекс проще пройти собес на мидл, чем к Вам на Джуна.


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

Может быть и так. Почему вы считаете, что Яндекс – предел мечтаний для разработчика?
Что вы… В России есть еще JetBrains, Google. И они все примерно на одном уровне. Но на этом — всё)

ИМХО mode off.
у Google же уже нет разработки в России, насколько я знаю
Вот я отстал от жизни — одни Google гуманитарии в Мск остались… Хорошо, хоть JB еще в России держит разработку, а то кроме Яндекса и думать будет не о чем)

Смотря какой стек. Хороших компаний не так уж и мало :)

Вы правы — хороших много. Как раз работаю в одной из них. Но речь ведь шла о «предел мечтаний для разработчика» :-)
По каким критериям оцениваете привлекательность компаний и где берете данные о соответствии этим критериям?
предел мечтаний для разработчика
речь ведь о пределе функции, а не о привлекательности. Вы уж определитесь) К тому же в моей реальности, указание на ИМХО — уже субъективная, не требующая подтверждения точка зрения.

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

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


У них политика компании относительно алгоритмических задач, этим знамениты их собесы.

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


А может быть, он точно так же исследует вас? :) Вы ждёте, что кандидат будет отвечать именно на ваши вопросы, а он хочет узнать, что вы знаете в его вопросах.

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

Гарри Поттер и методы рационального мышления.
Интересная мысль :) Я пару лет назад кстати сам так проходил собеседования. Но вообще, речь скорее про то, когда мы спрашиваем про метод .filter() у массива, на нас вываливается поток информации про сам массив, его устройство, виды циклов, но ничего по существу самого вопроса — ровно как это бывало в университете, когда не знаешь ответ и пытаешься хоть что-то угадать на троечку, заваливая преподавателя всеми доступными тебе знаниями :)
А есть статистика, сколько джунов осталось работать у вас больше 0.5-1 года?
все остались
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
«Мы выяснили, что воронка для джуниоров может и должна быть достаточно сложной, но в итоге через нее проходят только те ребята, которые действительно готовы очень много работать и вкладываться в свое развитие. „
Будьте полегче на поворотах а то корона с головы слетит, из тех 54-х все из них вполне на это способны, иначе вы бы не увидели тестовых заданий. Но тенденция демпинга зарплат, путем усложнения отбора конечно радует. Хорошо что раньше такого балагана было меньше и не редко брали тех кто просто готов работать. Имхо конечно, но просто работающий люд, который нельзя назвать гениями нужнее индустрии, нежели этот странный призрак молодого рок стар.
Не уверен что так — очень много тестовых заданий были сделаны практически под копирку и не все пришедшие на собеседования смогли объяснить, зачем они писали этот код. Имплементаций крестиков-ноликов в сети достаточно, чтобы взять их себе, переименовать названия функций и отправить как собственное тестовое — у нас было определенное количество одинаковых работ, которые отличались только неймингом внутри — и кажется это не то, что всем было бы интересно
Я правильно понимаю что часть людей из тех что сделали тестовое вы не приглашали на собеседование? Если да то на сколько сильно влиял фактор вашего субъективного(что вообщем нормально) мнения что человек воспользовался шаблоном решения из сети? Я просто надеюсь что тех интервью это у вас все же следующий этап после обсуждения результатов тестового задания. Ну и я просто не понимаю, что плохого в том что человек использует код со стаковерфлоу(можно хоть на собеседовании страницу открывать), это очень часто основной источник информации и новых подходов к решению(тостер и хабр тоже в копилку) или намеков на таковое, которых человек не знает.

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

Достаточно много ребят смогли сделать тестовое задание хорошо. Фактор про шаблоны никак повлиять не мог — это было бы несправедливо, даже если подозрения были, таких ребят мы звали. Но как правило, они отваливались на техническом интервью.

Что не очень здорово в коде со стэковерфлоу: мы хотим понять, как кандидат думает, как выстраивает свои решения, а не как умеет копипастить чужой код. Без проблем можно подсмотреть что-то, что не знаешь — но у нас было очень много совершенно одинаковых решений. В них даже была одинаковая структура папок, а код внутри отличался только неймингом. Камон — если вся группа в универе сдает одну и ту же лабораторку но только меняет титульник, это ок?
Спасибо за разъяснение. Ну сколько людей столько и значений слова джун. Как я понимаю код под копирку соответствовал DRY и KISS? Вроде и хорошо что вы джунов нашли но с такими требованиями это значит что запросы у кандидатов потихоньку падают и фиг знает хорошо это или плохо. В любом случае жедаю вам удачи, не сказать, что считаю ваш подход правильным, но раз к вам пришли люди значит это работает.

Касательно лабораторной под копирку, как говорил когда-то один преподаватель, это отличный повод отойти от обычных вопросов и перейти на углублённые.

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

Есть 54 кандидата и 4 вакансии, предлагаешь решать так:
random.shuffle(candidates)
candidates[:4]

? Что плохого в том, чтоб выбрать лучших из них?
После статьи стало понятно, что можно легко переманивать ваших джунов, на нормальный стек c зп начинающего мидла.

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

Хорошо, а какие скиллы по Вашему должны быть у джуна? Получается, способность пользоваться гитом, отсортировать массив и объяснить рекурсию уже достаточны для уровня миддла?

НЛО прилетело и опубликовало эту надпись здесь
Поясню, что именно мы ожидали — чтобы вьюшка и логика хоть как-то были разнесены. Если хранить данные прямо в атрибутах дом элементов, не иметь абсолютно никакого стейта, а всю обработку делать в onclick(), не завязываясь ни на один фреймворк — пожалуй, это будет работать. Но в развитие такого джуниора придется вложить куда больше, чем в ребят, которые, например, смогли осилить Tour of Heroes в ангуляре.

Насчет юнит тестов — надо было написать бинарный поиск и покрыть его юнит-тестами :) Похоже на 1-2 курс универа, не правда ли?

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

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

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

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

Логику то по слоям разносить — это дело хорошее, но фреймворк то нафига для крестиков-ноликов? Хотите без оверинжиниринга и сами же к нему силой толкаете кандидатов.

Никто и не просит фреймворк — 80% работ было на ваниле и многих мы позвали

Откуда у вас представления о зарплатах в Wrike, что вы так смело об этом рассуждаете?
У меня есть представление о вашем офере в Воронежском филиале. Хоть собеседование представляло собой и не такой ад, как описанный в статье, но 3 этапа я прошёл. Потратил на это 3 дня (дорога из области в офис и обратно занимала по 3 часа в день), кучу сил и в итоге получил предложение на 30к на первые 3 месяца и 35к после. Через пару дней прошёл собеседование в другой компании за полтора часа и получил офер с большей ЗП, куда благополучно и ушёл. Так что ваши сказки почему-то у меня кроме ухмылки ничего не вызывают:)
P.S. Собеседование проходил на java junior. На первом собеседовании (с HR) мне сказали, что первые 3 месяца я буду писать только unit-тесты, потом «будет видно». Видимо не попал я в тот список джунов, которых «активно растит компания».

После такого задумываешься, вроде все так помпезно, но чего-то сами джуны выходит и не в курсе, что их ростят )

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

Во многом с Вами согласна.

Если у вас остались вопросы или комментарии к процессу интервью или офферу – я не в курсе вашей ситуации – пишите в директ, я уточню у коллег и вернусь к вам с информацией, почему был такой оффер и насколько то, что предложили соответствовало вашему знанию, опыту и ожиданиям. Если вы просто считаете, что вас несправедливо оценили и это повод написать негативный комментарий, можете ничего не отвечать. И, возможно, вы что-то путаете, поскольку после телефонного (в офис на него вы не ездили) интервью (с HR) у нас идет сразу техническое собеседование.
Я не считаю свой отзыв негативным, вопросов тоже не осталось — всё осталось в прошлом. Я всего лишь описал тот процесс интервью, который был у меня, которое разделил на 3 этапа:
1 этап. Письмо с приглашение, обсуждение по телефону позиции и выбор удобного времени для очной встречи в офисе с HR. HR прислала ссылку на решение 5 алгоритмических задач. Никакого телефонного собеседования не было.
2 этап. Техническое собеседование. Очное. Интересная задача на парсинг лога.
3 этап. Техническое собеседование. Очное. Абсолютно неуместная задача, постановка которой звучала примерно следующим образом: Есть SQL запрос, в котором присутствуют специальные слова, которые необходимо поменять на данное заранее выражение. По факту написал решение с применением одного только replaceAll — всех устроило. Решение в одну строку. Если бы у меня в этот день не было другого собеседования в городе — возможно бы расстроился за зря потраченное время.
Период собеседования — июль 2016 год.
Речь я вёл изначально про то, что за предлагаемую вами среднюю ЗП по Воронежу (а на тот момент 30к ей и являлись) вы выставили изначально завышенные требования (в вакансии было ещё много требований, которые у меня ни на одном из этапов даже не спросили). Кроме как в вашей компании я таких собеседований с такими оферами не встречал.
Когда видишь компанию, которая активно ведет блог на хабре, рассказывает всем как правильно набирать джунов, таская их по пяти этапам собеседования, для того что бы «растить» только самых лучших, явно не ожидаешь увидеть в офере средненькие цифры.
Спасибо за развернутый ответ! С 2016 года много воды утекло, у нас толком и хабра тогда не было, и статей про рост джуниоров мы не писали, да и компания с того момента выросла раза в 3-4. Ваш фидбек в то время нам бы больше пригодился, чем сейчас. Как пригодилась бы и инициатива от вас в озвучивании ваших зарплатных ожиданий. И чтобы не возникало двусмысленности, данная статья описывает реалии найма и онбординга джуниоров во фронтенде, в питерском офисе, и здесь специфика несколько другая.
НЛО прилетело и опубликовало эту надпись здесь
30к. Бл…

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

и вы только задумать о выращивании своих джуниоров? Комон) У вас хорошие продукт, но вы крепкая средняя компания.
Что, по-вашему, средняя и большая? Приведёте критерии и примеры?

Среднее предприятие — численность до 250 человек, выручка до 2 млрд в год. Я правда не понял "и" или "или"))

У нас почти 900 сотрудников.
Как найти доморощенного мидла, убедить его, что он джуниор и его нужно учить :)

Окей! :) А расскажите пожалуйста, как по-вашему выглядит джуниор?

Я во многом согласна с комментариями выше, где описано какие требования завышены, повторяться не буду. На мой взгляд, таким «Джунам» нужно от сотни в месяц платить, чтобы не сбежали :)

Я думаю, стоит уточнить что речь о Москве.

Тот, который умеет кнопочку и выпадающий список добавить на очередную формочку. И я не понимаю вашей тяги к развитию джунов… А кто кнопки будет добавлять, если вы их всех разовьете?)))

Может быть, Вы, в рамках своих задач? :) или это настолько зазорная работа, что для неё нужен отдельный человек? Мы воспринимаем наших джуниоров как разработчиков, а не как рабочую силу для грязной работы

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

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

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

Ходил он по собеседованиям, и мне, как вполне себе состоявшемуся сеньору-помидору, пересказывал свои скитания.
Попал он, в том числе, и к вам на собес.

Так вот, конкретно ваша компания, по тому что он мне напел, была _абсолютно_ худшей по соответствию уровня требуемого в вакансии и уровня реальных вопросов на собесе.

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

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

Минус 1. Репутация на рынке труда
Я вот в здравом уме никому из знакомых к вам пойти теперь не посоветую.
Неоправданно жесткий отбор джунов создает плохую репутацию у мидлов и сеньоров, которые знаю кто как нанимает из видных игроков. Таким образом экономя на низких позициях, компания тратит значительно больше денег на найм позиций более серьезных.
При этом на попытки создать положительный имидж в опытном js-коммьюнити wrike тратит очень немало сил, и таким образом правая рука слегка борется с левой.
Как посчитать этот эффект в конкретном бабле и человеко-часах я не знаю, но он определенно есть.

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

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

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

… а потом осознают, что пишут они на никому не нужном dart, начинают грустить еще больше, и никуда не уходят :)
Видимо на то и расчёт.

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

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

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

НЛО прилетело и опубликовало эту надпись здесь

Git как показатель уровня кандидата?! Зачем? Даже если человек никогда о нем не слышал это разве как-то характеризует его уровень?
Ни одна компания, где я проходил собеседование ни разу ничего не спросила про Git.
Весь Git разработчика это 5 команд на стикере приклееном на монитор. Это ровно то, что знают о Git инженеры даже уровня Staff.

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

Стало интересно, а зарплату вы обсуждаете сразу или в начале: " ответьте на наши вопросы к резюме, сделайте не маленькое тестовое задание, пройдите технический собес, собес с эйчаром, руководителем и тд. Мы подумаем и только тогда скажем сколько хотим предложить"?


https://www.wrike.com/ru/team-collaboration-software/ что-то на этой странице "полезные функции..." у меня на мобильке глючил. Если медленно прокручивать вниз, дойти до картинки и начать медленно скролить вверх, то меня начинает автоматически возвращать вниз. В какой-то момент вообще все зависает и скролится вверх не получается, только вниз. После этого отпускает. Это именно мобильная версия сайта, телефон он плюс, хром последней версии.


Между тем, топы it-компаний России не позволяют себе писать статьи с публичным осуждением своих потенциальных кандидатов...


Стек технологий дарт и первый ангуляр. Н-да не много вакансий на hh где требуется дарт.

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


И нет, у нас не первый ангуляр, где Вы взяли такую информацию?

https://hh.ru/vacancy/23183165 описание стека. Ну ок, вы не указали какой ангуляр, бывает, не досмотрели, hr-у, составлявшие у описание вакансии что первый, что второй все одинаково. Сори.

Первый ангуляр — это AngularJS, а «Angular» как указано в описании — это версии ангуляра 2+. Сейчас у нас используется последняя доступная под дарт стабильная версия

Если не секрет, в чем смысл использовать Дарт с Ангуляром? Ангуляр (2+) с самой беты написан на тайпскрипте и разработчкики дали ясно понять, что отказываться от него не намерены. Ангуляр и тайпскрипт это как 2 палочки твикс.

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

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

Тайпскрипт не даёт строгой проверки типов

Скажите тайпскрипту её делать и запретите any — и будет у вас проверка типов, о чём речь-то?
Заявление про TS, который не работает на больших проектах — и вовсе относится к прохладным историям. Именно на них он и работает в полную силу.

Ну и плюс гугл написал AdWords на дарте и не менее ясно дал понять

… что переписывать AdWords на другом стеке они не будут. Всё.

Посмотрите https://youtu.be/Bk-uJgo5GO4, там в начале на примерах объясняется про тс и дарт

Запустил видео. Примеры:

1) XmlHttpRequest. Вы серьезно?

2) Ой, я не читал спеку, и не понимаю, что такое HTMLCollection, NodeList, и вообще все эти мутные (они и правда такие) типы DOM. На этом месте захотелось спросить «и чё?». Тайпскрипт-то тут при чём? Все эти типы там есть, со всеми этими типами там прекрасно работается, а если вас дико возмущает, что у вас тут HTMLCollection, а здесь NodeList — ну так напишите конверсию, кто не даёт-то? Перегоняйте в Array и радуйтесь жизни.
В докладе много каких-то личных проблем разработчика с типами DOM, которые (внезапно) не имеют вообще никакого отношения к возможностям и невозможностям тайпскрипта.

3) Ой, а тайпскрипт нас не спасает от использования законных фич яваскрипта. И в самом деле, а чё это он так? Может, команде Wrike стоит открыть для себя линтер, если уж они честно не хотят стрелять себе в ноги?

Итого я в докладе вижу, что автор очень сильно и глубоко страдает от JS, и поэтому видит Dart (который не JS) большим спасением, чем TS (который JS с рюшечками и автоматическими проверками). Но по выслушивании этих примеров у меня сложилось мнение, что автор просто испытывает необоснованную неприязнь к базовому веб-стеку, и поэтому хочет отгрести от него подальше, «просто штоб не JS».

Линтер спасает не всегда. Почему бы вообще всем не писать на js в таком случае?
Вы же прекрасно понимаете, что дарт ровно как и тайпскрипт — это только инструмент. Для всякого инструмента есть свои задачи. Пусть дарт менее популярный, но на нашем проекте он работает максимально эффективно, как наверняка тайпскрипт — на вашем

Линтер спасает не всегда. Почему бы вообще всем не писать на js в таком случае?

Линтер не будет контролировать вам типы. TS — будет. Напоминаю, мой комментарий относился к вашим необоснованным выпадам в адрес TS, а уж какие там у вас в конторе нелады с линтером — мне неинтересно. Линтер был упомянут только в контексте примеров из доклада.

Вы же прекрасно понимаете, что дарт ровно как и тайпскрипт — это только инструмент.

Конечно. И поэтому не надо бросаться фразами типа «Тайпскрипт не даёт строгой проверки типов». В контексте этой беседы такие фразы звучат как "- Молоток не может забивать гвозди! — Но вы ошибаетесь, может. — Неправда, мы забиваем гвозди камнем, и вообще это только инструмент, и камень у нас прекрасно работает".
Какие-то прохладные аргументы. Все перечисленные проблемы — это проблемы DOM API, а не тайпскрипта, как уже отписались выше. Так или иначе ваш дарт транспилится в JS и работает с тем же самым DOM API.

Не мне, конечно, вас судить, но вы оторвали себя от ангуляр комьюнити, получив взамен весьма сомнительные плюшки. Я даже не нашел в оф документации, есть ли там реактивные формы. Кстати, если в дарте есть свой аналог rxjs — Futures, как они уживаются с rxjs, на котором и работает Ангуляр?

Во блин, оказывается, AngularDart — это совершенно другой фреймворк, который не имеет никакого отношения к Ангуляру с 2016года. Умеет же гугл давать названия фреймворкам.

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

Знаете. Я к wrike никакого отношения не имею, но обсуждать зарплату с джуниором ДО подтверждения навыков считаю бессмысленным.


Собеседующий: здравствуйте. какую зарплату вы бы хотели?
Джуниор: здравствуйте. Думаю 90к в Москве для меня прожиточный минимум.
Собеседующий: у нас вилка для джуниоров от 50 до 70.
Джуниор: может быть 80? У вас наверняка есть возможность немного превысить верхнюю границу, если кандидат хороший
Собеседующий: ладно. Сойдёмся на 80. Теперь давайте приступим к тестовым заданиям. Вам дан односвязный список и индекс. Нужно удалить элемент из списка на указанном индексе
Джуниор: (тупит, не понимает задачу) Знаете, есть исследования о том, что такие вопросы на самом деле не показывают реальный уровень кандидата. Из за стресса в незнакомой обстановке люди совершают ошибки.
Собеседующий: но тут ведь просто односвязный список.
Джуниор: давайте вы меня наймете и у вас будет целых три месяца, чтобы по-достоинству оценить мои навыки.

Ну все-таки вилку стоит оговаривать на берегу. Или хотя бы спрашивать, сколько хочет. Просто выходит, что человек должен до фига своего времени потратить на 100-500 шагов отбора, а потом узнать, что за деньги, которые ему в итоге предложили, он бы даже кнопочку отправить резюме обломался бы нажимать.

Интересно, какое самомнение должно быть у джуниора без опыта, чтобы он обломался нажимать кнопочку отправки резюме вообще куда-либо?


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

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

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

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

Так с чем конкретно из моих слов вы не согласны?

С тем, что с одной стороны, вы как бы формально согласны, что нужно взаимное уважение, но с другой стороны, по фразам " обсуждать зарплату с джуниором… ", «они должны сначала ..», «Но с позиции джуниора все-таки лучше...», создается ощущение, что ставите себя выше потенциального джуниора и считаете, что вам лучше знать, как ему жить и что делать, ничего при этом о нем не зная.

То есть джуниоры не должны сначала себя проявлять? Ну допустим. В таком случае, из каких соображений он должен выбирать подходящую вилку зарплаты?

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

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

То есть, в этом комментарии вы возвращаетесь к тому, что компании все-таки не стоит указывать вилку и вообще обсуждать компенсацию до собеседования, потому что джун должен страдать, даже если на самом деле он получит предложение, которое его устраивать не будет совершенно ни в каком виде?
Вообще, понятие «соответствие зарплатным ожиданиям» в условиях свободного рынка весьма условно, разбег +- 30% от компании к компании за одну и ту же работу фактически норма, а в случае младших позиций вилка (в столице) может быть от 30 до 70 и совершенно очевидно, что в этих условиях идти на 30 смысла нет, а вот на 50 — вполне можно.
Так какие должны быть зарплатные ожидание у джуна то? Или надо обязательно потратить тонну времени на собеседования, чтобы узнать, что в конкретном месте предлагают меньше среднего?

Почему вдруг процесс доказательства своей квалификации для вас равен страданию?
Страдать не надо. Надо показать что умеешь и поторговаться.


Так какие должны быть зарплатные ожидание у джуна то?

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


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

Почему вдруг процесс доказательства своей квалификации для вас равен страданию?
Страдать не надо. Надо показать что умеешь и поторговаться.

Ну, «страдать» тут все-таки в переносном смысле, но тем не менее, этот процесс время- и ресурсозатратен.
Рынок конкурентен, но конкурентен он для обоих сторон («работать негде» совместно с «нанимать некого») и чтобы ввязываться в действительно серьезный отбор, нужно понимать зачем ты это делаешь и что получишь в итоге. Компании это выражают через усложнения отбора, так как хотят получить максимум за минимальные деньги, а работники ищут наимее трудозатратный путь.
Компании уровня FAANG могут себе позволить не писать ни детализированных требований в вакансии, ни зарплатную вилку, первое — потому что у них куча проектов, а второе — потому что там с этим точно все нормально и платят они однозначно в рынке и даже выше него. То есть с ними вообще все однозначно — чувствуешь увернность — пробуй в интернатуру, каков бы не был отбор, если возьмут — это круто. Собственно, поэтому там и отбор такой замороченный — за забором неиссякаемая очередь.
Если же мы говорим о вполне обычных компаниях, то тут есть выбор, и выбор большой. Начинающий специалист с потенциалом и нормальными базовыми знаниями скорее всего будет выбирать минимум из 2-3 компаний, куда его позовут пособеседоваться.
Отсюда возникает вопрос — зачем прикладывать столько усилий к доказательству своей квалификации, если можно получить желаемое (работу за средние деньги в обычной компании) более простым путем? Это исключительно вопрос рациональности.
Чтобы узнать сколько предлагают «по рынку» все таки надо везде показать свой уровень.

Или уметь пользоваться интернетом и погуглить\пойти в чатике поспрашивать\найти знакомого в индустрии. Обычно сам себя человек более-менее может оценить (в крайнем случае есть куча порталов где можно проверить свои навыки разработчика) и сопоставить собственные знания со знаниями, необходимыми для работы на позиции N за M денег.
Первый год надо активно получать опыт и зарабатывать себе имя.

Я вот тут с вами не очень согласен.
Точнее согласен — но это не вся правда. Зарплата важна. И компания важна.
Год интерном\джуном в Google\Facebook\Yandex, на худой конец (его хоть как-то знают на глобальном уровне) — это да, тут зарплата не так важна, потому что строчка с этими именами в резюме работает и доказывает что ты чего-то, да стоишь, так как в индустрии все примерно представляют, какой туда отбор и как сложно туда попасть (хотя это тоже не особо правда, но большинство все-таки думает именно так).
Если это год в обычной компании, название которой надо гуглить, чтобы узнать что это (если оно вообще гуглится) — это совершенно другое, «имя» себе такой работой не заработаешь и будет в резюме написано компания «А» или компания «Б» не так важно, поэтому в этом случае деньги уже важны, как минимум в роли критерия выбора места работы.
зачем прикладывать столько усилий к доказательству своей квалификации, если можно получить желаемое (работу за средние деньги в обычной компании) более простым путем?

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


В конце концов, если из 100 человек выбрали 3, то разговор явно не кончится фразой "наш потолок 30".


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

Озвучивание вилки до начала отбора не дает возможности торговаться ни одной из сторон.

Для торга нет разницы, озвучена вилка или нет, она же всегда есть. Сокрытие вилки зарплат — это просто попытка купить человека как можно дешевле, тут нет никакого иного сакрального смысла. Другое дело, что сразу будет понятно, есть смысл общаться или нет, чтобы потом не попадать в утомительные (а местами даже бредовые) ситуации с торгом на понижение.
Типичный диалог, который у меня был с десяток раз точно сразу после знакомства с HR-ом в в ситуациях, когда вилка не озвучена:
— Сколько вы предлагаете?
— У нас гибкая вилка, а сколько вы хотите?
— Я хочу N.
И вот тут есть 2 варианта (на самом деле больше, но сводятся к этим двум):
1) Да, это потенциально возможно, зависит от вашего уровня, давайте продолжать.
2) Простите, мы не можем столько дать, расходимся.
Никто не тратит время, все прекрасно.
Если бы сумма была указана, то этот шаг можно было бы вообще пропустить.
Если вилка сильно большая (ну там, до 300к, допустим) и готовы брать от джунов до лидов и рок-старов, то просто создается соответствующее количество вакансий с ожиданиями на каждый диапазон компенсации.
Причем этот человек может быть уже миддлом и было бы логично оценить его дороже, чем джуна.

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

Оно понятно, что соискателей сотня, но и компания тоже не одна. Эти сильно фильтуют и скрывают вилку — другие менее сильно и озвучивают вилку, можно идти туда, it — конкурентная индустрия, а о лояльности тут речи пока быть не может.
Да, для этого придется пройти какой-нибудь отборочный онлайн-тест, отправить какое-нибудь тестовое задание и может быть даже с кем-то поговорить вживую.

Если у джуна есть пет-проекты, то достаточно одного собеседования с обсуждением любого из его проектов и все станет понятно. Кто-то так делает, кто-то навязывает выполнение стандартного тестового задания…
В конце концов, если из 100 человек выбрали 3, то разговор явно не кончится фразой «наш потолок 30».

Это совершенно не явно. Возможно эти трое как раз те, что по каким-то причинам согласились на 30.
У нас в расходах на собеседование — время джуна и HRa. Если болтать и делать тестовые задания 3 часа HR + 3 дня джуна, то за 5 минут решить, что вы друг другу не подходите до начала этих трат — это зашкаливающие по профиту 5 минут.
«я хочу столько, дадите?» — это отличный первый вопрос. И вот только потом, если вилки кандидата и компании хоть как-то пересекаются стоит тратить время на подтверждение квалификации.
А компания разве не должна показать, что она чего-то стоит, прежде чем строить из себя что-то? Хотя бы огласить уровень (вилку) ЗП, которые она готова платить кандидату, в случае его успешного прохождения. А то получается как-то странно, джун должен тратить своё время, кому-то доказывать что он чего-то стоит, не имея права до всего этого действа даже узнать, стоит ли ему прикладывать для этого хоть какие-то усилия, а то может на другом конце очередная студия, которая платит фулстек мидлу по 50к.

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


Хотя бы огласить уровень (вилку) ЗП, которые она готова платить кандидату, в случае его успешного прохождения.

Если человек умелый, то заявленная вилка не позволит ему запросить выше верхней планки.


может на другом конце очередная студия

Для этого надо тратить время, чтобы узнать что там на другом конце. Причем заранее и узнавать не только про зарплату.

На мой взгляд, самое ценное что может дать компания джуну без опыта работы, это не зарплата, а обучение.
Это может дать любая средняя компания. Обучение происходит во время работы.
Если человек умелый, то заявленная вилка не позволит ему запросить выше верхней планки.
И какую в этом всём играет роль объявление вилки ПОСЛЕ собеседования, а не ДО? Он точно так же не сможет запросить. Просто он не будет рассматривать вашу компанию, вот и всё.
Для этого надо тратить время, чтобы узнать что там на другом конце. Причем заранее и узнавать не только про зарплату.
Трата этого времени и называется собеседованием. И если технические навыки компания неспособна оценить за несколько минут, то вот дать оценить возможности финансовой компенсации собеседуемому — возможно. И дальше этого разговор может просто не пойти, сэкономив время обоим участникам собеседования.
Это может дать любая средняя компания. Обучение происходит во время работы.

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


И какую в этом всём играет роль объявление вилки ПОСЛЕ собеседования, а не ДО?

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

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

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

Безусловно. В этом и ценность. Общие знания, которые неприменимы для решения проблем конкретного бизнеса этот бизнес вряд-ли будет давать. Разве что вот подписка на онлайн-библиотеку от O'Reilly какая-нибудь.
Компания в целом вообще не заинтересована учить людей каким-либо вещам, которые не несут для нее пользы.
При этом, компании примерно одинакового уровня при схожем стеке используют +- одни и те же инструменты одним и тем же способом, так что с высокой степенью вероятности разницы между ними будет не особо много, можно выбирать по другим критериям.
Вы в открытую предлагаете дискриминационный подход к компенсации по семейному положению?

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


В этом и ценность. Общие знания, которые неприменимы для решения проблем конкретного бизнеса этот бизнес вряд-ли будет давать.

Ценности в натаскивании на один прием нет. Это как при изучении Гита освоить только коммит, пуш и пулл. В то время как есть много чего ещё, что может быть полезно.

Релокационные пакеты вы тоже дискриминацией по территориальному признаку будете называть?

Нет, не буду, это другое и любой кандидат его при необходимости получит (если компания предоставляет). Если компания говорит, что перевезет кандидата и его семью при расходах в пределах N денег, то тут нет разницы, какого размера семья и есть ли она, так как ситуация очевидна. К тому же релокационный пакет не является компенсацией за труд, его цель — релокация и она предоставляется без дискриминации, если она нужна.
А вот варьировать зарплату от семейного положения уже нельзя.
Ценности в натаскивании на один прием нет.

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

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

Согласен. Почему-то компании частенько думают, что они одни единственные и джуны обязаны доказывать им, а они в свою очередь могут вообще промолчать и даже фидбека не дать. Было одно такое собеседование: 2 очных этапа по полтора часа, в итоге даже обратного письма не написали :)

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


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

И в таком случае джуны ведут себя как типичные компании. Прийти и требовать никто не запрещает, толку от этого только мало. Я сейчас не веду речь про джунов, которые услышали что «вайти в айти» легко и выгодно, и бегут просить себе 100к за то что они выучили устройство хэшмапы. Это уже крайности. Я скорее в этой ветке комментов пытаюсь донести, что называть вилку до собеседования = уважать своё и чужое время. Из своей практики знаю, что компании ищут совсем слабых мидлов на ЗП чуть выше, чем у джунов, и джунов, на зарплаты слабых мидлов. Доводилось слышать от интервьювера слова о том, что они ищут человека с меньшей квалификацией и с меньшими зарплатными ожиданиями.

Про такое стоит на глас дор писать, поток кандидатов будет сильно ниже, может и вести себя научатся )

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

Походить по собеседованиям, выяснить условия.


Описанному в вашем случае джуну вилка в вакансии может только помешать. Потому что если точная зп не указана, то можно поторговаться до достаточной для жилья иногороднему. Если же вилка указана, то выше головы не прыгнешь. Заметьте, я не говорил что нужно всем джунам без исключения давать 20, в том числе в Москве.
Моя позиция в том, что торговаться нужно после того, как прошло техническое интервью и навыки были оценены. Потому что смысл торговаться, если человек не сможет выполнять свои обязанности?

Про торг до тех. собеседования я в своём посте тоже нигде не говорил. Но обозначить вилку ЗП, на которую претендует человек, считаю обязательным. Возможно претендент и не будет тратить своё время на данное собеседование. Возможно понятия джуна отличается у вас и претендента, например как в этой статье: для кого-то джун это человек, который сможет клепать формы (на меньшую ЗП естественно), для кого-то это чуть ли не человек, который может в одиночку реализовать фичу с некоторой помощью. И претендент может осознанно искать именно ту компанию, которая согласна взять его на работу за меньшую ЗП (всякие ситуации бывают в жизни, может человек не успел развиться для достаточного уровня, но желание есть). А по факту он потратит время что бы услышать речь о том, что компания ищет более квалифицированного человека. Зачем всё это, если за минуту можно спасти время как собеседующего, так и собеседуемого? Единственную причину, для умалчивания вилки до собеседования я вижу только в том, что бы случайно не завысить планку (аля претендент ожидает 20, вы же готовы назвать 30-40).

Вы можете предположить, что компания банально может не знать какой будет результат отбора? Ну то есть взяли 100 человек, провели онлайн-тестирование, посмотрели тестовые задания, а вдруг оказывается что лучшие из лучших не такие уж классные. При этом вилка была заявлена большая и раз эти прошли, то нужно будет давать им по верхней планке. Они же прошли столько испытаний!

Кто-то обязывает брать тех, кто не устраивает? И уж тем более обязывает брать их по верхней планке? Не устроили — не взяли. Дальше сели думать, то ли джуны ниочень пошли, то ли у вас ожидания завышены. И делать из этого соответствующие выводы.
Комментарии к этой статье отлично демонстрирую уровень деградации российского профессионально образования. Вот реально называют начинающими мидлами тех, кто еле на трайни тянет.
У вас есть инфа по другим странам? Я не спорю, что образование в России в упадке и отстаёт по материалу от текущего времени, но то что вы сказали «еле тянут» думаю не только в России готовы назвать начинающими мидлами.
Я думаю это не сильно важно, все-таки если где-то тоже падает уровень профессионального образования, то это не повод быть в мейнстриме.
И там (в прочем как и нас) их скорее готовы не назвать, а продавать как начинающих мидлов.
1) Неугадали со стеком, не стали переписывать его на мейн-стрим. Окай. Вместо того, чтобы сказать «У нас тут используется Dart, да, он не особо юзается сейчас, поэтому вот вам 10-20к сверху за вредность (как этоп принято делать в enterprise).» Пытаются во всяких статьях доказать, что Dart это круто, и писать на нем круто. «Опытный разраб сразу понимает, что херня. А молодняк может и купиться».

2) Устраивате анальный отбор джунов, аки Гугл, чтобы:
— у человека появилось ощущение важности того, что он пробился.
— сбить цену на человека, типа вот было 100 претендентов. Ты типа проходишь, поэтому давай веслай, а то вон 100 человек еще стоит ждет своей очереди.

3) 98 вакансий на HH и ни на одну не указана зп (даже Вилка не указана). Опытный разраб вилку знает, а вот глупый джун не знает. Все делается для того, чтобы сэкономить.

В общем, ребята. Почитайте статьи mail.ru/yandex.ru — они делают тоже самое, что и вы, но они это делают в разы умнее. У вас же лисий хвост видно невооруженным взглядом.

Эй, а зачем столько желчи? Дарт дартом, это отдельная беседа. Серьезный отбор на джуниоров у нас возник по ходу дела, когда стало понятно, что кандидатов сильно больше, чем мы можем переварить. Логично взять лучших, верно? Или Вы предлагаете просто делать оффер первым четверым, кто смог запустить IDE? У нас нет задачи экономить на зарплатах, зарплатах джуниоров в том числе. Жаль, если Ваш подобный опыт был негативный. Касаемо вилок, Вы удивитесь, у какого количества компаний она не указана, просто потому что это решается с кандидатом индивидуально

«Как нанять достойного джуниора, если ты — большая компания?»

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

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

обе задачи в одном репозитории в разных папках, истории коммитов при этом конечно нет;

решение «в лоб» — хардкод матрицы выигрышных комбинаций 3х3, что достаточно тяжело будет расширить до 10х10, к примеру.

А в ТЗ это было? Делать мелкие детали за бесплатно — не лучшая стратегия.
Камон! Что такое конские требования? Когда за зарплату нужно работать? Гнала в свое время в шею зажравшихся вчерашних выпускников вузов, которые хотели зарплату сеньора при почти нулевых знаниях в полях.
Разобью в пух и прах иллюзии о тындексе, там ВНЕЗАПНО зарплаты ниже по рынку, а штат раздут настолько, что вполне можно просиживать штаны на ИБД. И чем крупнее штат, тем больше уровень ИБД.
Мне кажется, автор забыл упомянуть важный момент. Что успешным джуна делают не то, как он решает задачи уровня мидла, а то, каким образом он пытается в них разобраться. И КАК он это делает, как ошибается, как относится к своим ошибкам, отрабатывает их с ментором. Но есть и такие, которые при виде «задачи уровня миддла» бросают в лицо перчатку и валят в закат, брызжа ядом во все стороны.
Привет, бот-сотрудник с 1 комментарием, которого позвали, чтобы спасти ситуацию в комментах.

И вам не хворать. Второй комментарий! Вот это поворот. А если по существу?
Только осечка, я не сотрудник, а пользователь продукта.

Уже не спасти — автора слили, статья с 0 оценкой, Wriketeam сливает карму ибо нет аргументов. Занавес.
да, в тындыксе ниже рынка, но зато поработав там годик ты становишься нарасхват и выше рынка. По-моему разумно
успешным джуна делают не то, как он решает задачи уровня мидла, а то, каким образом он пытается в них разобраться

Вот тут я с вами согласен.
Разобью в пух и прах иллюзии о тындексе, там ВНЕЗАПНО зарплаты ниже по рынку, а штат раздут настолько, что вполне можно просиживать штаны на ИБД.

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

Другой вопрос, что это достигается не просеиванием рынка, а бесплатными внутренними курсами и менторингом — до этого они зарплату не получают, но и занимаются бесплатно.

Бомбит от подхода, как например в Четверке. Взять интерна за бесплатно и сгрузить на него всю работу сеньора типа в качестве обучения. Но тут вопрос скорее не в компании, а наличии у интерна самооценки. Ну и, конечно, в менторе

а про знание английского языка? обязательно?
среди принятых были «драксы»?

Ситуация понятна. У вас больше сотни резюме, а вакансий 4, понятно что хочется отобрать лучших из тех, кто есть. Или даже просто отобрать, выбрать из 20 сильных джунов 4 — сложно, и в дело тдут методы отсева «неудачники нам не нужны»


Но зачем же столько пренебрежения? Приручить джуна, он вам что, животное? Ни за сто бы не пошел к вам работать после такой статьи джуном

Зарегистрируйтесь на Хабре, чтобы оставить комментарий