За свои 15+ лет в разработке я прошёл наверное 100+ собеседований — и почти четверть из них в этом году, в течение последнего месяца:) Что‑то необычное происходит — подумал я — и решил поделиться наблюдениями — может вы тоже что‑то заметили? А может это просто кому‑то чуть поможет в поиске работы или наоборот в рекрутинге.
Бэкграунд
Что‑то около 10 лет в Java, последние 3 переключился на Go (сейчас бэкенд уверенно переползает в эту сторону т.к. в условиях популярности кубернетеса и микросервисов джава выглядит излишне жоркой и притом её популярное преимущество «run anywhere» теряет смысл — во всех подах одна ОС). Резюме в этом году — то же самое что и год назад (ну, добавился опыт работы в озоне почти годовой) — зарплата та же. В том году трудоустройство заняло недели две и собеседований было может штук 7 (из них 4 с вк и озон с которыми дошли до оффера) — почти все сразу начинали с собеседования с менеджером или техлидом.
Статистика сейчас
Хедхантер радостно заявляет что я откликнулся уже 120 раз и нужно продолжать, ибо «шансы растут» (откликов 40% «отказ» и примерно столько же «просмотрено» или «не просмотрено» поровну.
Собеседования я стал записывать в отдельный гуглдок чтобы не сбиться — рекрутёрских созвонов в духе «для познакомиться» — 18 штук. Техсобесов до последней недели было только 4. На этой, последней, прошли 3 технических, 3 менеджерских и 1 с hr. Это раза в 3 больше чем обычно уходило на поиск работы (а я успел поработать больше чем в дюжине компаний так что некая статистика накопилась).
А результаты? Они последовали все почти разом в последнюю неделю. Один оффер есть, другой ждёт анкеты для СБ и третий пока под вопросом (теперь муки выбора).
Проблема во мне?:) или что‑то случилось с индустрией? Я конечно не без странностей, но давайте посмотрим некоторые кейсы.
Показательные кейсы
Пишет рекрутёр из Яндекса, по имени Софья. Мол, давайте созвонимся на полчасика. Я говорю «слушайте, этих созвонов уже слишком много — может вы просто по резюме спросите что непонятно? реально надоело отвечать на тупые однообразные вопросы (которое в резюме кстати освещены)» — нет, говорит, надо хоть на 15 минут. Ну хорошо, мы созвонились, она говорит что готова назначить первое из цепочки дальнейших собеседований и скринингов (обещает всего 4 или 5 — ну это не ново, я уже устраивался в Яндекс и даже до офера доходил).
И вдруг она обнаруживает что первый (!) тех‑собес она может назначить только через 2 недели. Не хватает интервьюеров. Мы собеседуемся 6 сентября, собес на 20-е. Естественно собес я прохожу уже имея офферы в другие конторы... Бред.
Тех‑собес кстати проходит в духе «лив‑кодинга» в собственном «онлайн‑блокноте» Яндекса, в котором однако отсутствует возможность выполнения кода. Аналогичный «блокнот» у Т‑Банка такую фичу имеет — да и любой из нас с навыками докера конечно наклепает «песочницу» за несколько дней (говорю с уверенностью т.к. наклепал когда‑то и для своего сайта).
На тех‑собесе решаю две задачки за 30 мин из 60 отведенных (ну, интервьюер добродушно подсказывает когда где‑то чего‑то забыл) — и оказывается что больше ничего не нужно. Поболтали за жизнь, посмеялись. Дней через несколько назначают секцию «по алгоритмам» — и там... опять две задачки! практически такого же плана, может одна чуть сложнее. Даже интервьюеры похожи...
На момент написания статьи это эпопея тянется уже три недели и пока неизвестно к чему придёт.
Очень милая рекрутёр из Т‑Банка, всё сравнительно дельно излагает, обращает внимание что с разношёрстным опытом из моего резюме она сможет в довольно разные проекты его предложить — и назначает первые интервью (всего их должно быть 3 или 4, как и у яндекса).
Первое интервью — скрининг по общим навыкам кодинга, простейшим алгоритмам — три задачки, самая продвинутая на «Динамическое Программирование». Я с ними справился, в т.ч. благодаря дружелюбным подсказкам интервьюера — и получил отзыв «превышает ожидания».
Зато второе интервью — по самому Go — я успешно слил. Особенно доставил вопрос о том, куда указывает пойнтер, в котором адрес переменной, у которой закончился скоуп - в частности, внутренней переменной цикла for — на это я ответил правильно, но позже с удивлением обнаружил что в свежих версиях Go поведение изменилось, у них просто старая версия 1.19.8 в запускалке для интервью :)
Ну и мне сообщают что «немного недотянул» и «дальше общаться не готовы». Я их понимаю. Но разбирая ретроспективно вопросы обнаруживаю что интервьюер сам несколько заплутал в массивах и слайсах и возможно часть моих ответов не понял или неверно истолковал.
Субъективность таких собеседований — это не моё личное мнение. В одной из предыдущих контор где была похожая ситуация, менеджеры и лиды мне не раз жаловались «ты понимаешь что кандидат может пройти или не пройти просто в зависимости от того какой интервьюер попался. Хуже того половина интервьюеров друг у друга собеседование не пройдут.» Это пожалуй верно — попробуйте спросить на интервью про «шестнадцатеричные константы с плавающей точкой» — есть такой изврат в Go, гляньте в спецификации примерчики — верный способ вынести мозг кому угодно, но я вам ничего не говорил:)
Через пару недель рекрутёр которая изначально меня собеседовала возвращается из отпуска и спрашивает мол «если у тебя с Go так плохо, то может на Python пособеседуешься»?:))) я ласково объясняю что на питоне пишу давно, но коммерчески — мало — и шансов там меньше чем с Go. Деликатно поясняю насчет того что их оба собеса (с динамическим программированием и с указателями на невалидные переменные) — это в целом мало релевантно задачам энтерпрайза — но понимаю что всё это как пук в воду. Компания большая, процесс налаженный и едва ли кому‑то охота думать над его недостатками и путями улучшения.
Необычное собеседование в небольшую gamedev компанию (кажется, «Силиз») — у них проект с бэкендом на эрланге — на котором пропал единственный разработчик. Поддержать пока есть кому — один из основателей компании (видимо тот с кого эрланг и начался когда‑то) занимается этим понемногу, но так продолжать опасно и они ищут разработчика с эрлангом или хотя бы того кто готов погрузиться в этот необычный, архаичный, жестоко функциональный, довольно тормозной (несмотря на JIT в 24 версии иммутабельные структуры данных тормозят сильно) язык.
А у меня оказывается есть опыт на Эрланге несколько лет назад — в компании где похожая ситуация. Искать разработчиков на этот язык конечно непросто. Так что по результатам часового (!) собеседования с эйчаршей я оцениваю свои шансы как неплохие — но мне она через несколько дней пишет что «Мы решили остановиться на кандидатах, имеющих больше опыта в управлении.»
Я скромно оцениваю что с управлением у меня норм, два года назад диковинный криптостартап из десятка человек с «около нуля» поднимать помогал (и бэкенд к нему натоптал) — но думаю пущай как хотят конечно. Только непонятно как рекрутёр сопоставляет опыт в эрланге и навыки управления:)))
Кейс некой дочки Газпрома — я успешно прохожу собеседования с рекрутёром (юноша), менеджером и техлидом. Немного смущает что задают достаточно общие вопросы, но ничего. Все очень милые ребята, никаких претензий — приятные в общении, толковые. Рекрутр меня хвалит после каждого этапа и говорит что я то и то умно ответил и это идеальный «мэтч». Причём это по резюме тимлида (я по совету кого‑то из эйчаров сделал себе копию сеньорского резюме и подписал «Team Lead Golang / Java»).
Наконец говорят что готовы сделать оффер. Только надо анкету. Для службы безопасности. Анкету надо в вордовом файлике заполнить и переслать через рекрутёра. И там всевозможные данные, сведения о родственниках, у кого судимость и так далее. Кто может дать рекомендации и согласны ли они на это.
Мне это не очень нравится — а главное с учётом наплыва других собесов мне откровенно лень в эту ерунду погружаться. Как результат, к моменту когда я наконец собрался с силами, опросил родственников и так далее — у меня уже есть офферы из других контор.
Необычный кейс, компанию называть не буду — эйчар на созвоне рассказывает про компанию, они коммерческие но работают на госконторы — и вот они пишут приложуху для росреестра (карты, кадастры, звучит недурно). Роадмап расписан на 5 лет. Я уточняю — а сколько времени до внедрения — а вот именно до внедрения 5 лет. До 2030 года. Я прям сказать немного удивлён — в наше время планировать что угодно на 5 лет может только человек совершенно оторванный от реалий (ну ладно, это личное мнение, может не прав).
Через несколько дней пишет что «по результатам собеседованИЙ они с коллегами пришли к выводу что пока будут рассматривать кандидатов с другим опытом». А вы знаете что в Go у нас опыт довольно однообразный — сам Golang, почти всегда Postgres, Kubernetes, из очередей Kafka, Rabbit или Nats например.
Рекрутёры кадровых агентств — это несчастные люди, лучше время по‑моему на них не тратить.
Одна мне пишет, присылает портянку с компаниями и вакансиями. На просьбу вести себя «человечнее» извиняется, сбрасывает «портянку» ещё раз, потом говорит мол «я ещё только учусь». Задаёт банальные вопросы (на которые ответы есть в резюме) и говорит что организует звонок — но не с ней, а с её коллегой. Одна умеет писать, другая говорить. Оки. Созвонились с той, другой — она вся довольная, ах‑ах, я передам ваше резюме в магнит и в Ламоду, там будут такие этапы, ла‑ла‑ла. Потом тишина на недельку. И в какой‑то момент наконец приходит письмо из Ламоды — совершенно общее, мол — посмотрите вакансии у нас на сайте.
Другой (парень) ищет для МТС. Задаёт те же вопросы, убеждает что я им очень нужен и т. п. Потом говорит «теперь я должен кое что узнать»... И через час «ох, оказывается у них уже есть ваше резюме, поэтому нам нельзя будет с вами пообщаться».
И вновь девочка от Яндекса — но теперь уже через какое‑то КА. Я ей сразу пишу «не теряйте времени, у них уже моё резюме есть, в нескольких экземплярах — вы за меня от них денег не получите» — она молча исчезает.
Остальной «общий» кейс — немного похожий на ситуацию с кадровыми агентствами. Рекрутёры назначают собес, задают общие вопросы по шаблону, который я под смех уже каждому (каждой) из них оглашаю в начале разговора — потом говорят что «всё круто, передадим резюме дальше» — и исчезают навсегда.
Выводы
Наконец, что происходит?
Последние годы (пандемия и прочее) немало приучили нас работать удалённо. По отзывам некоторых HR нередка ситуация «попросил друга пройти собес за меня». Это наверняка немало мешает рекрутингу, но всё же вероятно чаще случается с позициями джуниорскими. Возможно «эйчарская проверка» — часть стратегии по противодействию этой ситуации — но кажется что немного чересчур.
В то же время заметен резкий наплыв низкоквалифицированных сотрудников в отрасль рекрутинга — по‑видимому фрилансеры которым пообещали, что если они будут массово рассылать всевозможные вакансии в почту, в телеграм, в вк и так далее — и кто‑то из кандидатов дойдёт до оффера — им дадут кучу денег. К сожалению по‑видимому именно низкий уровень таких «сорсеров» мешает им хоть сколько‑то разумно таргетировать свои усилия.
Проверка скиллов, технический скриннинг — часто становятся боттлнеком. Эйчар может набрать (гипотетически) хоть сто кандидатов со своими 15-минутными обзвонами — но если техсобес требует присутствия опытного айтишника на 60 или 90 минут (притом что айтишнику ещё и работать надо по основным задачам) — то понятно что из этой сотни приходится более менее рандомно выделять 5–10 с которыми только можно будет пообщаться.
И что тут можно поделать?
В озоне я обратил внимание на проект который они пилят для отбора на внутренние курсы. Я общался с этим проектом — реалии такие что регистрантов может быть несколько тысяч человек — а на курсы всё‑таки нужно отобрать несколько десятков. У этого проекта пока есть некоторые сложности (например, менеджеры просят более приближенные к индустрии задачи, а не все эти «мама подарила Васе миллион строк в которых нужно...» — в частности например SQL, интерактивные, с веб‑интерфейсами что‑нибудь).
Было что‑то отдалённо похожее и под названием «Яндекс.Контест» — строго говоря оно и сейчас ещё влачит в каком‑то виде существование, но кажется почти забыто даже самими сотрудниками.
В принципе подобный сервис для отбора может (по нынешним временам — небольшими усилиями) позволить себе почти любая компания. Если сделать его публичным (приходите, упражняйтесь на наших тестовых задачах — и оставляйте контактные данные если потенциально вам интересно у нас работать) — можно более‑менее автоматично пополнять свою базу кандидатов.
Можно себе такое позволить и на уровне кадрового агентства, хотя попытавшись общаться с таковыми я понял что возможно уровень агентств у нас пока не готов для этого.
Спору нет такое не всегда легко воплотить. Например значительная разница как проверять задания по бэкенду и фронтенду. Или по тестированию.
И конечно понятно что это способ не универсальный — возможно он будет привлекать больше джуниоров чем сеньоров например.
Тем не менее как альтернатива вот этим «рекрутёрским обзвонам» и «техсобес через две недели» — он кажется не совсем безжизненным.
Сам я по результатам этого опыта думаю запилить подобный сервис (благо у меня достаточно наработок) и посмотреть будет ли толк. Но конечно если какие‑то из крупных компаний (хоть те же упомянутые Яндекс и Т‑банк) возьмутся за ум — тут шансов на положительный эффект гораздо больше. Ну, мне так субъективно кажется :) А вам?
Комментарии (46)
vvbob
30.09.2024 06:36+10Зато второе интервью — по самому Go — я успешно слил. Особенно доставил вопрос о том, куда указывает пойнтер, в котором адрес переменной, у которой закончился скоуп - в частности, внутренней переменной цикла for — на это я ответил правильно, но позже с удивлением обнаружил что в свежих версиях Go поведение изменилось, у них просто старая версия 1.19.8 в запускалке для интервью :)
Ну и мне сообщают что «немного недотянул» и «дальше общаться не готовы». Я их понимаю. Но разбирая ретроспективно вопросы обнаруживаю что интервьюер сам несколько заплутал в массивах и слайсах и возможно часть моих ответов не понял или неверно истолковал.
Самое неприятное в собесах последнего времени - такое ощущение что они постепенно дрейфуют в сторону викторин на тупое зазубривание разных заклепок и угадывание - на основе какой версии был составлен опросник викторины, что-бы дать верный ответ.
wmns
30.09.2024 06:36Видимо, из-за популярности языка на позициях появилось много случайных людей, часть из которых проводит интервью.
vvbob
30.09.2024 06:36+1Я не про голанд в частности, вообще про отрасль в целом. Это сейчас повсеместно наблюдается, причем, говорят за рубежом сейчас еще хуже в этом смысле. Я это не в том плане, что вот у них плохо, а у нас хорошо, до нас все обычно добирается с запаздыванием, и можно спрогнозировать будущую ситуацию в России, глядя на западный рынок труда. И что-то все выглядит не особо оптимистично, особенно если учесть что не молодеешь нифига, и к сложностям с "викторинами" добавятся еще и проблемы с эйджизмом.. Вот в размышлении сейчас - может вовсе постепенно сменить специализацию, уйти из разработки куда-то.. да пока не знаю куда, так что-бы интересно было и з/п не гроши при этом..
SabMakc
30.09.2024 06:36+3Собеседование по любому языку давно уже превратилось в "завали каверзным вопросом, с которым за 15 лет практики ни разу не встречался".
Да и касательно того же цикла for в Golang - если не ошибаюсь, статическая проверка успешно их выявляет.UncleJonathan
30.09.2024 06:36+1Собеседование по любому языку давно уже превратилось в "завали каверзным вопросом, с которым за 15 лет практики ни разу не встречался".
Нет. Эта тема была популярна лет 20 назад, да и то не везде. Сейчас требуемый объём знаний таков, что завалить можно любого.
Я если и задаю сложные вопросы, то только для того, чтобы приблизительно очертить границы знаний человека. Если человек не ответил на несколько вопросов, для меня это ничего ещё не значит.
Если на все не ответил, или более половины - то это совсем другое.
Думаю, что так, приблизительно, у всех.
На последнем собесе не ответил (или не полностью ответил) на вопросов 4-5. И всё равно взяли. Потому что обе стороны понимают, что в условиях, когда ОС, фреймворки, и версии языков, сменяются как в калейдоскопе, всё запомнить просто невозможно.
SabMakc
30.09.2024 06:36Значит повезло наткнуться на более-менее адекватные собеседования.
Это и есть проблема собеседований - быстро понять и оценить навыки. А быстро и достаточно точно это сделать просто невозможно.
Лично у меня есть список подобных вопросов по Java - для проведения собеседований...
Но я ни разу им не пользовался - просто потому что каверзные вопросы показывают... только лишь знание ответов на каверзные вопросы.На примере того же for в Golang - я об этом пару несколько раз слышал, вероятно этот нюанс освещался в учебнике по Golang. Видел недавний анонс с "мы это исправили в новых версиях".
Т.е. этот нюанс мне знаком. Вспомнил бы я это при собеседовании? Возможно (особенно если бы заранее изучил список популярных вопросов по Golang на собеседованиях).
Но это мне не помешало в свое время самому написать неправильно код - просто потому что это очень редкая и экзотичная ситуация, которую не держишь в голове постоянно. Часто ли в цикле по индексам используется значение индекса, да еще и в многопоточности (или с другими спец-условиями для воспроизведения)?
UncleJonathan
30.09.2024 06:36А вам конкретно говорили почему именно вы не прошли собеседование?
Мне — практически никогда. Если не берут, то очень расплывчато формулируют, либо всё равно так, что не поймёшь какой именно ответ не понравился.
У меня был вот кандидат, который на сложный вопрос, но который задают на всех собеседованиях, выдал зазубренный ответ. То, что он зубрил ответ, а не понял его, было понятно по тому, что в каких-то местах он сбивался, и не ответил на смежные вопросы, которые подсвечивали ту же тему, только с других углов.
Да, вопрос очень сложный (не хочу приводить его), и кто-то может сказать, что сложным вопросам не место на собеседованиях, но он на актуальную тему, и не по одному ему оценивал. Если бы человек на один этот вопрос не смог дать ответ, но во всём остальном был хорош - я бы не обратил внимание.
А так... Человек прям наизусть выучил несколько абзацев текста, ровно ничего в них не понимая (если бы понял, рассказал бы своими словами, без зазубривания)...
Может это ещё ничего о нём не говорит, кроме того, что он точно не выше джуна, а мы искали не джуна.
В общем, когда меня берут после собеседования - я почти никогда не понимаю, почему. И когда не берут - тем более, не понимаю, на чём именно провалился.
SabMakc
30.09.2024 06:36Зачастую, в небольших-средних фирмах, главный критерий - понравился или нет.
А все остальное - не более чем для задания темы беседы )Подозреваю что не только в небольших фирмах так ) Так что если не взяли - значит другой кандидат понравился больше. Возможно просто кто-то четче ответил на какой-то вопрос, который интервьюер посчитал важным. Или ответил ближе к "правильному" мнению...
ForestDront
30.09.2024 06:36+1Ну так ЕГЭ уже давно в ходу. Люди, которые сдавали этот экзамен, уже доросли до должностей, где они могут устанавливать требования. Вот они и требуют то, к чему привыкли. Дальше будет хуже. Вангую тестирование, по результатам которого нейросеть выдаст заключение нанимать или нет.
vvbob
30.09.2024 06:36До тестирования еще добраться надо. Скорее всего какой-либо ИИ будет на еще входе отсеивать резюме по только ему известным признакам.
k0rinf
30.09.2024 06:36+1Так это ведь не новая проблема, все это существует уже кучу времени. Тонна статей написана о том как проводить собеседование, где то вон по 5 этапов вводят и другие компании подхватывают этот карго культ. Проблема ведь в том что нет одного универсального теста, который позволит точно определить с первого раза, какой уровень кандидата. Ошибки найма стоят очень дорого, поэтому все хотят взять на работу звезду а не получить потом проблемы. Учитывая статистику по вакансиям/кандидатам вполне закономерный результат в сторону викторин и ужесточения отбора. Времена душевных бесед с просмотром гитхаба давно закончились. Им на смену пришли времена написания кода на листочках и угадывание мыслей интервьюера.
vvbob
30.09.2024 06:36Испытательный срок довольно эффективно работает. Что толку от того что соискатель ловко щелкает задачки с литкода и отвечает на заковыристые вопросы про солид, если он в реальный проект за два месяца хоть как-то вкатиться не осиливает..
k0rinf
30.09.2024 06:36Испытательный срок это все же не инструмент при найме, это по большей части страховка от ошибок совершенных при найме. Если кандидату не продлили испытательный, то значит люди которые занимались наймом, выполнили свою работу плохо. Более того, надо учитывать время, потому что условно, если бы взяли сразу нужного кандидата то он бы принес N пользы, а если кандидату не продлили испытательный срок, то явно пользы принесено меньше чем N. И в это самое время, пока вы играетесь с испытательным сроком, ваши конкуренты нанимают нужных специалистов с первого раза.
В вашем примере с литкодом, все немного не так. Все эти алгоритмические задачи, не для того чтобы нанять человека, который постоянно будет работать с такими задачами. Все это для того чтобы отсеять большое количество кандидатов. Если взять условно двух одинаковых кандидатов, которые по всем параметрам совпадают кроме решения задач с литкода, то я бы отдал предпочтение тому из них кто все же натренировался решать такие задачи ради собеса. Ну и на сколько я помню, крупные компании собрав статистику, поняли что кандидаты умеющие решать задачи с литкода, работают лучше чем те кто не умеют.vvbob
30.09.2024 06:36+1А я бы вот задумался.. Если человек прямо вот с одной работы сразу находит другую, то когда ему этот литкод тренировать? Когда работаешь на это как правило времени нет, если ты не занимаешься этим вместо работы, конечно. Т.е. человек либо на рабочем месте посторонними делами занимался, либо он уже очень долго ищет работу и у него было много времени на эту тренировку. И почему-же он так долго ее искал? И то и то вызывает вопросы.. не то что-бы категоричное "нет" но скорее "подозрительно это".
Зато вот испытательный срок - все вопросы снимает. Человек либо вкатывается в рабочий процесс, либо нет.. Для больших фирм возможно имеет смысл делать такие проверочные проекты, пускай на них люди работают на испытательном, так куда как эффективнее отбор получится. И количество ошибок отбора сильно уменьшится. Сейчас система заточена под то, что тебе нужна еще одна дополнительная профессия - "проходильщик собесов", которая к основной имеет очень опосредованное отношение.
k0rinf
30.09.2024 06:36Разве не наоборот? Человек хочет работать в FAANG, и именно поэтому уделяет время на тренировки с литкодом. Для компаний это тоже плюс, потому что они получают кандидатов, которые стремятся попасть именно к ним. То есть потенциально, кандидаты хотят работать у них долго, и готовы тратить время на подготовку к собеседованиям. Сравните это с навыком иностранного языка. Человек изучает язык, чтобы работать в иностранной компании. Если не хочет изучать, то работает там где работает. Хочешь в высшую лигу, качай литкод, не хочешь работай там где это не требуют. Совсем другой вопрос в том, что другие компании смотрят как делают FAANG и бездумно за ними повторяют, превращая все это в карго культ.
Ну это ведь очень дорого. Все это оправдано, только если у вас есть какая то песочница, где вы набираете кучу кандидатов на испытательный срок, а потом оставляете лучших. Представьте, каждому надо платить на испытательном, каждого надо менеджерить. Тратить ресурсы на онбординг и т.п. Ну представьте, ваши топовые разработчики тратят время не на работу за которую вы можете платить им зарплату, а на ревью кода который льют ваши стажеры на испытательном. Наоборот, крупные компании не хотят и близко с этим связываться, потому что все это очень дорого. Проще оптимизировать процесс найма.
vvbob
30.09.2024 06:36Проще - не значит лучше, и выгода тут тоже под вопросом, держать толпу людей, которые занимаются
допросами несчастныхсобесами по 10 этапов с одними и теми-же вопросами.. отвлекать их от работы, это тоже не бесплатно вообще. А такие вот проекты для онбординга сами по себе могут быть полезны и иметь свою ценность, плюс по стоимости могут быть даже ниже чем вся эта имитация отбора (а это именно имитация, ее проходят не те кто хорош как специалист, а те кто именно мотивирован пройти собес)
UncleJonathan
30.09.2024 06:36Если человек прямо вот с одной работы сразу находит другую, то когда ему этот литкод тренировать? Когда работаешь на это как правило времени нет, если ты не занимаешься этим вместо работы, конечно.
Ну, это у кого как. Почти на любой работе бывают промежутки, когда делать почти что нечего. Не только исключительно редкая ситуация "закончились все задачи в спринте, и неясно, что стоит брать из бэклога", но и просто все твои задачи заблокированы какими-то другими.
Согласен, что таких ситуаций должно быть как можно меньше, и так и бывает.
Но если в компании сплошная потогонка, что нет даже времени вздохнуть, то это тоже плохо. Это значит, что не хватает ресурсов, или они неправильно распределены, неправильно организована работа. Потому что, хотя и не люблю термин "выгорание" (т.к. многие очень часто написав две строчки начинают уже ныть: "ой, у меня не было отпуска уже две недели, я выгорел"), но оно реально, и на такой работе настигнет прям очень скоро.
vvbob
30.09.2024 06:36+2Нуу. не знаю, у меня последние много лет таких работ не было, что-бы на ней можно было спокойно тренить литкод, не забивая на основные рабочие задачи. Как правило, если одна задача чем-то блочится- есть еще целая куча других, довольно приоритетных. На крайний случай - всегда есть что рефачить.
Литкодить после работы, если она нормальная работа, а не имитация бурной деятельности, вот лично моего запала не хватает обычно, устаю на основных задачах, хочется заниматься чем-то другим.
Единственный вариант, когда я бы этим занимался, лично для себя вижу таким - либо работа плана - сижу на дежурстве и вообще нехрен делать, либо вообще не работаю и с пол года/год готовлюсь к собеседованиям.
UncleJonathan
30.09.2024 06:36+1Да у меня, на самом деле, всё то же самое. Время, когда заканчивались задачи в спринте, вспоминаю, как самое благословенное.
И сил по вечерам прорешивать тоже почти нет.
Особенно удивляет, когда на собесе требуют решать задачи с литкода на скорость. Это вот что показывает? Пригодность для прода?
Идиотизм нанимателей только показывает, на мой взгляд.
Evgenym
30.09.2024 06:36+3Только надо анкету. Для службы безопасности. Анкету надо в вордовом файлике заполнить и переслать через рекрутёра. И там всевозможные данные, сведения о родственниках, у кого судимость и так далее.
А как подобные вещи рассматриваются со стороны закона о защите персональных данных? Они хотят, чтобы вы передали в СБ персональные данные третьих лиц без их согласия?
vvbob
30.09.2024 06:36+5Кстати, если бы я захотел собрать максимум сведений о российских айтишниках, пускай сомнительным с т.з. морали и закона способом, то это был-бы вполне рабочий вариант - зазываем людей на собесы, те их успешно проходят (независимо от реального уровня), поздравляем соискателя, говорим что осталась одна незначительная мелочь и хороший оффер у них в кармане, сущая безделица, анкета для СБ, пустая формальность..
И таким образом можно довольно много собрать довольно ценной информации. Все затраты - снять офис в центре, нанять одного-двух человек, разбирающихся в теме для проведения собесов. Представиться можно кем угодно, хоть Газпромом, хоть Сбером, хоть ФСБ, кто это проверять будет.
vvbob
30.09.2024 06:36+1Добавлю.. кстати, подозрений добавляет то, что анкету надо заполнять не на сайте работодателя, а какой-то вордовский документ. Подделать сайт, сложнее и когда нанимаешь айтишников, больше вероятность что они заметят что сайт фейковый, а вордовский документ - это вообще никак не проверишь, в шапке у него что угодно написать можно.
JuryPol
30.09.2024 06:36А мне кажется, что это просто неплохой способ определения еще до приема на работу степени сервильности кандидата. Не исключаю, что в какой-нибудь психокарте будет проставлено «не брезглив» и даны рекомендации к соответствующему использованию…
anaxita
30.09.2024 06:36Не первый раз замечаю что в комментариях пишут что Go простой как три копейки, но при этом эти же люди возмущены, что их спрашивают «что угодно».
Особенно удивляет позиция: «я последний год работал с другим и поэтому не помню».
У меня возникает логичный вопрос: «а почему нельзя подготовиться перед собеседованиями? Если планируешь их много, так потрать час и повтори»
Проблему с вопросом про указатель в цикле не понял,это действительно создавало проблемы и про эту особенность нужно знать тк она запросто ломает поведение. И как бы с пеной у рта не кричали про тесты— они не панацея, особенно если их нет. И сеньор разраб за 400к хотелось бы чтобы все же знал язык и его нюансы, а не надеялся что тесты покроют все кейсы
Вопрос про версии в целом отражает (имхо) любознательность кандидата и то насколько он разработчик, а не кодер. Сейчас например несколько раз видел, как в проект тащат gorilla и zap и удивляются, что стандартный роутер в целом умеет гораздо больше чем пару версий назад, а про slog вообще не слышали. Или какой нибудь pkg/errors с его wrap, хотя давно есть fmt.Errorf, а стектрецс длиною в жизнь на каждую ошибку оказывается занимает место в ELK
В статье так же представлены в основном большие интерпрайзные компании, где процесс собеседования уже заранее известен НЕ ОДИН ГОД, вообще не представляю чему удивляться там можно или возмущаться.
Так же не понял момента с резюме где указана позиции Лида на го или джаве, но при этом вся статья про го и разработчика
Почти банки и крупные компании имеют СБ и разный формат анкеты и отправки данных, с вордом конечно круто, но автор указал на то что не захотел просто трать время ведь были другие офферы, у меня анкета занимает минут 15 в целом, там не нужно всю жизнь расписывать
kimisa
30.09.2024 06:36+2Вопрос про версии в целом отражает (имхо) любознательность кандидата и то насколько он разработчик, а не кодер.
Ну прочитала я, что в новой версии выпустили что-то крутое, что мне это даст? Если в ближайшее время я точно знаю, что не перейду на эту версию. Это делает меня плохим специалистом?
Если фичи в работе не используешь, то через полгода о них успешно забываешь.
qeeveex
Ну особенности работы с `for` в разных версиях является ярким маркером, что у человека мало опыта работы с golang. Плюс флаг того что человек не следит за выходом новых версий.
vvbob
И что это скажет о нем, как о специалисте?
Может быть он не следит за новыми версиями потому что он забил на профессию и просто плывет по течению, или что он джун прикидывающийся сеньором.
А может быть просто он закопался на текущем проекте в адовом легаси, которое никто на новые версии переводить не собирается в ближайшее время, и ему просто не до отслеживания новостей про то что там еще новенького запилили в самой суперсовременной версии?
qeeveex
Для позиции младшего программиста допустимо незнание нюансов работы инструмента, с помощью которого он планирует зарабатывать на хлеб. Старшие присмотрят.
Но как понимаю он претендует на позицию старшего программиста.
vvbob
Я более чем уверен - ведущий допрос сотрудник, сам на массу вопросов по заклепкам используемого языка не ответит, или ответит неверно. Слишком много нюансов, слишком часто происходят изменения, и реально работающий на проекте, а не занимающийся постоянным изучением вопросников для собесов, специалист, массу всего этого быстро забывает, до тех пор пока не придется с этим в реальной работе столкнуться.
Почитал перед собесом про сборщик мусора, например, и отлично помнишь и можешь многое про них рассказать, поработал с год на обычном проекте, в котором используется стандартные сборщики, и без подготовки ты уже не расскажешь толком что там и как работает под капотом, потому что не надо было все это время. И так во всех темах их опросников по собесам.
RodionGork Автор
да, всё так, нередко бывает что интервьюера на чем-то сам подловишь, ну обычно ничего страшного - посмеялись вместе и проехали :)
GospodinKolhoznik
Это настолько важно при 15+ летнем опыте работы? Да хоть вообще в глаза не видел Go, какая разница? Язык клон паскаля, осваивается в момент.
qeeveex
Из-за его простоты под капотом есть много нюансов, о которых обязан знать, если претендуешь на позицию старшего программиста.
Из-за не знания этих нюансов код будет забагован, что может конвертироваться в многомиллионные потери у бизнеса.
И язык далеко не клон паскаля. Если бы вы интересовались Golang по настоящему, то знали бы что его корни идут с начала 70-х.
k0rinf
Если вы говорите про много нюансов под капотом о которых обязаны знать старшие программисты, то надо перечислить хотя бы некоторые из них. Может быть их окажется не так много, либо они будут не такими значимыми как вам кажется?
Можете привести примеры такой забагованности именно из за незнания нюансов? Может быть покрытие тестами позволит бизнесу не нести многомиллионые потери в этих случаях?
RodionGork Автор
Ну хотя товарищ и критикует, я с ним отчасти соглашусь :) в go наплодили много "нюансов", правда часть из них такие - о которых лучше не знать. И к потерям там вполне можно привести. Ну как пример: в го структуры можно в параметры функции передать указателем (как в джаве всегда происходит) а можно и без указателя - в этом случае она копируется. Обычно это не проблема (и даже наоборот как бы защищает от случайного изменения изнутри функции) - но например примитивы синхронизации всякие Mutex, WaitGroup - если их по рассеянности передать без указателя - конечно они тупо не будут работать как надо :) Впрочем глазами такую хрень отслеживать муторно и конечно надо настраивать всякие чекстайлы, анализаторы статические и так далее.
Наверное это тянет на материал для отдельной статьи, или может горстки статей, но не знаю насколько это будет читабельно. Разве что для подготовки на собесы :)
40kTons
Либо наоборот - человек учил го по максимально актуальным материалам и не очень интересуется как оно там раньше было
SabMakc
А статическая проверка не отрабатывает этот сценарий?
Помнится попадался на этом моменте - так предупреждение сразу же IDE выдала, что переделать надо. Но могу и путать, достаточно давно это было...
RodionGork Автор
Тут я соглашусь что в нынешнем Go без статических проверялок лучше в бизнес не соваться :) к сожалению он позволяет делать странные вещи.
kimisa
Смысл следить за версиями, если ты пишешь на старой версии и она в ближайший год не изменится? Чтобы понимать, что что-то ты не можешь тут использовать, потому что его нет в этой версии?
SabMakc
А почему нет?
Обновление версии - зачастую не такая уж и большая проблема, на мой взгляд.
Обновить локально, проверить работоспособность.
Обговорить с командой, DevOps (если надо), возможно проверить еще раз уже на тестовой среде.
Из правок в коде - как правило, в файле проекта версию подкрутить, да версию базового образа в Dockerfile подправить.
Да, бывают более сложные случаи (особенно при значительных изменениях), тут много нюансов может всплыть. Но обычно это достаточно просто - обратная совместимость есть и успешно работает.
kimisa
Все легко и просто когда небольшой проект и если не так много изменений в новой версии.
Ну и когда сменится версия. то тогда и стоит изучать а что такого в новой версии. Из-за того, что я прочитаю изменения и их не буду использовать на практике - толку от этой информации 0.
ForestDront
То, что не используется в работе, забывается.
vvbob
Далеко не всегда. Помню как мучались с обновлением версии явы на проекте с восьмой на 17 хотели перейти, сумели только до 11.. Уже на 15 пошли проблемы, точно уже не помню, но проект собирался с большим трудом и не запускался. Проект был адовым легаси, конечно, по хорошему его надо переписывать.. ну это как всегда. Да, наверное, если бы мы были более
упоротымиупорными, мы наверное сумели бы перетащить все это на 17, но..SabMakc
Да, не всегда. С 8й java сам в свое время сильно мучался - как итог, много зависимостей были заменены, а местами так и не удалось полноценно к модулям перейти. А уж сколько всякого всплыло при переходе к модулям (и разделению на публичную и приватную часть кода) уже в нашем коде... Зато потом при переходе на очередную версию - с пол-пинка все прошло (от силы с новым ключевым словом были пересечения в одном классе, что сразу же и было исправлено).
В тоже время, с golang из проблем максимум помню сломанный cgo (тип в IDE неправильный подставлялся, компиляцию не затронуло), что было исправлено в следующей же минорной версии.
С rust аналогично - особых проблем не помню. Максимум ночные версии могли быть сломанными.
RodionGork Автор
В Go политика общепринятая и настоятельно рекомендуемая - использовать одну из двух последних версий. Использовать старые (как мы привыкли порой в джаве например) это не очень хорошо - можно упустить какие-то важные апдейты для секьюрности и так далее. В этом смысле Т-Банк сам поразил использованием 1.19.8 (притом что уже 1.23 в ходу)