[Об авторе: Алексей Лупан — QA Trainer в Astound Commerce, неоднократный докладчик SQA Days, QA Fest и других конференций по тестированию ПО]
Всем Hi! В
Общий контекст
К
Весной
Что раздражало: начинающим правильно говорили о том, что тестирование проще освоить, чем программирование, но:
- поначалу и программирование дело несложное;
- начинающие не понимают разницу между «проще» и «просто»;
- рекламировались школы-курсы по-дурацки не очень грамотно, агрессивно, с упором на «высокие зарплаты» и «быстрый карьерный рост», хотя это всё не для начинающих.
В 2015 году на DOU насчиталиуже 70 школ и учебных центров и (округлим) 30 000 выпущенных ими студентов в 19 городах Украины. Не все они тестировщики, но тестирование остаётся самой популярной темой для обучения. Так или иначе, с мая
В
Сегодня
Процесс роста квадратной сферы украйти ещё не завершился. Прямо сейчас на jobs.dou.uaв разделе QA открыто 394 вакансии (по всей стране). За период
Но этого не происходит. Новые тестировщики не проходят даже первый уровень собеседований. Значит, что-то пошло не так.
Что пошло не так? Что происходит сегодня? Что будет завтра?
Мне попался на глаза опрос «Нужны Ли Курсы Тестирования?»
«Старая школа»
Общий вывод опроса таков: подавляющее большинство тестировщиков в Украине — «середняки» с опытом работы «до 3 лет». То есть на рынке очень мало тестировщиков с минимальным и максимальным опытом работы. А те люди, которые сейчас находятся на рынке, проходили курсы по обучению сравнительно недавно и попадают в диапазон между «знает о работе» и «умеет работать».
Это подтверждают и данные Джинна — на портале 566 профилей тестировщиков с опытом «более 3 лет» и более 1700 профилей «менее опытных».
Согласно результатам упомянутого опроса, среднее время поиска работы у тех, кто заявил о самостоятельном обучении, редко превышало месяц.
Современные тестировщики ищут работу в течение года, это уже считается нормальным о_о
Неочевидный вывод (на уровне ощущения): люди с опытом работы «больше трех лет» осваивали профессию тестировщика самостоятельно, бо они пришли в профессию в период
Ловушки мышления и логические цепочки
Извечна и неизменно шаблонна психология человеческая.
Наблюдающему со стороны всегда и всё кажетсяоднозначным и даже элементарным. Кажется, что для того, чтобы преуспеть в чём-то, надо всего лишь УВИДЕТЬ правильный путь и проследовать по нему. Например, чтобы быть социально защищенным:
- нужно хорошее образование,
- бо оно ключ к хорошей работе,
- а хорошая работа = уверенность в будущем.
Если исходить из соображения о том, что работу и образование нам «дают», следовательно, надо сперва «получить» образование, чтобы затем «получить» работу. Такая вот «цепочка».
Но это вранье и самообман. Можно пройти первый шаг (образование) и не продвинуться дальше, бо нет прямой зависимости между образованием и работой.
Но хочется всё видеть (и получать) упрощено. Люди, которые сегодня учатся тестированию, очень похожи на обычных школьников, которые твёрдо знают, что «сперва надо получить образование» для того, чтобы получить гарантированный результат по итогам будущего собеседования. Это логично, но одновременно — неправильно.
Предсказание: даже если все человеки будут понимать, что вышеописанная логическая цепочка фальшива и неправильна, ею все равно будут руководствоваться еще много лет и будут идти на курсы бодрым строем.
Обычно у тех, кто принимают установку «сперва образование», дальше всё развивается так: «Если кто-то меня не научит, то самостоятельно я не научусь». У представителей «старой школы», лишённых разнообразия курсов, принуждённых к самообразованию, это самое самообразование останется как сильнейшее и ценнейшее преимущество.
Эта ловушка мышления затягивает даже тех, кто понимает, что можно сделать по-другому. В идеальном прошедшем времени начинающим тестировщикам приходилось «делать по-другому», бо в рунете выбор книг был поменьше, и если начинающий Канера «не осилил», то и в тестирование идти незачем.
Лет пять назад тестировщики писали в своих резюме о том, что владеют Microsoft Excel и Word. Судя по сегодняшним резюме, уже никто не умеет в Excel и Word. Зато большинство перечисляют успешно завершенные ими курсы по тестированию, как правило, по две штуки (попадались и по четыре). Это им не помогает, но все приходящие продолжают делать всё то же самое, что до них уже сделали другие, бо им кажется, что секрет в том, чтобы попасть на «правильные курсы». Ну или посмотреть «правильное обучающее видео про тестирование». Ну или подписаться на инстаграм какого-нибудь тестировщика, чтобы регулярно на него смотреть. Известно, что если долго смотреть на тестировщика, сам со временем станешь тестировщиком.
К слову, о книгах. О том, какие книги надо прочитать начинающим тестировщикам, я написалв
С каких пор стало проще и эффективнее пройти несколько курсов по тестированию, чем прочитать Канера?
Учиться у практика...
Среди преимуществ курсов всегда заявляется то, что преподаватели — тестировщики с пухлым ЧСВогромным опытом.
Это и логично, и хорошо для привлечения аудитории. Но это так же неправильно, как начинать учить английский язык с его «носителями», при этом постоянно находясь в украино- или русскоязычной среде.
Чтобы выучить иностранный язык, нужно сперва понять, как он устроен, понять его логику, его фонетику, его особенные особенности. Надо «копать теорию», а не сразу «Шпрехен лез энглезиас» с его носителями.
В тестировании всё то же самое: у практика можно научиться навыкам и шаблонам поведения. Практик делает все быстро и, зачастую, уже неосознанно. Он даже не объясняет, почему он «так» делает, бо «неосознанная компетентность» же. Этот навык шикарен для работы, а для начинающего он как раз вреден, бо начинающему нужно объяснять, а не «показывать».
Задача у начинающих более примитивная — надо просто показать своё «умение работать», отсюда и пресловутое «Просто покажите, как это делается, а я потом пойму!». Увы.
В том же опросе почти 50% респондентов заявляют о нехватке практики в ходе обучения.
Погодите, то есть заявлено, что обучают их практики, но именно практики ученикам и не хватает... Разгадка простая: одной только практикой начинающие не «делаются», особенно в тестировании, которое состоит чуть менее, чем полностью из абстрактных феноменов и абстрактных же способов работы с абстрактными же сущностями. В этом смысле тестирование от программирования, музыки и игры в шахматы вообще почти не отличается.
Курсы не готовят к работе
Дальше результаты опроса еще интереснее: половина опрошенных указала, что курсы оказали огромноевлияние на получения работы в сфере тестирования. А четверть ответила, что курсы никакна это не повлияли.
Давайте подумаем.
Основная логическая цепочка, которая привлекает людей на обучение, характеризуется словом «однозначность»: «Я приду на курсы, значит, меня подготовят, и значит, меня возьмут на работу». Это логично. Но это ложь.
Спрос на рынке обучения тестированию создают безработные. Со временем им начинают продавать только то, что они хотят купить: удлинённую подготовку к прохождению собеседований.
Те, кто идут учиться, ожидают, что они будут кем-то научены и именно тому, что необходимо, а тому, что необходимым не является, они научены не будут. Это тоже логично и тоже ложь. И бред.
Непредсказуемый для окружающих профит от курсов получает тот, кто уже умеет «учиться самостоятельно», бо у него мотивация внутренняя. Остальные получают почти предсказуемый fail.
А посмотрим на это всё с точки зрения работодателя: нужен работник (а не ученик), и неважно, где и как и почему он уже научился работать. Простейшие ожидания работодателя от курсов следующие: «Человек пришел с курсов, значит, он подготовлен к работе».
«Да, но нет» © Да, курсы готовят студентов к работе, но нет, они не выпускают подготовленных работников, и не ждите от них большего. Все равно надо организовывать собеседование.
Из неочевидного: хорошими надо считать только те курсы, выпускников которых работодатели будут брать безо всяких собеседований. А «реальными» будут признаваться курсы, которые будут обеспечивать нужды проектов в частности, а не «нужды рынка» вообще.
Из неизбежного: чем больше будет курсов для тестировщиков... тем хуже будет. С какого-то момента они все начнут усредняться, бо это логичный, неизбежный процесс. Он уже случился для курсов по вождениюавтомобиля в Киеве.
Например, какие курсы айтишников в Киеве лучше? Чем отличаются их выпускники? Цветом футболок?! Из-за того, что все курсы неизбежно усредняются, выбирать работника «по диплому» очень скоро станет невозможно.
Университеты vs курсы
Университет — это место для научной работы. В идеале университетом можно считать большую библиотеку, в которой можно получить какие-то знания. При этой библиотеке постоянно присутствуют люди, которые в ней разбираются и которые могут объяснять то, что написано в книгах. Очевидно, что большому делу (например, компьютерные науки в общем) надо учиться в университетах, при библиотеках.
Наши университеты так не работают, и тестировщиков там не «выращивают». Для учёбы основам тестирования ПО в современной Украине курсы безальтернативны.
Но погодите. Структурно краткосрочные курсы от долгосрочного вузовского образования ничем не отличаются. Просто вуз — это курсы длиной в несколько лет. А курсы — это вуз длиной всего лишь в несколько месяцев.
Отсюда следует парадоксальный вывод: новичкам краткосрочные курсы нужны меньше всего. Они нужны взрослым тестировщикам, которые на курсы не ходят.
Новичкам нужно осваивать основы компьютерной грамотности — понимать, что такое браузер, как и почему он работает, понимать, почему консоль рулит, понимать файловую систему. Эти знания очень общие, не привязанные к чему-то определенному, и, к сожалению, они нарабатываются годами. Это всё, что вам надо знать. Буквально, это всё то, что надо знать до того, как начнёте думать о профессии в IT. Даже больше — именно этот свод «подспудных» знаний предопределяет будущую профессию.
Переформулирую: если «долгосрочно образованный» человек пойдет на краткосрочные курсы — профит будет. А если «необразованный» в компьютерных науках пойдёт на краткосрочные курсы — профита не будет.
Очевидно, что «краткосрочно подготовленные» тестировщики работать ещё не могут. Как некоторые исключения, компании берут тестировщиков на вырост в надежде, что адекватный пацан, может, вырулит. Но это исключения, которые невозможно запланировать. Компаниям вообще разумно не брать на работу джуниоров, потому что на работе надо работу работать, а не учиться.
Краткосрочность курсов неискоренима, ну да и чёрт с ней. Время на обучение — практически физиологическая величина. Это время, необходимое на физиологическую перестройку мозга. Невозможно просто объяснить какую-то тему за два часа и быть уверенным, что тема понятна. Она услышана, но она еще должна быть осознана.
Именно в этом хороши вузы — долгосрочность, многолетность, повторяемость одного и того же термина в различном контексте на протяжении нескольких лет таки приводят к пониманию, осознанию и определению термина или же феномена, который он описывает.
И вот очевидное-неприятное: те, кто начинает работу с самостоятельного действия, впоследствии учатся так же самостоятельно и действуют в стиле «Я не знаю — ща буду что-то соображать», а не «Я не знаю, сперва научите меня».
Собеседования
С точки зрения работодателей — собеседование проводят для того, чтобы выяснить способности решать задачи, а не для того, чтобы увидеть, понимает ли кандидат разницу между верификацией и валидацией (обычно нет, но мы надеемся же). По-умолчанию эти понятия присутствуют в тестировании постоянно, хотя редко озвучиваются. Когда человек понимает разницу между верификацией и валидацией — тестирование начинает быть осознанным. Если же понятия известны только потому, что «запопугаил» их, то и осознанности нет.
Студенты (бывшие школьники) верят в то, что «пойдёшь на работу и начнёшь там учиться по-новому, как следует». Да это бред! Сначала научись выполнять задачи, потом приходи на работу. Через этот барьер перескочить невозможно, ибо этот барьер очень логичен, с точки зрения работодателя, конечно.
То есть, если начинающий тестировщик написал в своём резюме «я быстро обучаем», то ему следует, не выходя из дома, быстро всему обучиться. Логика же.
Не учить, а тренировать
Ок, предположим, что университеты могут научить основам, а курсы, ввиду их краткосрочности, могут обучить только тому, что востребовано на рынке. Тогда логично рассматривать процесс образования тестировщиков так: сперва фундаменталистикав университете, затем сиюминуточностьна курсах (для выпускников университета).
Но и эта схема адекватна лишь частично, бо тестировщиков нужно даже не учить, а тренировать. Мне кажется, что это ключ к изменениям.
Есть категорическая разница между лекцией и тренингом:
- Лекция — это рассказ о том, что существует некий предмет/феномен, у которого есть такие-то свойства и особенности. Та самая «абстрактная» теория.
- Тренировка (training по-вашему) — сперва предложить самостоятельно выполнить задание, даже если студент не знает и не понимает, что конкретно надо делать. Те, кто не способны дальше продвигаться, на этом сломаются и остановятся. Те, кто всё же попробовал что-то сделать (даже если не получилось), смогут двинуться дальше с уже хоть каким-то собственным пониманием того, что происходит, и как это можно разруливать. И тут уже придёт теория с объяснением, почему что-то не получилось, и что надо сделать, чтобы получилось.
Тестированию нужно тренироваться, а не учиться по-школьному.
Школа вообще умеет вбивать в нас жёсткие установки, например, «если примешь неправильное решение, будешь наказан». На работе мы ошибаемся чаще ожидаемого, и даже не всегда точно знаем, что у нас получится в итоге. Надо научиться не бояться ошибаться и предусматривать всё заранее (одно другому не противоречит).
Вот самые вредные привычки мышления, которые воспитывает школа:
- придание важности любому личному мнению;
- решение только поставленных задач;
- стремление получить одобрение окружающих;
- даже если ты чего-то не понимаешь до конца, ты всё равно должен ответить определенным образом;
- безоговорочное доверие авторитетам. [копать дальше eng, рус]
«Обучение на курсах» делают бывшие школьники, которые школу ненавидят, и они обучают тоже бывших школьников, которые тоже не любят школу, и делают это строго по-школьному: домашнее задание, оценки... Ненормально это все (хотя и бывает смешно).
Одни только лекции о тестировании ПО ведут к прививанию абстрактного знания о тестировании ПО. Логично же.
Курсы, на которых учат в общем, всегда будут выпускать «абстрактных тестировщиков», ибо ничего другого они не сумеют сделать. Чему именно надо обучать будущих тестировщиков, если мы не знаем, где они будут работать? Чему их учить?! Тестированию десктоп, веб, основам... основам чего? Тому, что сейчас на рынке востребовано? А что сейчас востребовано на рынке? Когда оно перестанет быть востребовано? Веб — он разный бывает. Мобайл — постоянно меняется. Чему именно надо учить? Конкретным технологиям или общим принципам?
Вывод: не надо учить тестированию в общем, надо учить частностям. И не учить, а тренировать, так, как учат боксу, шахматам, плаванию, пальцевому захвату Уси. Бокс — это не командное обучение, хотя есть единый для всех свод знаний. Каждое обучение боксера происходит личностно, каждый боксер учится сам, и у каждого бокс получается по-разному. И это нормально.
Как это сделать
Как главный тренер «QA Boot Camp», которые Astound Commerce почти ежегодно проводит с
Со стороны эти «бут кэмпы» воспринимаются как «бесплатные курсы с последующим трудоустройством», на которые можно просто записаться всем желающим, но нет, это не бесплатные курсы. Это необычная форма обычного рекрутинга, с предварительным отбором и с принудительной тренировкой у кадетов навыков мышления «здорового тестировщика». И поскольку тестирование — не то занятие, которым могут заниматься все-все-все, мы сперва выбираем, кого будем учить.
Успех обучения почти полностью обусловлен однородностью учебной группы, поэтому отбор кандидатов прост и однозначен (подходит / не подходит) и обсуждению не подлежит.
Сперва мы собираем анкеты кандидатов (вопросы там заковыристые, но обоснованные, несущие множество информации о каждом кандидате). Затем на «живые» собеседования попадают только те, кто прошел этап безличностной проверки анкет. В итоговой группе — только те, кто «выжил» после отборочного собеседования.
Список тем обучения достаточно обычен. Но упор не на рассказах о том, что «тестирование бывает всяким», а на развитии навыков самостоятельной работы будущих тестировщиков. Тестирование надо «уметь».
Учебный процесспредставляет собой сплошную тренировку вперемешку с объяснениями того, как и почему в тестировании устроено то и это, и третье, и десятое. Форма этого процесса сложилась эволюционно, я несколько лет искал правильный рецепт обучения тестировщиков, делая предположения, ставя эксперименты и молчаливо делая выводы. Эволюция этого процесса ещё не завершилась, бо это дело такое, «живое», сильно зависимое от отклика и вовлеченности каждого студента по-отдельности.
Занятия проходят на протяжении трех месяцев по несколько раз в неделю (кагбэ мало, но это результат эволюции множества компромиссов, бо дело затратное сразу во многих плоскостях) и нацелены на то, чтобы у кадетов «прояснилось» в голове то, что школа уже давно закончилась, и учиться надо по-другому, что надо придумывать (самостоятельно!) решения задач, что надо делать выводы (самостоятельно!), что надо и можно ошибаться, что можно экспериментировать, что нет единственно правильных решений, что надо и можно гуглить, спрашивать, переспрашивать, уточнять, сомневаться и вообще можно быть ответственной занудой, и это нормально.
Другой фактор «правильности» учёбы: разные темы поочередно рассказывают разные тренера (тимлиды/сеньоры). Раньше я сам вёл все темы в бут-кэмпах, от старта до финиша, но у этого подхода наряду с плюсами есть и недостатки (привыкаешь к одному «менеджеру», а работать надо будет с разными), поэтому несколько тренеров — рулез и мастхэв.
На последнем занятии устраивается выпускной экзамен, в ходе которого кадеты получают простое, но боевое задание — требования к какой-то функциональности на одном из наших «учебных» проектов, доступ к этому проекту, доступ в Jira и предложение за три часа «протестировать всё, что сможете» с репортом найденных багов (буде таковые найдутся).
Затем имена студентов шифруются (обычно заменяю их рандомными названиями стран с карты мира), результаты экзамена сохраняются в отдельных файлах и передаются на «слепую» проверку нашим тимлидам. Такой экзамен очень хорошо показывает уровень умения, который сложился у каждого студента после обучения «здесь и сейчас».
И самое сложное и ценное: наблюдение за каждым студентом на протяжении всего процесса обучения. Общее резюме составляется из трекинга множества мелочей: скорость выполнения задач, написание отчетов о прошедших занятиях, полнота этих отчётов, посещаемость, вовлеченность в общую работу, реакция на задачи, способы поиска решений — всё это складывается в обзорные отчёты от каждого тренера про каждого студента в частности.
Итоги обучениявсегда непредсказуемы. Мы очень стараемся с самого начала собрать в группу только тех, кто обладает наибольшим потенциалом, и проводим весьма агрессивную, но результативную систему группового обучения и стараемся «дотянуть до выпуска каждого», не допуская отставаний. Но ремесло тестировщика всё-таки остаётся личностным умением (помним про боксеров?), поэтому в итоге все тестируют одно и то же, но по-разному. Это очень хорошо видно, и ничего с этим не поделать.
Прошедших «экзамен» ожидает обыкновенное собеседование с менеджерами компании, по итогам которого кто-то получает оффер, а кто-то нет.
Большинство тех, кто не получили оффер после бут-кэмпа, уходят в другие компании. Оставшиеся заходят на наши проекты, и ввиду пройденной подготовки, заходят весьма шустро.
Есть примеры того, как бывшие бут-кэмповцы, которые «срезались» на первом собеседовании, через какое-то время возвращались к нам и успешно проходили собеседования.
Что нас ожидает в будущем
Далёкое будущее, конечно, за включением знаний о компьютерных науках (и о тестировании) в школьную программу, но это неоднозначно. Пока что будет достаточно того, что существующие курсы начнут готовить тестировщиков для определённых компаний.
Предсказание: современные курсы когда-нибудь «закончатся». Выжившие будут ассимилированы корпорациями, бо это нормальное бизнес-решение. Курсы в принципе готовят работников для корпораций, бо крупные работодатели же, все дела. Следовательно, будущее — за курсами, которые готовят к работе в определенной компании. То есть готовят к тестированию и вообще, и с учётом контекста, в котором надо будет работать.
Более «обозримое» будущее в том, что курсы со временем попытаются подтянуться к академической среде в IT, ибо на одной только практике мы не вырулим, нужно создавать и собирать библиотеки со знаниями, что неизбежно ведет к появлению тематических институтов, которые позже объединяются в университеты. Можно считать, что будущая академическая среда украинского айти сегодня формируется в так называемых «внутренних центрах обучения» при крупных компаниях.
Наверное, надо встречать это будущее с широко открытыми глазами.