Как стать автором
Обновить
147.68
hh.ru
HR Digital
Сначала показывать

Наиболее востребованные языки программирования – 2018

Время на прочтение3 мин
Количество просмотров199K
Очередная статистика от hh.ru под катом. Вкратце — очень хотелось посчитать, на каких языках чаще всего пишут отечественные разработчики и какие языки чаще других ищут работодатели. Итого — посчитал, что указывали в вакансиях и в резюме в первом полугодии 2018 и 2017 годов. Получилось что получилось.


Читать дальше →
Всего голосов 74: ↑68 и ↓6+62
Комментарии93

Массовый стекинг моделей ML в production: реально или нет?

Время на прочтение5 мин
Количество просмотров5.3K
Довольно часто нас спрашивают, почему мы не устраиваем соревнований дата-сайентистов. Дело в том, что по опыту мы знаем: решения в них совсем не применимы к prod. Да и нанимать тех, кто окажется на ведущих местах, не всегда имеет смысл.



Такие соревнования часто выигрывают с помощью так называемого китайского стекинга, когда комбинаторным способом берут все возможные алгоритмы и значения гиперпараметров, и полученные модели в несколько уровней используют сигнал друг от друга. Обычные спутники этих решений — сложность, нестабильность, трудность при отладке и поддержке, очень большая ресурсоёмкость при обучении и прогнозировании, необходимость внимательного надзора человека в каждом цикле повторного обучения моделей. Смысл делать это есть только на соревнованиях — ради десятитысячных в локальных метриках и позиций в турнирной таблице.
Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии2

Анонс мобильного митапа: Что делать, когда приложение стало большим?

Время на прочтение2 мин
Количество просмотров2.8K
Формат
Мероприятие будет проходить в формате круглого стола

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


Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии0

Как докатить ML в прод: шесть граблей, на которые мы наступили

Время на прочтение6 мин
Количество просмотров16K
Совсем недавно мы искали дата-сайентиста в команду (и нашли — привет, nik_son и Арсений!). Пока общались с кандидатами, поняли, что многие хотят сменить место работы, потому что делают что-то «в стол».

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



У HeadHunter нет больших вычислительных мощностей, как у «Яндекса» или Google. Мы понимаем, как нелегко катить в продакшен сложный ML. Поэтому многие компании останавливаются на том, что катят в прод простейшие линейные модели.

В процессе очередного внедрения ML в рекомендательную систему и в поиск по вакансиям мы столкнулись с некоторым количеством классических «граблей». Обратите на них внимание, если собираетесь внедрять ML у себя: возможно, этот список поможет по ним не ходить и найти уже свои, персональные грабли.
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии8

Как устроен поиск

Время на прочтение15 мин
Количество просмотров38K
Привет, юзернейм! Каждый день мы сталкиваемся с поиском различных данных. Почти на каждом веб-сайте с большим количеством информации сейчас есть поиск. Поиск есть в домашних компьютерах, в мобильных телефонах, в различного рода программном обеспечении. Конечно, если спросить любого разработчика про поиск с точки зрения технологий, на ум сразу придет elasticsearch, lucene или sphinx. Сегодня я хочу заглянуть с тобой «под капот» полнотекстового поиска и разобраться в первом приближении, как же он работает, на примере hh.ru.

image
Читать дальше →
Всего голосов 56: ↑54 и ↓2+52
Комментарии11

Рынок труда в Java-разработке — что мы знаем о нём, что он знает о нас

Время на прочтение5 мин
Количество просмотров43K
Прошлые статьи с цифрами нашли положительный отклик среди читателей, поэтому — на этот раз нечто совершенно иное — ещё один статистический сборник: рынок труда в Java, цифры из вакансий, резюме и заработные платы. Сам наш hh.ru в большей части написан на ней — уже ~15 лет мы следим за всей экосистемой Java и за динамикой джавистов на рынке.

Под катом — сравнение Java с совокупным рынком, реальные/предлагаемые/ожидаемые зарплаты, конкуренция и общие тренды. 21 график, время чтения — примерно 7 минут.


Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии19

Навигация с архитектурными компонентами от Google. Часть 1. Знакомство

Время на прочтение8 мин
Количество просмотров20K

Одной из проблем, с которыми сталкивается разработчик немного подразросшегося приложения — навигация между экранами. Когда сценарии становятся нелинейными, уже тяжело обойтись стандартными startActivity и changeFragment. Эту проблему каждый решал по-своему: делал какое-то свое решение для навигации, использовал стороннее (к примеру, Cicerone) или же оставлял все как есть и городил кучу флагов и if else. Это очень огорчало инженеров Google, и вот уже на Google I/O 2018 появилось решение Navigation, которое идёт в комплекте с остальными Архитектурными компонентами!


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


Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии11

Как в hh.ru тестируют поиск по вакансиям

Время на прочтение4 мин
Количество просмотров6.9K
Я уже делился рассказом о нашем опыте применения искусственного интеллекта в поиске на hh.ru, а сегодня хотел бы остановиться на измерении качества этого поиска поподробнее.

Для нормальной работы поиска крайне важна система метрик — локальных, A/B-тестов, очередей на проде и т. д., и эта система требует отдельного внимания и ресурсов. Неправильно думать, что достаточно просто запилить крутой ML и прикрутить все эти метрики «скотчем»; недостаточно также измерять качество работы уже работающей системы — не так уж важно, использует ли она ML или представляет собой Lucene «из коробки».
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии4

Keys in React. Готовим правильно

Время на прочтение15 мин
Количество просмотров77K

Сегодня поговорим об атрибуте key в React. Часто разработчики, которые только начинают использовать React, не придают большого значения атрибуту key. А зря…


image
Что говорит уточка, когда узнала, что ты не используешь key


Чтобы представить работу ключей полностью и с различными кейсами, рассмотрим план:


  1. Reconciliation
  2. Реиспользование ключей и нормализация
  3. Использование key при рендере одного элемента
  4. Работа с ключами при передаче компоненту children
Всего голосов 33: ↑33 и ↓0+33
Комментарии1

Умный поиск: как искусственный интеллект hh.ru подбирает вакансии к резюме

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



Делать такую систему мы начали полтора года назад — решили построить на машинном обучении алгоритм, который сам выбирал бы подходящие пользователю вакансии. Но мы очень быстро поняли: вакансии, похожие на резюме, и вакансии, на которые владельцу резюме хочется откликнуться, — далеко не одно и то же.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии21

Анализ резюме hh.ru: много графиков и немного сексизма и дискриминации

Время на прочтение5 мин
Количество просмотров100K
Недавно мне на глаза попалась статья про анализ датасета резюме hh.ru, который участвовал в каком-то хакатоне. Это навело меня на мысль самому поиграться с данными резюме. Тем более что у меня их немного больше. Я выбрал самую интересную для меня профобласть, которую можно указать в резюме, — «Информационные технологии, интернет, телеком».

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


Читать дальше →
Всего голосов 143: ↑138 и ↓5+133
Комментарии154

Разбор задач второго этапа Школы программистов HeadHunter 2017

Время на прочтение8 мин
Количество просмотров21K
Второй этап отбора в Школу программистов закончился. Многие из тех, кто поступал в Школу, просили рассказать алгоритмы решения задач, а главное — прислать комбинации, на которых их программа не работает. В этой статье будут описаны решения предлагаемых задач, а в конце статьи вы увидите ссылку на github, где выложен код описанных решений, код программы проверки и тестовые кейсы. Весь код написан на java (хотя решение второй задачи легче писать на питоне). Не буду утверждать, что это единственные правильные решения, существуют и другие, но эти мне нравятся больше всего.


Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии5

Уехавшие: три истории выпускников Школы программистов HeadHunter

Время на прочтение4 мин
Количество просмотров19K
Что происходит с выпускниками Школы программистов HeadHunter дальше, когда они покидают стены компании? Мы решили рассказать три небольшие истории тех, кто в разные годы обучался у нас, работал в HeadHunter и продолжил свое развитие за рубежом.

Начинаем знакомство?


Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии20

Как войти в IT: новый набор в Школу программистов HeadHunter

Время на прочтение5 мин
Количество просмотров20K


Привет. Меня зовут Лев, и я разработчик в HeadHunter. Хотите узнать, как я им стал? Пожалуй, начну с самого начала — когда мои юношеские прыщи по количеству могли сравниться лишь с часами, проведенными за игрой в плейстейшен. Какими-то силами вселенной (мам, пап, спасибо:) я стал работать в инвестиционном банке и торговал валютами, акциями, облигациями (да-да, как в фильме “Волк с Уолл-стрит”).

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

Все изменилось с приходом в мою жизнь программирования. Ручной труд ушел на второй план, я начал писать код, который делал мою работу. Поначалу он был простым и понятным, но со временем обрастал сложными кейсами. Потом в один прекрасный момент “что-то пошло не так” и банк потерял нехилую кучу бабла. Так я узнал, что пластическая операция — это дорого и больно разработка — это не только код, но еще и тестирование, контроль качества и другие интересные и крайне полезные практики.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии16

Чат-бот своими руками: история одного велосипеда

Время на прочтение7 мин
Количество просмотров9K


Привет, хабр! Сегодня я расскажу о том, как своими руками с нуля собирались мозги для чат-бота, умеющего создавать резюме на основе беседы с человеком. Речь пойдет о том, как развивался написанный для этого дела велосипед, какие трудности встречал на своем пути и как изменялся в целях преодоления этих трудностей. Все описанные события происходили в процессе моего обучения в Школе программистов HeadHunter в 2017 году. Кому интересно — добро пожаловать под кат.
Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии0

hh и в продакшн: как выпустить новую фичу

Время на прочтение11 мин
Количество просмотров21K
HH и в продакшн

Однажды техдепу в HeadHunter сделали толстовки с принтом на спине «hh и в продакшн». Вроде бы и забавно, но меня всё время смущала эта надпись, т.к. в оригинале это не то, чем стоит гордиться. Это натолкнуло меня написать пост, что же на самом деле означают буквы hh.

Я хочу рассказать о том, как рождается фича в HeadHunter на примере команды API, в которой я тружусь. Какой путь ей предстоит пройти от идеи до выхода в продакшн. Затрону как технические, так и менеджерские аспекты.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии22

Переход на embedded PostgreSQL в unit-тестах

Время на прочтение13 мин
Количество просмотров37K

В приложениях, работающих с базами данных, естественным образом возникает потребность в тестах, которые проверяют корректность результатов выполнения запросов. На помощь приходят различные встроенные (embedded) базы данных. В этой статье я расскажу о том, как мы перевели unit-тесты с HSQLDB на PostgreSQL: зачем это затеяли, с какими трудностями столкнулись и что нам это дало.

Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии49

Как оценить качество системы A/B-тестирования

Время на прочтение11 мин
Количество просмотров26K


Вот уже более полугода в компании используется единая система для проведения A/B-экспериментов. Одной из самых важных частей этой системы является процедура проверки качества, которая помогает нам понять, насколько мы можем доверять результатам A/B-тестов. В этой статье мы подробно опишем принцип работы процедуры проверки качества в расчете на тех читателей, которые захотят проверить свою систему A/B-тестирования. Поэтому в статье много технических деталей.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии6

Самые востребованные языки программирования 2016

Время на прочтение1 мин
Количество просмотров113K
Под конец этого непростого года наша служба исследований собрала двадцатку самых востребованных языков программирования на hh.ru. По каждому языку отдельно посчитали динамику за год. А по первой пятерке заодно посмотрели изменения за 5 лет.

Что произошло: PHP в этом году стал самым востребованным у работодателей, отняв пальму первенства у Java. За год выросли оба, но PHP вырос сильнее. Go и Swift «выстрелили» на 161% и 100% соответственно, хотя до лидеров по количеству вакансий им еще далеко. А вот Python заметно сдал позиции, сразу на 32%.

Если сравнить с индексом TIOBE, то сразу заметно, что PHP у нас заметно выше, а Visual Basic, например, заметно ниже. Go рванул и там и тут, а вот Objective-C у TIOBE в лидерах роста, а у нас он упал на 9%. С у них, кстати, упал сильнее всех, а у нас, наоборот, вырос на 46%.


А где же 1С, спросите вы? В табличку не включили, но если интересно, то все неплохо: 2015 — 9 473, 2016 — 13 735. Прирост: 45%. В абсолютных цифрах — самый востребованный язык.
Посмотреть динамику первой пятерки за 5 лет
Всего голосов 67: ↑57 и ↓10+47
Комментарии152

Маленькие дизайн-алгоритмы против большого тлена

Время на прочтение5 мин
Количество просмотров5.2K


Никогда не поздно пить “Боржоми”. Даже если кажется, что RGB уже никогда не станет ярче, пользователи не начнут понимать тебя с полупикселя, а стену “ВКонтакте” никто возвращать не собирается. Выход есть — надо бежать!
Всего голосов 32: ↑16 и ↓160
Комментарии25

Информация

Сайт
hh.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия