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

Зачем тимлиду участвовать в подборе? Потому что ошибки найма упадут на него

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

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

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

Мобилка hh.ru теперь и в Беларуси: как жить, когда команду раскидало

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

Долгие годы наша разработка изобретала и создавала новые решения в HR-tech строго из московского офиса. Но последний год многое изменил: мы не только научились работать удаленно по всей России, но и обзавелись крутой командой в нашей белорусской сестрице rabota.by

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

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

«Продам гараж»: фронт и реклама в hh.ru

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

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

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

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии1

Память в Swift от 0 до 1

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

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

Читать далее
Всего голосов 25: ↑24 и ↓1+23
Комментарии16

Как мы переходили на Java 15 или история одного бага в jvm длиной в 6 лет

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

Мы готовились к выходу Java 15 ради некоторых её новых возможностей. В частности — текстовых блоков. Да, они появились в Java 14 (о новых функциях в Java 14 можно посмотреть здесь), но только как превью-фича, а, начиная с Java 15, она стала доступна в виде окончательно готовой функции.

Мы в hh.ru привыкли внедрять и использовать самые современные технологии в разработке ПО. Пробовать что-то новое — одна из ключевых задач команды Архитектура. Пока многие пишут на Java 8, мы уже близки к тому, чтобы отправить на свалку истории Java 11.

Читать далее
Всего голосов 31: ↑28 и ↓3+25
Комментарии49

Navigation Component-дзюцу, vol. 4 – Переоценка

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

Спустя два месяца после написания цикла статей «Navigation Component-дзюцу» я задумался: неужели всё действительно так плохо? Может быть я поддался волне критики гугловых разработок и просто пропустил тревожный звоночек, принявшись исправлять баг за багом, проблему за проблемой с помощью костылей и палок?

Оказалось, во многом так оно и есть: в этой статье-дополнении я хочу рассказать, в чём была проблема, как её исправить и как это поменяло моё мнение о Navigation Component.

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

Работа с толстофичами: как разобрать слона на части и собрать обратно

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

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


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


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

Магическая шаблонизация для Android-проектов

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


Начиная с Android Studio 4.1, Google прекратил поддержку кастомных FreeMarker-ных шаблонов. Теперь вы не можете просто взять и написать свои ftl-файлы и сложить их в определённую папку, чтобы Android Studio самостоятельно добавила их в меню New → Other. В качестве альтернативы нам предлагают разбираться в плагиностроении и создавать шаблоны изнутри плагинов IDEA. Нас в hh такая ситуация не очень устраивает, так как есть несколько полезных FreeMarker-ных шаблонов, которые мы постоянно используем и которые иногда нуждаются в обновлениях. Лезть в плагины, чтобы поправить какой-то шаблон? Нет уж, увольте. 


Всё это привело к тому, что мы разработали специальный плагин для Android Studio, который поможет решить эти проблемы. Встречайте – Geminio.

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

Разбор вступительных задач Школы Программистов hh.ru

Время на прочтение7 мин
Количество просмотров14K
20 октября закончился набор в Школу программистов hh. Он длился два с половиной месяца. Мы благодарим всех участников, уделивших время попытке поступить к нам. Надеемся, вам понравились задания и вы получили удовольствие от их решения!

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

image
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии14

Исследование узнаваемости работодателей в ИТ

Время на прочтение6 мин
Количество просмотров13K
Всем привет! Недавно мы провели исследование технобренда hh.ru и решили поделиться его результатами. У нас стояла задача выяснить, насколько популярен hh среди аудитории ИТ-специалистов как потенциальный работодатель. Но поскольку себя нужно с чем-то сравнивать — в исследовании также спрашивали про ряд других компаний на рынке. Под катом получился некий helicopter view на рынок труда в ИТ. 


Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии15

Navigation Component-дзюцу, vol. 3 — Corner-кейсы

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


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


Это третья и заключительная статья в цикле про различные кейсы навигации с Navigation Component-ом. Вы также можете ознакомиться с первой и второй частями

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

Перфоманс фронтенда как современное искусство: графики, код, кулстори

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

Всем привет. В предыдущих статьях мы говорили о базовых вещах оптимизации: раз и два. Сегодня я предлагаю с разбега окунуться в одну часть из тех задач, которыми занимается команда архитектуры фронтенда в hh.ru.


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


  • Перфоманс приложения
  • Инфраструктура: сборка, тесты, пайплайны, раскатка на продакшене, инструменты для разработчика (например бабель-плагины, кастомные eslint правила)
  • Дизайн-система (UIKit)
  • Переезд на новые технологии

Если покопаться, можно найти много интересного.


Поэтому, давайте поговорим о перфомансе. Команда фронтенд архитектуры ответственна как за клиентскую часть, так и серверную (SSR).


Я предлагаю посмотреть на метрики и разобраться, как мы реагируем на различные триггеры. Статья будет разбита на 2 составляющие. Серверную и клиентскую. Графики, код и кулстори прилагаются.


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

Navigation Component-дзюцу, vol. 2 – вложенные графы навигации

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


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


Это вторая из трёх статей про реализацию кейсов навигации при помощи Navigation Component-а.

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

Navigation Component-дзюцу, vol. 1 — BottomNavigationView

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


Два года назад на Google I/O Android-разработчикам представили новое решение для навигации в приложениях — библиотеку Jetpack Navigation Component. Про маленькие приложения уже было сказано достаточно, а вот о том, с какими проблемами можно столкнуться при переводе большого приложения на Navigation Component, информации практически нет.


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

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

Коротко: рынок труда в разработке после Covid

Время на прочтение4 мин
Количество просмотров25K
Что происходит на рынке труда спустя полгода с начала локдауна, какие отрасли восстанавливаются, сколько вакансий открыто для разработчиков? Под катом посмотрим на реакцию ИТ-сферы на «ковидную» весну, сравним июль прошлого года с нынешним по количеству вакансий и узнаем о зарплатах. Обзор максимально сжатый, в 10 минут уложимся.


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

В диких условиях. Итоги проектов Школы программистов в эпоху самоизоляции

Время на прочтение6 мин
Количество просмотров2.1K
За четыре месяца занятий были прочитаны 54 лекции на двух потоках бекэнд и фронтенд, проведены несколько крутых практикумов с live-coding’ом. Проверены сотни заданий, на все вопросы получены две сотни ответов. Тут пришел 2020 год и сразу после того как мы сняли с елок гирлянды, всем нам самим пришлось нарядиться в маски и надеть перчатки. А теперь по порядку:



Десятая Школа Программистов hh.ru стала особенной. Юбилей, огромное количество планов, неиссякаемый поток учеников, неугасающая мотивация наших преподавателей и организаторов. Мы приложили максимум усилий, чтобы этот выпуск стал образцовым.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Оптимизация производительности фронтенда. Часть 1. Critical Render Path

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

Здравствуйте. Меня зовут Ник, я фронтенд разработчик (жидкие аплодисменты). Кроме того, что я пишу код, я преподаю в Школе программистов hh.ru.


Записи наших лекций от 2018-2019 учебного года можно посмотреть на youtube


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



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


Лонгридом можно пользоваться как справочником, чтобы не читать за один присест. Вот список тем, которые мы затронем:


  1. Зачем думать о производительности
  2. FMP, TTI + подробнее в докладе
  3. Critical render path, DOM, CSSOM, RenderTree
  4. Шаги по улучшению производительности первой загрузки + подробнее в докладе
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии10

Swift: Копируй-изменяй

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


Часто бывает так, что нам нужно скопировать объект, изменив некоторые его свойства, но сохранив остальные неизменными. Для этой задачи существует функция copy().

Это отрывок описания метода copy() из документации Kotlin. На нашем родном языке Swift это означает примерно такую возможность:


struct User {
    let id: Int
    let name: String
    let age: Int
}

let steve = User(id: 1, name: "Steve", age: 21)

// Копируем экземпляр, изменив свойства `name` и `age`
let steveJobs = steve.changing { newUser in
    newUser.name = "Steve Jobs"
    newUser.age = 41
}

Выглядит вкусно, не так ли?


Увы, в Swift отсутствует подобный функционал "из коробки". Это небольшое руководство поможет реализовать его самостоятельно.

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

Портрет российского специалиста Data Science от MADE и hh.ru

Время на прочтение2 мин
Количество просмотров6.9K
16 июля 2020 г. Академия больших данных MADE от Mail.ru Group и hh.ru составили портреты российских специалистов по анализу данных (Data Science) и машинному обучению (Machine Learning). Аналитики выяснили, где они живут и что умеют — а также чего ждут от них работодатели и как меняется спрос на таких профессионалов.

Академия MADE и HeadHunter проводят исследование уже второй год подряд. На этот раз эксперты проанализировали 10 500 резюме и 8100 вакансий.



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

Предвзятый и субъективный взгляд на резюме разработчика

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

Привет! Недавно мои коллеги из hh.ru провели вебинар, где разбирали резюме разработчика. Я решил поделиться своей точкой зрения на этот счет.


image


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

Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии30

Информация

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