- Как происходит трудоустройство в ИТ в Германии
- А если без опыта и технического образования?
- Пример собеседования
- 3 самых частых вопроса
- О чем также часто спрашивают: 50 популярных вопросов
Трудоустройство в Германии в IT
Собеседование при приеме на работу в ИТ-компании в Германии проходит по более или менее стандартной процедуре, включающей несколько раундов интервью для оценки как технических, так и нетехнических навыков (так называемых хард- и софт-скиллов).
Примечание: софт-скиллам QA-инженера у нас посвящен отдельный полный гайд. Также здесь статья, как пройти собеседование в западных компаниях, и/или если вы уже живете на Западе временно или постоянно (релевантны Канада и США, и Западная Европа).
Что касается Германии, то разумеется бывают различия в зависимости от компании и ее профиля, но в целом процесс трудоустройства стандартный и состоит из таких этапов:
1. Отправка резюме и первый созвон с эйчаром
Или, рекрутеру чрезвычайно понравилось ваше размещенное где-то резюме, и он сам обратился к вам. Итак, этот предварительный раунд состоит из общих, как правило нетехнических, вопросов о вашей биографии, мотивации, и опыте работы, а также ожиданиях по зарплате.
2. Техническое собеседование
Созвон, или личная явка в офис компании, для технического собеседования. В зависимости от ваших скиллов и востребованности, иногда сразу после разговора с HR-ом следует созвон с кем-то из технической команды. Подробно расспрашивают о технических навыках, опыте с теми или иными инструментами.
Именно этому, в принципе решающему, техническому этапу — посвящено подавляющее большинство вопросов в данной статье. Но нельзя недооценивать и софт-скиллы: ведь как бы ни были хороши ваши хард-скиллы, их еще надо уметь презентовать, и без развитых софт-скиллов это будет сложно; да и, в конце концов, очень приятного, целеустремленного, позитивного и умного человека — любая компания будет не против взять на работу, надеясь на то, что хард-скиллы он освоит в будущем.
3. Задание
Если речь идет о должности QA-автоматизатора (а скорее всего вы туда и подаете резюме), то после технического собеседования могут дать еще задание по программированию: либо онлайн на какой-то платформе; либо прямо на созвоне, вживую, одна или несколько задач, которые нужно решить все или бОльшую часть. Могут также дать задание на дом, которое надо решить как правило за несколько дней.
И если все ОК, справились,
4. Созвон или приглашение на беседу к главе QA-департамента или техническому директору
Так как техническое собеседование успешно пройдено, то предстоит «общая» беседа, с обсуждением условий работы. Если уж вас допустили к этому этапу, то как правило в конце воспоследует предложение.
Весь процесс трудоустройства в типичной немецкой ИТ-компании, от отправки резюме до финального собеседования, занимает примерно 4-5 недель.
QA Engineer/Software Tester без технического образования
Как устроиться на работу в ИТ в Германии, если с ИТ-образованием не сложилось, да и вообще с техническим бэкграундом не очень? Мнение Vivek Shringi, Director of Product Engineering в SinnerSchrader:
«Я работал в QA в Германии и Швеции, и по большому счету не вижу разницы в культуре и подходах. Гораздо больше зависит от компании и ее сферы деятельности — здравоохранение, авиация, финансовый сектор, и от отраслевых стандартов. Соответственно, порог входа для свитчеров без технического бэкграунда может сильно отличаться.
Сейчас абсолютное большинство компаний работают по Agile, вот это изменилось, по сравнению с временами, когда я пришел в QA. Циклы тестирования сейчас стали намного короче (1-2 дня), а когда-то было даже 3-4 недели только на выполнение тест-кейсов. QA теперь не «привратник на страже качества» как раньше, его задачи теперь более проактивные, сформулирую так: просвещать команду в вопросах качества ПО.
Сложно ли сейчас найти хороших тестировщиков в Германии? В принципе да. Немецкий рынок отличается от соседних стран тем, что процесс найма длительный, случается, что от первого созвона до подписания бумаг проходит полгода. Вообще, наблюдается нехватка персонала в QA, к тому же далеко не всегда профиль большинства соискателей и набор их скиллов тот что нужен компаниям здесь и сейчас.
Какой тип «идеального тестировщика», с моей точки зрения? Хочу сказать, во первых, что это не самая легкая профессия. QA — это достаточно сложно, если вы делаете все правильно. Для обезьяньего тестирования можно нанять и студентов, но… Современный тестировщик это: сегодня немного разработчик, завтра он немного бизнес-аналитик, а послезавтра выполняет задачу чуть ли не продакта, все в одном лице. В целом, хороший QA это:
- Развитые навыки problem solving
- Очень хороший коммуникатор
- Постоянно учится, осваивает новые скиллы
- Не боится челленджей
- Позитивно настроенный
Что могу сказать в целом о людях без технического бэкграунда, стремящихся в QA: тестировщику не так уж обязательно иметь техническое образование/бэкграунд. Если они есть, такой человек получает некоторое стартовое преимущество; но если их нет, не стоит отчаиваться.
Техническое образование/бэкграунд, и вообще технический склад ума для QA — это чем хорошо? Во первых, это упрощает коммуникацию с разработчиками (экономит их время), ты например можешь объяснить им сложные дефекты «на их языке». Также, коммуникацию с владельцем продукта, и клиентом. Также, ты лучше замечаешь высокоприоритетные, критические для бизнеса дефекты.
При всём при этом, техническое образование и бэкграунд — не так уж чтобы кардинально решают, будете ли вы хорошим специалистом. Их отсутствие — не блокирует вход в QA. Если вы сумеете «перекрыть» свой изначальный недостаток хард-скиллов — например, своим всегда позитивным настроем, адаптивностью и готовностью постоянно учиться — все будет прекрасно.
Если вы уже работаете, хотя бы в качестве стажера, то вам вполне доступна опция «развиваться в процессе» и освоить хард-скиллы на достаточном уровне за короткий срок. Тем более что сейчас QA это уже не та монотонная, изматывающая, ежедневная работа с 9 до 5, которую мы вспоминаем содрогаясь; это творческая работа, ее можно полюбить, и многому научиться.
Сложно ли будет осваивать хард-скиллы с ноля? Наверное, да. Но если вас уже взяли на стажировку, или хотят видеть вас на собеседовании, то значит вы небезнадежный кандидат, вы выглядите как человек, умеющий учиться.
Что насчет сертификатов, ISTQB или других: в Германии это точно повышает шансы на успешное трудоустройство. Особенно человека без технического бэкграунда.
Насчет рассказов на собеседовании, что вы хотите «просто попробовать свои силы в тестировании» или «потом стать разработчиком». Таких кандидатов сейчас много. Насчет «пробы сил», нужно понимать, что QA это особая профессия, достаточно сложная как уже говорилось, и без целенаправленных усилий по повышению своих хард- и софт-скиллов — получить хорошее надежное место скорее всего не удастся. Насчет желания «стать разработчиком после QA» — пожалуйста.»
Пример собеседования
О чем спрашивают, и как проводится техническое собеседование, один из примеров (компания SimplyTest GmbH):
- « … интервьюер сначала спросил возможные сценарии тестирования API;
- после этого задал много уточняющих вопросов, основанных на моих ответах.
- Далее было предложено рассказать, и нарисовать, стандартный пример из книжек по программированию: объектно-ориентированная иерархия указанных животных (к какому классу относится, какие свойства имеет, и т.п.).
- Далее нужно было написать код поиска, входят ли указанные координаты в четыре угла прямоугольника.
- Затем перевернуть двумерный массив.
- Затем было много вопросов по i18n, тестирование локализации и интернационализации.
- Тестирование веб-сервисов.
- Что делают при обнаружении дефектов после релиза.
- Собеседование завершилось небольшой серией «поведенческих» вопросов: примеры разных ситуаций, приходилось ли вступать в конфликт с мнением большинства (команды), и другое подобное. »
3 наиболее часто задаваемых вопроса, а также комментарии и ответы:
- В чем разница между QA, QC и software testing?
Коментарий: отвечая на этот (вступительный) вопрос по возможности подробно, вы демонстрируете, что хорошо понимаете, как эти (фундаментальные) вещи взаимосвязаны; это понимание важно для QA-инженера.
Краткий ответ: QC (Quality Control) — это анализ результатов тестирования и выявление дефектов; QA (Quality Assurance) — проверка выполнения стандартов и требований к продукту; тестирование ПО — проверка программного продукта на наличие дефектов.
(Более подробно о разнице между QA и QC — здесь).
- Опишите разницу между позитивным и негативным тестированием.
Комментарий: вероятно, интервьюер хочет убедиться, что вы понимаете важность негативного тестирования в QA.
Ответ: объясните, что позитивное тестирование направлено на проверку корректного функционирования программного продукта. Можно сказать, что это «если пользователь делает все как надо», так называемый happy path.
Негативное тестирование проверяет: что будет, если пользователь вводит неверную/некорректную информацию — как продукт реагирует на это.
Если у вас «промышленный» бэкграунд (допустим опыт работы на заводе), можно сказать, что негативное тестирование, если оно было бы внедрено на вашем производстве, оказалось бы особенно полезно для выявления ошибок персонала в действиях в производственном процессе.
(Подробнее о негативном тестировании)
- Что такое билд и релиз?
Комментарий: вопрос, касающийся технических, или хард-скиллов, показывающий ваш общий уровень понимания процессов обеспечения качества ПО.
Ответ (с точки зрения тестировщика): Билд (сборка), с точки зрения QA, это подготовленная к тестированию сборка, которая передается QA-команде; а релиз — это передача ПО конечному пользователю.
Другие популярные вопросы
- В чем разница между абстрактным классом и интерфейсом? Может ли класс одновременно наследоваться от абстрактного класса и интерфейса?
- Привести примеры багов с высоким и низким приоритетом
- Описать SDLC-цикл, и общепринятые сейчас методологии
- Очень типичный пример во многих собеседованиях: строка-палиндром, написать код проверки на Java/Python/JS
- Написать примеры тест-кейсов приложения заказа такси. Функциональные и нефункциональные
- Подобрать подходящие тестовые данные для заданного тест-кейса
- Очень много заданий с операциями со строками (поиск, перестановки, упорядочивание, удаление дубликатов, алгоритмы)
- Много вопросов по массивам
- Напишите примерный список тест-кейсов для Amazon Prime (стриминговый сервис)
- Очень много вопросов про условный карандаш и ручку. Или, “как бы вы тестировали блендер?”
Комментарий: « … цель — оценить ваш подходы к тестированию, знакомство с методологиями, общий интеллект и способность к творческому подходу в работе. Нужно уметь хорошо структурировать свой ответ. Примерно так: во первых, я бы выполнил быстрый дымовой тест, чтобы убедиться что ничего катастрофического не случится если я его включу; далее я бы провел пару вот таких и таких тестов, основных функциональных, чтобы гарантировать что главные требования соблюдены; когда видим, что в обычных условиях все работает нормально, дальше протестируем крайние случаи / негативные кейсы; здесь нужно уметь придумывать креативные кейсы, типа как блендер будет работать, если включить в розетку с другим напряжением; в общем, интервьюер хочет понять, как вы мыслите, как подходите к проблемам. Не стоит воспринимать условное тестирование карандаша/стула/блендера/кофеварки как простой глупый вопрос, на который можно ответить типа «просто включу и посмотрю как он работает» — это достаточно серьезный пункт собеседования; и это ну очень частый вопрос; нужно воспринимать подобный вопрос как один из решающих.»
- «Есть компании, у которых 80% вопросов на собесе «поведенческие», и только 3-5 вопросов по программированию, да и те элементарные: подсчет суммы двух целых чисел, удалить числа из строки оставив только буквы, операции с массивами и т.п. Но интервьюер требовал подробно отвечать на «поведенческие» вопросы и тщательно записывал все ответы».
- У вас два ведра, на 3 литра, и на 5 литров. Как отмерять ими 4 литра?
- Собеседование в Hangouts с шером своего экрана; стандартные задачи по программированию (5-10)
- Объясните разницу между нагрузочным и стресс-тестированием
- Почему ушли из прошлой компании (лучший ответ — потому что она закрылась, или поменяла профиль бизнеса; увольняют всегда худших сотрудников)
- Встречается достаточно много вопросов по SQL
- Изредка вопросы по комбинаторике: вы сегодня пойдете на собеседование, одеваетесь в темной комнате, у вас 18 серых носков и 25 черных, перемешанные. Какова вероятность правильно надеть носки?
- Вопросы по специальным методологиям разработки (напр. Six Sigma и Lean)
- Реже встречаются вопросы по прогрессиям, типа: у вас колба с 1 бактерией внутри, каждую минуту эта бактерия порождает две новых, а те в свою очередь тоже две новых и т.п.; начало наблюдения в 12:00; в 1 час дня колба уже полная; в какое время колба была наполовину полной?
- Вы плывете в лодке в бассейне; в лодке есть камень; вы бросаете камень в воду; после этого уровень воды в бассейне — повысится, упадет, останется тем же?
- Техники тест-дизайна: анализ граничных значений, переход состояний, таблицы решений
- Вопросы по Shell, какой командой переименовать
flinename1
наfilename2
? - На позицию сеньйора, заставили писать код не в IDE, а в Блокноте, при этом записывая видео действий
- У человека по имени Дхрам спросили, «что означает его имя, и кто дал ему это имя»
- Что такое listener в TestNG
- Опишите архитектуру типичного фреймворка мобильного тестирования
- Что такое HUD-файлы (это тестирование игр)
- Вопрос по QTP: есть два всплывающих окна с одинаковым
object id
, как с ними работать? (хинт: QTP записываетproperty
времени создания, в первомcreationtime
=0, во втором =1 ) - На любом ЯП: парсить лог, поиск ключевой фразы в определенном диапазоне дат, вывести найденное в отдельный файл
- В чем разница между POST и GET
- Знание международных стандартов качества ПО (ISO 9001)
- Разница между тест-кейсом и тестовым сценарием
- Тест-кейсы снятия налички в банкомате, позитивные и негативные
- Веб-тестирование: методы наведения мыши, класс
Actions
- В чем разница между
driver.window_handles
иdriver window_handles
(без точки) - Локаторы Selenium
- Синтаксис XPath и оси
- REST API, инструменты и тестовые стратегии
- WebDriver: написать простой happy path сценарий
- Почему Agile намного мощнее и выгоднее чем Waterfall
- Что такое OWASP Top Ten (тестирование безопасности)
- Статус-коды HTTP
- В чем разница между верификацией и валидацией
- Мобильное тестирование: команды adb shell
- Из чего состоит баг-репорт, детально
- Java: разница между
throws
,throw
иthrowable
- Разница между санити- и смок-тестированием, регрессионным и ретестом