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

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

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


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

      • Tutorial

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


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


      Читать дальше →
    • Как в hh.ru тестируют поиск по вакансиям

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

        Для нормальной работы поиска крайне важна система метрик — локальных, A/B-тестов, очередей на проде и т. д., и эта система требует отдельного внимания и ресурсов. Неправильно думать, что достаточно просто запилить крутой ML и прикрутить все эти метрики «скотчем»; недостаточно также измерять качество работы уже работающей системы — не так уж важно, использует ли она ML или представляет собой Lucene «из коробки».
        Читать дальше →
        • +16
        • 4,4k
        • 4
      • Keys in React. Готовим правильно

        • Tutorial

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


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


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


        1. Reconciliation
        2. Реиспользование ключей и нормализация
        3. Использование key при рендере одного элемента
        4. Работа с ключами при передаче компоненту children
        Читать дальше →
        • +33
        • 6,7k
        • 1
      • Умный поиск: как искусственный интеллект hh.ru подбирает вакансии к резюме

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



          Делать такую систему мы начали полтора года назад — решили построить на машинном обучении алгоритм, который сам выбирал бы подходящие пользователю вакансии. Но мы очень быстро поняли: вакансии, похожие на резюме, и вакансии, на которые владельцу резюме хочется откликнуться, — далеко не одно и то же.
          Читать дальше →
        • Анализ резюме hh.ru: много графиков и немного сексизма и дискриминации

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

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


            Читать дальше →
          • Разбор задач второго этапа Школы программистов HeadHunter 2017

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


              Читать дальше →
              • +12
              • 7,2k
              • 4
            • Уехавшие: три истории выпускников Школы программистов HeadHunter

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

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


                Читать дальше →
              • Как войти в IT: новый набор в Школу программистов HeadHunter



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

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

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



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