Всем привет! Я Настя — QA команды, которая занимается развитием и поддержкой публичного API hh.ru. В этой статье расскажу, как мы проверяем OpenAPI-документацию в тестах при помощи автогенерации классов и валидации.
Исследование: самые горячие технобренды России
Привет! Вот уже много лет мы держим руку на пульсе рынка и следим за развитием узнаваемости технических брендов крупнейших игроков. В этих исследованиях неизменно помогаете вы: проходите множество скучных опросов и отвечаете на тысячу душных вопросов. И все ради того, чтобы получить максимально возможные объективные результаты.
В новом исследовании мы опросили 1083 респондента и постарались разобраться, где хотят работать IT-специалисты сегодня, как ищут работу и по каким критериям представители разных технических областей выбирают работодателя мечты. Делимся результатами!
ChatGPT + Kandinsky, или формула рекордного ROI на Чёрную пятницу
История о том, как искусственный интеллект помог hh.ru придумать проект на Чёрную пятницу и достичь ROI 10 900%.
Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru
Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru.
Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри использующих зависимости объектов. Затем частично начал применяться принцип инъекции, обычно через публичное свойство. На более крупных проектах можно было столкнуться с использованием DI‑библиотек, которые зачастую тащили за собой очень крупный блок плохо читаемого кода. При этом для решения проблемы чрезмерной связанности кода существуют элегантные и простые в использовании решения, которые не подразумевают использование сторонних библиотек.
В статье мы рассмотрим основы DI, поговорим о том, какую проблему решает этот принцип, окинем общим взглядом возможные варианты реализации: паттерны и популярные библиотеки. Подробно рассмотрим схему, по которой работает DI в многомодульном iOS проекте hh.ru. В конце статьи будет разобран пример простого приложения с аналогичным подходом к инъекции.
Войти в ИТ через тестирование: опыт QA-инженеров hh.ru
Привет! Меня зовут Олег Водянов, и я QA-инженер в hh.ru.
Свой путь в тестировании я начал в качестве джуна в далёком 2018 году. Всё, что мне тогда понадобилось для трудоустройства — это прочитать и законспектировать теоретическую информацию с сайта www.protesting.ru, написать пару запросов на SQL (самый сложный из которых был на объединение двух таблиц), перечислить несколько команд Linux и перевести небольшой отрывок текста с английского языка.
Сейчас же пройти этапы отбора, чтобы получить работу в этой области становится все сложнее. В основном это связано с сокращением количества вакансий и ростом ищущих работу специалистов из-за ситуации на рынке труда вследствие ухода многих компаний из России.
Мы провели опрос среди наших коллег-тестировщиков из hh.ru для того, чтобы на живом примере показать, что успешно войти на ИТ-рынок труда сейчас можно с любым бэкграундом, а также сподвигнуть на размышления о том, насколько сфера тестирования в принципе подходит именно вам.
Как лучше проводить one-to-one со своими сотрудниками: 5 лайфхаков из личного опыта
Если вы занимаете руководящую должность, очень важно регулярно проводить индивидуальные встречи с сотрудниками из своей команды. “Зачем, если я и так вижу их каждый день, и мы обсуждаем все, что происходит?”. Эти встречи не только помогают понимать, как чувствуют себя коллеги, но и дают возможность откровенно дать и получить обратную связь без посторонних. А также предполагают, что оба участника будут готовиться к собранию, рефлексируя насчет прошедшего периода после предыдущей встречи.
Я Алексей Анисимов, в настоящий момент управляю юнитом разработки в hh.ru и уже 10 лет руковожу разными людьми и командами в области ИТ. За это время я провел большое количество встреч 1 на 1 с сотрудниками — попробовал различные варианты, сталкивался с трудностями и совершал ошибки. Все это в результате помогло мне выработать для себя определенные принципы проведения индивидуальных встреч, которыми я хочу поделиться в статье.
Переводим документацию API из Markdown в OpenAPI
Всем привет! Я Ира — тимлид команды, которая занимается развитием и поддержкой публичного API hh.ru.
Несколько лет назад к нам пришли ребята из мобильной команды и сказали, что хотят документацию в OpenAPI формате. Для них это удобно, потому что можно генерировать DTO прямо из документации и не писать их руками. В то время у нас было выставлено около 100 URL, некоторые из них достаточно сложные. Например, в нашей документации у резюме есть три формата: нано, микро и полное. Каждый формат расширяет следующий, но теоретически могут быть и какие-то отличия, и это надо было изучать. В полном формате резюме более 30 полей и некоторые из них представлены в виде объектов. И такой URL у нас не один. Мы знали, что перевод документации на OpenAPI займет очень много времени, и в процессе мы, вероятно, столкнемся с трудностями (о них расскажу в статье), но при этом также понимали, что в долгосрочной перспективе мы получим от этого и много плюсов, поэтому решили попробовать. Что из этого получилось — читайте в нашем кейсе.
Оценка тестового покрытия интеграционных тестов с помощью JaCoCo. Инструкция к применению
Всем привет! Меня зовут Александр и в hh.ru я занимаюсь решением инфраструктурных (и не только) задач, касающихся автотестирования. В статье я опишу один из подобных кейсов.
Kaspresso для самых маленьких
Привет! Меня зовут Элчин, я занимаюсь автоматизацией мобильных приложений в hh.ru и расскажу вам о том, как написать первый тест на Android. В разработке автотестов мы используем Kotlin и нативный фреймворк Kaspresso, о котором я напишу подробней в этой статье.
Разбор задач Школы программистов 2023
Школа программистов hh.ru 2023 успешно стартовала, а значит пришло время традиционно показать вам задачки со вступительных испытаний. В этой статье мы разберемся, как устроен отборочный тур изнутри и разберем решения задач этого года. Мы так уже делали: последние материалы с разборами можно посмотреть здесь и здесь. Поехали!
Зарплаты и конкуренция на IT-рынке труда в России сегодня
Всем привет! Каждый год мы в hh.ru проводим множество исследований рынка труда и традиционно делимся с вами самыми горячими результатами. В этот раз наши аналитики вновь перелопатили тонну данных, чтобы выяснить, какие зарплаты сегодня предлагают в IT, насколько изменились доходы в вакансиях, как сильно отличаются зарплаты сеньоров и джунов, в каком регионе готовы платить самые большие деньги, и насколько высокая конкуренция сложилась в 2023 году.
“В детстве мы хотели попасть в открытые космос, но выросли и попали в open space” — гласит бородатая шутка. Сегодня многие хотят стать не абстрактными космонавтами, а сразу вполне конкретными программистами, и это понятно. За последние годы IT-сфера стала для соискателей словно Эльдорадо для конкистадоров — самым желанным и привлекательным вариантом для трудоустройства. В этой статье мы подробно разберемся в современных IT-зарплатах и конкуренции. Но сначала проведем краткий обзор ключевых моментов современного IT-рынка труда.
Ускоряем сборку за счёт миграции с kapt на ksp
Всем привет! Меня зовут Катя Гущина, я — Android-разработчик hh.ru. Хочу поделиться нашим опытом отказа от kapt в пользу ksp для обработки аннотаций и ускорения скорости сборки в большом проекте. В этой статье расскажу, что такое ksp, почему мы решили на него перейти, как проводили исследование и что из этого получилось.
Stonks-оценка грейдов QA-инженеров
Хотим поделиться опытом в области развития QA-инженеров и получения продуктивной обратной связи. В этой статье разберемся, как оценить уровень навыков QA-специалиста.
Тестировщики тоже продакты: как убедить команду разработки пилить непродуктовую фичу
Всем привет! Меня зовут Максим, я работаю тестировщиком в команде Pandora в hh.ru. Наша команда занимается доставкой сообщений пользователям: писем, пушей, смс, сообщений в VK и авторизационных звонков. Подробнее об этом можно почитать в другой статье. У нас была такая проблема: все инциденты, которые не смог решить саппорт, направлялись на уточнение и перепроверку мне. И вот эти 100 запросов и задач в квартал не только фатально сбивали меня, но и тормозили всю команду разработки. Так дальше продолжаться просто не могло.
В этой статье поделюсь историей о том, как я продвинул в команде идею по доработке нашего сервиса для технической поддержки — Aid. Новые фичи призваны дать саппорту возможность самостоятельно решать инциденты с уведомлениями для наших клиентов. А это в свою очередь ощутимо разгрузит меня и разработчиков от задач такого рода.
Нагрузочное тестирование в hh.ru
Никому не нравится, когда грузят. Только если это не микросервис в hh.ru.
Всем привет, меня зовут Илья, я бэкенд-разработчик в команде Архитектура. В этой статье я немного расскажу про нагрузочное тестирование у нас в компании и не только.
Внутреннее обучение Java для QA
Всем привет! В статье расскажем про внутреннюю программу обучения для QA. В наших продуктовых командах все QA-инженеры пишут автотесты, для этого мы используем связку Java+Selenium. У всех разный уровень владения инструментами и опыт программирования. Чтобы выровнять уровень владения Java в командах и помочь новым сотрудникам быстрее влиться в нашу среду автотестов, в 2022 году мы решили сделать внутреннюю программу обучения, определив минимально необходимый уровень владения технологическим стеком. В статье поговорим о том, как мы создавали нашу программу, расскажем, из чего она состоит и разберем нюансы.
Как бесплатно запустить DAST на базе OWASP ZAP Automation Framework на своем проекте
Привет, меня зовут Олег Рыбченко, я работаю QA инженером в hh.ru. Количество атак на IT-инфраструктуру сегодня растет в геометрической прогрессии — об этом свидетельствуют многочисленные упоминания во всевозможных СМИ, так что не будем в очередной раз приводить графики и статистику. Разумеется, в таких условиях все больше компаний хотят позаботиться о безопасности своих сайтов и начинают проявлять интерес к современным автоматизированным инструментам по обнаружению уязвимостей.
В статье разберемся, как можно реализовать и получить полноценные отчеты динамического анализа с подробно описанными потенциальными уязвимостями с помощью DAST.
Как работает E2E-тестирование в hh.ru
Всем привет! Меня зовут Алексей, в hh.ru я занимаюсь автотестами и их инфраструктурой.
hh.ru — довольно большой продукт: 150+ микросервисов и 50 команд разработки. Большинство команд пишут E2E-тесты, и на текущий момент написано уже около 1800 тестовых классов, в которых примерно 8000 аннотаций @Test. Как со всем этим жить и как вообще устроено E2E-тестирование в hh.ru разберемся в сегодняшней статье. Поехали!
Миф о комбинаторике в тестировании
Неважно, какие методологии, процессы, языки и фреймворки вы используете. В любом тестировании программного обеспечения всегда присутствует тест-дизайн, сужающий генеральную совокупность всех возможных проверок до какой-то реалистичной выборки. Тест-дизайн можно разбить на несколько уровней сложности, и где-то в середине пути мы встретимся с комбинацией данных в элементах системы. Но не везде упоминают, что используемая в тестировании комбинаторика очень ограничена в применении, об этом мы и поговорим в статье. С примерами, конечно.
Мобильная аналитика в hh.ru и не только
В любом мобильном приложении нужно четко понимать, как с ним взаимодействует пользователь. Для этого добавляется аналитика, по которой мы можем отслеживать различные действия пользователя внутри приложения. Меня зовут Тимур Шафигуллин, в этой статье я расскажу, как устроена мобильная аналитика вообще и в hh.ru в частности.