Фразу «Тестирование — IT-направление с самым низким порогом входа», слышали даже люди, далекие от сферы информационных технологий. Именно QA зачастую рекомендуют как стартовое направление для желающих «войти в IT». Но так ли всё просто?
О том, что собой представляет область Quality Assurance, как начать карьеру тестировщика и какими качествами нужно обладать QA-инженеру, мы спросили у опытного специалиста — Николая Головко.
Краткая информация. Николай Головко, Software Testing Team Leader. 7+ лет опыта. Работал с Ruby, Selenium IDE, MySQL, PL/SQL Developer, VM, MS Visual Studio, TFS, Jira, HP ALM. Сертифицированный тестировщик программного обеспечения.
Я работаю тестировщиком уже довольно давно: начинал в далёком 2012-м году студентом универа, потом попал в лабу IT-компании и с тех пор прошёл путь до управляющей позиции. В моём университете прямо в программе специальности была дисциплина «Тестирование». Поэтому, ещё будучи студентом, я уже знал, куда пойду дальше. И не прогадал.
В данный момент будет точнее сказать, что я работаю менеджером по тестированию, т.к. моя позиция называется Software Testing Team Leader. У меня в прямом подчинении 25 человек.
В универе у нас были не только языки эсперанто, типа Pascal и Prolog, но и вполне себе современные «плюсы», C#, Java, современные паттерны программирования, два семестровых курса по SQL и даже предмет, который так и назывался – ООП. Но, не смотря на огромное количество всякого разного программирования в учебной программе, чистое программирование меня никогда не интересовало. Я решал с его помощью прикладные задачи, которые могли облегчить мне жизнь, но старания преподов по численным методам, нейронным сетям и прочим искусственным интеллектам не помогли — мне всё равно нравилось ломать, находить уязвимости и бреши в системах.
Сейчас новичкам проще найти себя в IT. Существует множество сервисов, которые помогают с профориентацией. Например, Pathfinder. Работает он просто: проходишь тест, вносишь честную информацию о своих навыках и интересах, и на основе этой инфы, Pathfinder подбирает наиболее подходящие для тебя направления.
Как и любому студенту, стипендии катастрофически не хватало. Я стал искать, как же можно применять все свои навыки на практике и получать за это деньги. В результате я прошёл отбор и попал в лабу EPAM, где «зелёных» студентов обучали мастерству и всем подводным камням тестирования. Тут уже все было на более солидном уровне.
Мы не просто клацали кнопки и всё ломали, а рассматривали тестирование как часть процесса разработки.
Я был принят в реальный проект первым из выпуска. Так я и начал свой профессиональный путь в IT. За все время я успел поработать функциональным тестировщиком, автоматизатором, бизнес-аналитиком, Scrum-мастером, проектным и delivery-менеджером, координатором проектов. Мой опыт показывает, что любой человек может достичь желаемого результата.
В данный момент мой вектор развития направлен в сторону менеджерского роста. Я посещаю конференции: Selenium camp, QAFest, Z-days. Правда, сейчас только онлайн, но практически всё можно найти, причём официально и в бесплатном доступе. Еще я читаю статьи на LinkedIn, GetAbstract, смотрю интересные доклады по автоматизации на одноименных конференциях. Стараюсь держать себя в тонусе и следить за современными трендами, хоть уже и не занимаюсь непосредственно автоматизацией.
Конкретно сейчас для меня наиболее интересно общаться с людьми, видеть их мотивацию к постоянному росту и развитию. Я состою в ключевых сообществах, которые отвечают за развитие и рост сотрудников, и делаю в них активный вклад.
На проекте выполняю довольно схожие функции. Будучи тестировщиком, я был просто без ума от поиска дефектов, воспроизведения незаурядных сценариев ради того, чтобы отловить какую-то проблему в работе системы.
Это очень напоминает рыбалку, когда нужно сконцентрироваться на поплавке, и подсекать, когда клюет.
Интереса добавляет ещё кластеризация дефектов, которая гласит о том, что если в какой-то области найден один дефект, то непременно там будут ещё его друзья-дефекты. Прямо как сбор грибов в лесу.
Используя такие простые методы рассуждений плюс здравый смысл, можно довести ваше ПО до совершенства.
В подавляющем большинстве случаев, современный мир IT не обходится без командной работы. Тестировщики, разработчики, бизнес-аналитики, дизайнеры трудятся вместе, чтобы достичь результата: сделать качественное ПО за короткие сроки. Поэтому умение работать в команде, обладать не только интеллектуальным, но и эмоциональным интеллектом — огромный плюс для любого IT-специалиста.
На современных интервью оценивают не только академические знания кандидата, но и его умения справляться с волнением, стрессом, с какими-то сложными ситуациями. Также важно посмотреть, как кандидат проявляет себя в решении задач в крайне сжатые сроки. Естественно, на интервью не только мы оцениваем кандидата, но и кандидат оценивает своих потенциальных товарищей по команде.
Если вас чем-то смущает ваш визави на интервью, то прислушайтесь к себе.
С этим человеком вам работать каждый день по 8 часов — уверены ли вы, что хотите для себя таких испытаний в обмен на галочку в резюме?
Лично я не верю в то, что можно прочитать какую-то умную книжку или две и потом стать профессором тестирования. Имея огромный опыт собеседований за спиной, могу с уверенностью сказать, что человек, поработавший на курсах или в лабе на тестовых проектах даст фору тому, кто просто читает книжки. На мой взгляд, именно формат курсов может привести к хорошему результату: здесь вы обучаетесь в группе, у вас есть здоровая конкуренция, разбор ваших работ и обмен опытом. Книги, видеоматериалы, конференции — это дополнение, но не фундамент ваших знаний.
Конечно же, важными являются хард скилы (hard skills), которые будут определяющими в вашей должности на проекте и в основном роде занятий. Ожидается, что после менторской программы специалист уровня Junior сможет создавать качественные тест-кейсы, выполнять тест-кейсы, написанные коллегами, заводить баг-репорты на основании этих пробегов и формировать отчёт о проделанной работе. Естественно, придется ежедневно общаться с разработчиками, бизнес-аналитиками и порой даже заказчиками. Поэтому знание иностранного языка — в большинстве случаев, английского — категорически приветствуется.
Чтобы подготовиться к старту карьеры, достаточно пройти курсы, например, в ITEA, и не забивать себе голову непонятной ерундой.
Я практикующий специалист, активно принимаю участие в собеседованиях (технических интервью) — в год их количество достигает 50-60. Про интервью и вопросы знаю не понаслышке, поэтому в своих лекциях дополнительно акцентирую внимание на типичных вопросах из собеседования и подаю только нужную информацию, которая либо поможет в развитии, либо укрепит теоретическую базу. Мой курс абсолютно автономен: на выходе получаются высококлассные специалисты, которым дополнительная литература «для джунов» не нужна.
Основной лайфхак заключается в том, что я подаю только практическую информацию, которая действительно нужна специалистам. Другой лайфхак — я создаю те же условия для выполнения практических заданий, как если бы они выполнялись на реальных проектах. Мы работаем в командах, каждая команда настраивает свой процесс. Внутри команды происходит коммуникация, ребята договариваются об удобных фреймворках связи. Для каждого задания команды перемешиваются, чтобы каждый раз максимально задействовать софт скиллы, привыкать к быстрым переменам.
На протяжении курса команды проводят эстимацию задач, анализируют требования, разрабатывают тест-кейсы, тестируют приложение, предоставляют результаты тестирования в виде репорта. Кроме того, каждый получает и индивидуальное задание на конкретную тему, где можно проявить себя. Периодически я провожу проверки знаний с чёткими дедлайнами, в стрессовых условиях. Всё максимально приближено к жизни.
В качестве выпускного экзамена в конце курса ребята проходят интервью, где я — работодатель, а они — соискатели, которые подготовили свои резюме. По результатам интервью каждый кандидат получает ценный фидбек и опыт прохождения реального собеседования. Как бонус, троих ребят, которые набрали максимальную оценку за прохождение курса, я рекомендую в EPAM.
Везде где только можно. Это может быть любой сайт/социальная сеть для поиска профессиональных контактов. Пожалуй, наиболее распространённое место – LinkedIn. А чтобы не конкурировать с более опытными специалистами, можно поискать работу на JunGo. Здесь как раз собраны вакансии для джунов и можно выбрать разный формат работы: стажировку, полную занятость, работу в офисе или удаленно.
Согласно стандартному плану роста среднестатистической компании, карьерная лестница выглядит приблизительно так:
Student -> Junior Engineer -> Middle Engineer -> Senior Engineer -> Lead Engineer -> Chief Engineer
Получить тайтл мидла можно обычно через пол-полтора года упорной карьеры, в зависимости от личных качеств, старания, прилежности кандидата. Senior’ом обычно становятся через 3-4.5 года. С тайтлов лида (Lead) и чифа (Chief) можно уже переходить на позиции менеджера.
Бороться, искать и не сдаваться. Вы обязательно найдёте свою позицию и свою компанию. Возможно, перед этим придётся пройти через несколько провалов и неудач, но кто ищет — тот всегда найдёт.
Не нужно бояться пробовать. Хороший тестировщик — это всегда уйма времени и сил, потраченных на достижение результата. Пусть QA считается простым направлением, это не повод расслабиться, ничего не делать и просто ждать быстрого карьерного роста. Только те, кто готов работать над собой и постоянно совершенствовать свои скиллы, могут добиться высот. Ну и, конечно, всегда нужно быть заинтересованным в своей работе: нахождение дефектов должно быть квестом, а не рутинной каторгой.