Привет всем! Меня зовут Денис и мой доклад на суперострую тему. Шучу! Я просто хочу поговорить о найме программистов. Эту тему обсуждали уже тысячу раз и, кажется, едва ли тут можно сказать что-то новое. И вот теперь, когда все закрыли страницу, поговорим о важных вещах.
Если ты нанимающий, задавай алгоритмические задачи, и всё будет хорошо. Или нет? Хорошо. Возьмем задачи с литдкода! Тоже плохо? Попробуем заставить программистов писать стандартные сортировки? Это уже не тренд?! Chat gpt считает иначе! Ладно, может быть, будем давать программистам простые задачки, которые любой решит за «пять минут» (наши специальные фирменные пять минут)? Вот это огонь! И добавим ещё system design interview? Прошел — значит сеньор. Просто суперотбор!
А если ты нанимающийся? Да тут тоже нечего думать: всего какая-то 1000 задач на литкоде устроит каждого нанимающего. И на закуску стоит почитать system design primer, как раз на один вечер. Кто из нас не сможет на ходу спроектировать наколеночный аналог twitter! Это же совсем просто, немного round-robin и балансировщиков, cqrs, пару кэшей, немного размышлений на тему CAP, Paxos и RAFT — и мы в дамках!
Крабовые палочки! Узнали? Согласны? Подписыва... Давайте серьезно. Я давно в IT, видел много «поколений» найма, участвовал урывками в собеседованиях, ещё начиная с 2008 года, а сейчас практикую без остановки технические собеседования как минимум последние 4 года, а также подготавливаю технических интервьюеров. И мне, наконец, есть что сказать — я не согласен с текущими практиками отбора. Кроме того, я хочу стать адвокатом тех людей, которые не любят алгоритмические задачи, литкод, вайтбординг, лайвкодинг, переворот деревьев, O(N), домашние задания и, простите меня за это, возможно, даже священный system design interview. Этих людей никто никогда не защищает и консенсус всегда на «другой» стороне. Даже chat gpt — тот ещё любитель алгоритмов, хотя и все его ответы идеально складываются в собес-буллшит-бинго. Будет субъективно, возможно, загорится пару стульев в зале, но я постараюсь представить общий вид текущей ситуации, мои мысли, почему мы к этому пришли, рассказать пару баек из жизни и изложить мое видение и подход.
А ещё я очень постараюсь избегать летучих выражений вроде «наём сломан».
Дополнительные ссылки:
— https://xfenix.ru/
— https://github.com/xfenix
— https://www.youtube.com/watch?v=HLas3IcCTwY (видео этого доклада)