Обновить
79.06
hh.ru
HR Digital
Сначала показывать

Неделя вайбкодинга в hh.ru: зачем мы это сделали

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.3K

Привет. Я Паша Мартышев, CTO hh.ru. Хочу поделиться тем, как мы применяем LLM в разработке и внедряем нейросети в работу коллег, разработчиков и не только. Недавно у нас неплохо получилось сделать это с помощью Вайбатона – внутреннего хакатона по вайбкодингу, и рассказ я построю на его материале. 

Вообще интеграция нейросетей в работу сейчас в тренде и будет в тренде ещё долго, тут мы не оригинальны. Но у нас получилось успешно популяризовать AI-инструменты среди коллег с помощью внутреннего хакатона – мы вовлекли больше 300 человек, получили 42 завершенных проекта, некоторые из которых можно сразу внедрять в работу. Это наглядный эффект. А также интересный способ через вайбкодинг познакомить с AI сотрудников, которые им не очень активно пользуются.

Надеюсь, наш опыт будет полезен читателям.

Читать далее

Snapshot-тесты для дизайн-системы hh.ru

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.5K

Привет! Меня зовут Андрей Максимкин. Я iOS-разработчик в hh.ru. В своих статьях (тут, тут и не только) мы уже не раз говорили о большой любви к тестам и их важной роли в нашем процессе разработки. В этой статье хочу поделиться опытом использования snapshot-тестов, начиная с этапа внедрения. Статья будет полезна для QA и iOS-разработчиков разных уровней. Обсудим не только теорию, но и напишем реальный snapshot-тест — как в нашей практике.

Вместо вступления

Сначала расскажем про snapshot-тесты и для чего они нужны. Snapshot тесты — это метод тестирования, который используется для защиты внешнего вида компонентов и интерфейсов от незапланированных изменений. Они позволяют зафиксировать эталонное состояние компонента и в дальнейшем использовать как образец. Это помогает выявлять изменения в пользовательском интерфейсе, которые могут возникнуть в результате обновлений кода.

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

Когда-то давно в hh.ru уже были snapshot-тесты. На тот момент они были написаны на экраны приложения. Эти экраны часто меняли свой дизайн, тесты вели себя нестабильно и падали, поэтому их приходилось переписывать. В итоге от snapshot-тестов отказались. Так что в своей новой попытке внедрения snapshot-тестов решили не писать тесты для экранов, а только для ДС. 

Читать далее

Микросервис из 15-летнего монолита: приключение на год

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели6.2K

Про выделение микросервисов из монолита рассказывали много, но у каждого свой путь – в статье расскажем про наш.

От простейшего выделения сервиса в модуль в начале до решения проблем разрыва транзакций, SQL Join-запросов, задержек асинхронного API и непосредственно выделения нового сервиса. Использование event-driven архитектуры, редизайна модели данных и интеграционного слоя как основных подходов в процессе выделения.

Читать далее

Стратсессия без потерь: как за дорогостоящую встречу получить максимально конкретный роадмап

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.4K

Представьте переговорку, где за большим дубовым столом встретились маркетинг, продажи, продукт и разработка. У каждого свой фокус: маркетинг думает про охваты и лиды, продажи — про квартальные цифры, продукт — про клиентскую ценность, разработка прикидывает, как это всё сделать и не порвать команду. Всё вроде направлено на рост компании, но без чёткой структуры вы увидите не общий путь команды к цели, а четыре параллельных маршрута.

Хорошая стратсессия помогает превратить поток мнений в согласованный план, в который команда верит и готова его реализовать. И ключ здесь — организация процесса.

Я Соня, Product Operations manager в hh.ru. Моя суперсила — создавать структуры, где люди смело говорят о важном, зная, что будут услышаны, а бизнес-цели достигаются по плану без шантажа и манипуляций. В этой статье я поделюсь прикладными советами, как можно превратить стратегическую сессию из дорогостоящих посиделок в место сбора команды с общей целью. 

Читать далее

Трейсинг в hh.ru: как мы выросли от 1 тысячи до 1 миллиона событий в секунду без семплирования

Время на прочтение12 мин
Охват и читатели5.3K

В каждой компании есть необходимость выстроить систему observability. В hh.ru мы перестраивали архитектуру под большее количество данных несколько раз — сейчас имеем на входе 24к RPS, 1 миллион спанов в секунду, 5к инстансов сервисов. Если вы — инженер, который находится в процессе построения или перестройки собственной системы трейсинга, этот доклад — для вас.

Привет, Хабр! Я — Александр Казанцев, уже более десяти лет в разработке. Когда-то был инженером на пивзаводе и могу рассказать, из чего делают пенное; но сегодня — о другом.

Читать далее

От свалки ссылок к базе знаний: как мы оживили UX-архив

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4.5K

Привет! Меня зовут Андрей, я исследую клиентский и пользовательский опыт в hh.ru. В статье расскажу, как нашей команде удалось вовлечь компанию в рисёчи и тем самым повысить их полезность.

Читать далее

Зачем мы сделали тесты по ИТ-навыкам (и кому они помогут)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.5K

Меня зовут Никита Сбитнев, я — продакт hh.ru. И сегодня я расскажу, зачем и для кого мы запустили тесты по ИТ-навыкам, кто их разрабатывал, как устроены задания и какие результаты уже получили.

Читать далее

Как улучшить прогоны автотестов при помощи карантина

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели1K

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

Читать далее

Системное управление зависимостями

Уровень сложностиСредний
Время на прочтение46 мин
Охват и читатели2.4K

Никто не любит очереди и ожидания. Мы не любим стоять в очередях и ещё больше не любим лезущих вне очереди. Сверхэффективный ад порой представляют как бесконечную, зацикленную саму на себе очередь... В конце концов, что есть символ неизбывной печали и тоски, как не Хатико.

Знаете, кто ещё больше не любит ожидания? Бизнес. Бизнес очень не любит, когда ожидания копят важные проекты и инициативы. Согласно исследованиям средняя эффективность потока в Delivery составляет 35%, а всё остальное время - задачи ждут. (Данные на основе опросов специалистов — ссылка. Метаанализ тысяч workflow от Nave - ссылка ) Справедливо, что ключевая точка роста для ускорения поставки — уменьшение ожиданий.

Именно об этих "фантастических" ожиданиях и пойдёт речь в статье. Я расскажу о системной работе с блокировками и зависимостями, которые повинны в значительном количестве задержек. Мы погрузимся в необходимую теорию, рассмотрим наш успешный практический кейс в hh.ru и, что особенно ценно, я поделюсь конкретными пошаговыми инструкциями по настройке Jira & n8n, а также способами работать с визуализацией блокеров в удобных плагинах, чтобы вы могли применить этот подход у себя.

Этот материал будет полезен IT-менеджерам, тимлидам, руководителям проектов, delivery менеджерам и руководителям функций — всем, кто стремится более осознанно и эффективно распоряжаться временем и ресурсами.

Читать много букав

Оркестр без дирижёра: квартальное планирование в продуктовом сервисе

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели529

Планирование проектной работы — стандартная практика. Она знакома каждому, кто работал в современных командах разработки. Но что, если ваш сервис — не просто одна команда? Что, если это целый «оркестр» из нескольких самостоятельных коллективов, которым нужно сыграть одну партию без дирижёра?

Именно в такой ситуации оказываются многие зрелые продуктовые сервисы. Рассмотрим пример Соискательского JobBoard в HeadHunter — это сервис, который отвечает за весь пользовательский опыт людей, которые ищут работу: от поиска вакансий до откликов на них. Я — Анвар, Сервис Деливери лид этого сервиса. Моя зона ответственности — эффективные процессы поставки ценности. Покажу, как несколько продуктовых команд учатся договариваться и синхронизироваться. Как они достигают общих целей без дирижёра.

Сыграем?

Rafinad: сахар для UI-тестирования iOS-приложений

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели1.6K

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

Кто-то скажет, что старые решения прошли проверку временем и что «работает — не трогай»... Возможно, и так. Но сейчас мы внедряем новую дизайн-систему, а новые компоненты требуют адаптации всех тестов — не лучшее ли время для перемен?

Поэтому мы пересмотрели наши подходы к UI-тестированию и теперь готовы поделиться наработками с сообществом в виде open-source проекта — Rafinad. В этой статье расскажем, что он умеет и как им пользоваться.

Читать далее

Укрощаем асинхронный код с помощью async/await

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.5K

Привет! Меня зовут Андрей Максимкин, я iOS-разработчик в hh. Мы в команде активно используем async/await подход при написании нового кода, а также активно применяем при переписывании старого. В процессе работы сталкивались с некоторыми интересными и не самыми очевидными моментами — их и рассмотрим в статье.

Работа с различными потоками — очень важная часть разработки мобильных приложений под iOS. Грамотное распределение нагрузки положительно влияет на скорость работы приложения, а значит, и на пользовательский опыт. До Swift 5.5 для работы с многопоточностью в основном использовали фреймворки GCD и NSOperation. Начиная с версии Swift 5.5 стал доступен функционал async/await. В статье мы кратко расскажем о базовых принципах данного подхода и сделаем акцент на проблемах и особенностях, которые необходимо знать при написании кода. Информация будет полезна тем, кто уже знаком с функционалом async/await, а некоторые примеры могут быть интересны и более продвинутым разработчикам. 

Поехали!

IT-рынок труда в 2024 году: ситуация, тенденции и прогноз на 2025

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели18K

Каждый год мы проводим исследования рынка труда, в том числе, конечно, сферы IT. Недавно закончили анализировать 2024 год и решили поделиться результатами с Хабром. 

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

Узнать про IT-рынок труда

Как и на какие метрики смотреть в поисках зоны роста команды?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели1.8K

«Как и на какие метрики смотреть в поисках зоны роста команды?» — на эту тему менеджеры проектов в нашей компании задумываются регулярно, так как менеджеры отвечают в том числе и за эффективность процессов. Правильный ответ на вопрос будет зависеть от контекста команды, заказчиков, продукта, рабочего процесса и много чего еще. Но можно выделить ряд метрик и отчетов, построенных на этих метриках, которые будут универсальны, и которые можно брать за основу для анализа. А поскольку hh.ru — компания, которая несколько последних лет применяет Kanban-метод, то и метрики ниже будут сильно пересекаться с тем, что этот метод предлагает. 

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

Читать далее

Ближайшие события

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

Время на прочтение7 мин
Охват и читатели2.8K

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

В этом году в отборе участвовало 2349 человек, из них успешно решили оба задания 477, 116 дошли до собеседований и 58 поступили в школу.

Основная проблема этого года — LLM (большие языковые модели, обычно в лице ChatGPT). К сожалению, они умеют решать задачи лучше многих программистов. Некоторые ребята сдавали готовые решения через 3 минуты с сомнительными комментариями в коде в духе:

Читать далее

5 общих черт между Cаутгейтом и плохим менеджером

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели2.8K

В мире технологий и футбола есть свои герои и антигерои. Сегодня я решил провести параллель между плохим менеджером и Гаретом Саутгейтом, тренером сборной Англии по футболу. На первый взгляд кажется, что у них нет ничего общего, но если присмотреться, можно найти много забавных и поучительных моментов. Давайте разберемся, что объединяет этих двух персонажей.

Читать далее

Пирамида тестирования в hh.ru

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели5.3K

Всем привет! Меня зовут Александр, в hh.ru я занимаюсь автотестами. В статье про оценку тестового покрытия мы затронули тему интеграционных тестов. В этом материале я расскажу, как у нас обстоят дела с пирамидой тестирования в целом. В hh.ru более 200 микросервисов, которые тестируются на различных уровнях. У нас, как и в классической пирамиде, таких уровней три, а сейчас мы активно запускаем еще один — контрактные тесты.

Поехали!

Как мы собеседовали ChatGPT на позицию QA

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели27K

Всем привет! Мы — Аня, Оля и Дима, тестировщики в hh.ru. Не так давно мы прочитали про случай, где адвокат использовал ChatGPT для подготовки аргументации стороны обвинения в суде. Ситуация может показаться абсолютно дикой: это же очевидно, что нельзя доверить искусственному интеллекту свою карьеру. Но мы не были бы тестировщиками, если бы не решили проверить, а сможет ли ChatGPT помочь подготовить нас к собеседованию. 

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

Читать далее

Карантин UI-тестов в iOS

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели3.7K

Всем привет! Я Тимур — iOS разработчик в платформенной команде hh.ru. Сегодня я расскажу о нестабильных UI-тестах в iOS, и как мы с ними справляемся.

Мы уделяем массу внимания UI-тестам, ведь именно они обеспечивают качество и стабильность в наших iOS-приложениях. Сейчас у нас включено около 600 UI-тестов: они гоняются утром, вечером и на каждом PR в develop. О том, как мы обеспечиваем качество мобильной разработки есть отдельная статья.

Рано или поздно большое количество UI-тестов скорее всего начнут тормозить разработку, потому что их стабильность зависит от множества факторов: стенды (API), инфраструктура (обновление Xcode, машин, СI), кодовая база. Даже из‑за проблем в самом XCUITest тесты могут начать выдавать аномалии.

Если хотите узнать про наш процесс — смело нажимайте "Читать далее".

Читать далее

Выращиваем тимлидов в домашних условиях

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели11K

Привет! Я Леонид — технический руководитель направления Публикации вакансий в hh.ru.

И сегодня мы поговорим… Нет, не про эволюцию Чармандера. Я хочу рассказать, как мы растим тимлидов из наших разработчиков, заранее прокачивая у кандидатов необходимые для новой роли компетенции.

Узнать!
1
23 ...

Информация

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