
Привет, меня зовут Андрей и я автоматизатор (остальные в кругу хлопают в знак сочувствия) в hh.ru. В статье расскажу, как мы ввели карантин автотестов, повысив стабильность релизов и скорость доставки.
Привет, меня зовут Андрей и я автоматизатор (остальные в кругу хлопают в знак сочувствия) в hh.ru. В статье расскажу, как мы ввели карантин автотестов, повысив стабильность релизов и скорость доставки.
Никто не любит очереди и ожидания. Мы не любим стоять в очередях и ещё больше не любим лезущих вне очереди. Сверхэффективный ад порой представляют как бесконечную, зацикленную саму на себе очередь... В конце концов, что есть символ неизбывной печали и тоски, как не Хатико.
Знаете, кто ещё больше не любит ожидания? Бизнес. Бизнес очень не любит, когда ожидания копят важные проекты и инициативы. Согласно исследованиям средняя эффективность потока в Delivery составляет 35%, а всё остальное время - задачи ждут. (Данные на основе опросов специалистов — ссылка. Метаанализ тысяч workflow от Nave - ссылка ) Справедливо, что ключевая точка роста для ускорения поставки — уменьшение ожиданий.
Именно об этих "фантастических" ожиданиях и пойдёт речь в статье. Я расскажу о системной работе с блокировками и зависимостями, которые повинны в значительном количестве задержек. Мы погрузимся в необходимую теорию, рассмотрим наш успешный практический кейс в hh.ru и, что особенно ценно, я поделюсь конкретными пошаговыми инструкциями по настройке Jira & n8n, а также способами работать с визуализацией блокеров в удобных плагинах, чтобы вы могли применить этот подход у себя.
Этот материал будет полезен IT-менеджерам, тимлидам, руководителям проектов, delivery менеджерам и руководителям функций — всем, кто стремится более осознанно и эффективно распоряжаться временем и ресурсами.
Планирование проектной работы — стандартная практика. Она знакома каждому, кто работал в современных командах разработки. Но что, если ваш сервис — не просто одна команда? Что, если это целый «оркестр» из нескольких самостоятельных коллективов, которым нужно сыграть одну партию без дирижёра?
Именно в такой ситуации оказываются многие зрелые продуктовые сервисы. Рассмотрим пример Соискательского JobBoard в HeadHunter — это сервис, который отвечает за весь пользовательский опыт людей, которые ищут работу: от поиска вакансий до откликов на них. Я — Анвар, Сервис Деливери лид этого сервиса. Моя зона ответственности — эффективные процессы поставки ценности. Покажу, как несколько продуктовых команд учатся договариваться и синхронизироваться. Как они достигают общих целей без дирижёра.
Мы в hh очень любим UI-тесты, ими покрывается практически вся функциональность наших приложений, и даже backend-разработчики прогоняют тесты мобильных платформ перед развертыванием своих фич. Однако наши механизмы UI-тестирования разрабатывались более 8 лет назад и с тех пор почти не изменились.
Кто-то скажет, что старые решения прошли проверку временем и что «работает — не трогай»... Возможно, и так. Но сейчас мы внедряем новую дизайн-систему, а новые компоненты требуют адаптации всех тестов — не лучшее ли время для перемен?
Поэтому мы пересмотрели наши подходы к UI-тестированию и теперь готовы поделиться наработками с сообществом в виде open-source проекта — Rafinad. В этой статье расскажем, что он умеет и как им пользоваться.
Привет! Меня зовут Андрей Максимкин, я iOS-разработчик в hh. Мы в команде активно используем async/await подход при написании нового кода, а также активно применяем при переписывании старого. В процессе работы сталкивались с некоторыми интересными и не самыми очевидными моментами — их и рассмотрим в статье.
Работа с различными потоками — очень важная часть разработки мобильных приложений под iOS. Грамотное распределение нагрузки положительно влияет на скорость работы приложения, а значит, и на пользовательский опыт. До Swift 5.5 для работы с многопоточностью в основном использовали фреймворки GCD и NSOperation. Начиная с версии Swift 5.5 стал доступен функционал async/await. В статье мы кратко расскажем о базовых принципах данного подхода и сделаем акцент на проблемах и особенностях, которые необходимо знать при написании кода. Информация будет полезна тем, кто уже знаком с функционалом async/await, а некоторые примеры могут быть интересны и более продвинутым разработчикам.
Каждый год мы проводим исследования рынка труда, в том числе, конечно, сферы IT. Недавно закончили анализировать 2024 год и решили поделиться результатами с Хабром.
Мы выяснили, кому в IT зарплаты подняли, а кому — нет, кто получил больше ожидаемого, а кто — меньше, как меняется конкуренция сотрудников разного уровня, что с удалёнкой, какие вакансии и языки наиболее популярны. А также, как ситуация выглядит со стороны работодателей: как произошёл дефицит кадров при перенасыщённости рынка и что с этим делать, какие успехи и неудачи переживает бизнес, станут ли в следующем году нанимать больше или меньше, а также, что вообще ждёт IT-отрасль в 2025 году.
«Как и на какие метрики смотреть в поисках зоны роста команды?» — на эту тему менеджеры проектов в нашей компании задумываются регулярно, так как менеджеры отвечают в том числе и за эффективность процессов. Правильный ответ на вопрос будет зависеть от контекста команды, заказчиков, продукта, рабочего процесса и много чего еще. Но можно выделить ряд метрик и отчетов, построенных на этих метриках, которые будут универсальны, и которые можно брать за основу для анализа. А поскольку hh.ru — компания, которая несколько последних лет применяет Kanban-метод, то и метрики ниже будут сильно пересекаться с тем, что этот метод предлагает.
Меня зовут Денис Николаев, и я менеджер проектов в hh. В этой статье покажу, на какие основные отчеты смотрю я. Также добавлю примеры того, на что обращать внимание в этих отчетах, чтобы в дальнейшем работать над повышением эффективности.
Всем привет, завершился набор в юбилейную 15-ю школу программистов HeadHunter. Поздравляем всех поступивших и желаем удачи остальным в следующий раз! Каждый год после старта школы мы разбираем решение задач, и этот год не исключение. Поехали!
В этом году в отборе участвовало 2349 человек, из них успешно решили оба задания 477, 116 дошли до собеседований и 58 поступили в школу.
Основная проблема этого года — LLM (большие языковые модели, обычно в лице ChatGPT). К сожалению, они умеют решать задачи лучше многих программистов. Некоторые ребята сдавали готовые решения через 3 минуты с сомнительными комментариями в коде в духе:
В мире технологий и футбола есть свои герои и антигерои. Сегодня я решил провести параллель между плохим менеджером и Гаретом Саутгейтом, тренером сборной Англии по футболу. На первый взгляд кажется, что у них нет ничего общего, но если присмотреться, можно найти много забавных и поучительных моментов. Давайте разберемся, что объединяет этих двух персонажей.
Всем привет! Меня зовут Александр, в hh.ru я занимаюсь автотестами. В статье про оценку тестового покрытия мы затронули тему интеграционных тестов. В этом материале я расскажу, как у нас обстоят дела с пирамидой тестирования в целом. В hh.ru более 200 микросервисов, которые тестируются на различных уровнях. У нас, как и в классической пирамиде, таких уровней три, а сейчас мы активно запускаем еще один — контрактные тесты.
Всем привет! Мы — Аня, Оля и Дима, тестировщики в hh.ru. Не так давно мы прочитали про случай, где адвокат использовал ChatGPT для подготовки аргументации стороны обвинения в суде. Ситуация может показаться абсолютно дикой: это же очевидно, что нельзя доверить искусственному интеллекту свою карьеру. Но мы не были бы тестировщиками, если бы не решили проверить, а сможет ли ChatGPT помочь подготовить нас к собеседованию.
Для этого мы решили задать ему вопросы, которые могут встретиться во время собеса на позицию тестировщика, и проанализировать, насколько его ответы были бы хороши в реальной жизни. Для полноты исследования мы выбрали вопросы для оценки как хард-скиллов (в том числе немного про автоматизацию тестирования и мобильную специфику), так и софт-скиллов.
Всем привет! Я Тимур — iOS разработчик в платформенной команде hh.ru. Сегодня я расскажу о нестабильных UI-тестах в iOS, и как мы с ними справляемся.
Мы уделяем массу внимания UI-тестам, ведь именно они обеспечивают качество и стабильность в наших iOS-приложениях. Сейчас у нас включено около 600 UI-тестов: они гоняются утром, вечером и на каждом PR в develop. О том, как мы обеспечиваем качество мобильной разработки есть отдельная статья.
Рано или поздно большое количество UI-тестов скорее всего начнут тормозить разработку, потому что их стабильность зависит от множества факторов: стенды (API), инфраструктура (обновление Xcode, машин, СI), кодовая база. Даже из‑за проблем в самом XCUITest тесты могут начать выдавать аномалии.
Если хотите узнать про наш процесс — смело нажимайте "Читать далее".
Всем привет! Я Святослав, тестировщик в hh.ru. В интернете есть масса информации о том, как проводится техническое собеседование. Но почему-то все молчат о том, что происходит на командном этапе. В этой статье разберемся, как проходят командные интервью на примере нашего опыта. Рассмотрим формат, подводные камни и поговорим о том, как подготовиться и перестать бояться неизвестного.
Мы увлеченно наблюдаем за тем, как изменяется современный IT-рынок труда. Ежегодное проведение исследований стало для hh.ru доброй традицией, а их результатами мы регулярно делимся с Хабром в статьях вроде этой. Например, недавно мы писали о самых горячих технобрендах с точки зрения разработчиков, а сегодняшний материал посвящен исключительно продактам и проджектам.
Для удобства мы объединили в статье два исследования: опросы продактов и проджектов проводились отдельно. Мы опросили в общей сложности 764 специалиста, чтобы выяснить, где продакты и проджекты хотят работать и по каким критериям выбирают идеального работодателя. Ну, давайте к делу!
Всем привет! Я Настя — QA команды, которая занимается развитием и поддержкой публичного API hh.ru. В этой статье расскажу, как мы проверяем OpenAPI-документацию в тестах при помощи автогенерации классов и валидации.
Привет! Вот уже много лет мы держим руку на пульсе рынка и следим за развитием узнаваемости технических брендов крупнейших игроков. В этих исследованиях неизменно помогаете вы: проходите множество скучных опросов и отвечаете на тысячу душных вопросов. И все ради того, чтобы получить максимально возможные объективные результаты.
В новом исследовании мы опросили 1083 респондента и постарались разобраться, где хотят работать IT-специалисты сегодня, как ищут работу и по каким критериям представители разных технических областей выбирают работодателя мечты. Делимся результатами!
История о том, как искусственный интеллект помог hh.ru придумать проект на Чёрную пятницу и достичь ROI 10 900%.
Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru.
Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри использующих зависимости объектов. Затем частично начал применяться принцип инъекции, обычно через публичное свойство. На более крупных проектах можно было столкнуться с использованием DI‑библиотек, которые зачастую тащили за собой очень крупный блок плохо читаемого кода. При этом для решения проблемы чрезмерной связанности кода существуют элегантные и простые в использовании решения, которые не подразумевают использование сторонних библиотек.
В статье мы рассмотрим основы DI, поговорим о том, какую проблему решает этот принцип, окинем общим взглядом возможные варианты реализации: паттерны и популярные библиотеки. Подробно рассмотрим схему, по которой работает DI в многомодульном iOS проекте hh.ru. В конце статьи будет разобран пример простого приложения с аналогичным подходом к инъекции.
Привет! Меня зовут Олег Водянов, и я QA-инженер в hh.ru.
Свой путь в тестировании я начал в качестве джуна в далёком 2018 году. Всё, что мне тогда понадобилось для трудоустройства — это прочитать и законспектировать теоретическую информацию с сайта www.protesting.ru, написать пару запросов на SQL (самый сложный из которых был на объединение двух таблиц), перечислить несколько команд Linux и перевести небольшой отрывок текста с английского языка.
Сейчас же пройти этапы отбора, чтобы получить работу в этой области становится все сложнее. В основном это связано с сокращением количества вакансий и ростом ищущих работу специалистов из-за ситуации на рынке труда вследствие ухода многих компаний из России.
Мы провели опрос среди наших коллег-тестировщиков из hh.ru для того, чтобы на живом примере показать, что успешно войти на ИТ-рынок труда сейчас можно с любым бэкграундом, а также сподвигнуть на размышления о том, насколько сфера тестирования в принципе подходит именно вам.