Всех приветствую! Пока есть выходные, могу немного описать свой путь, который привел меня к профессии QA Automation Engineer.
Путь этот был весьма долгий и длинный. Началось все в далеком 2014 году. Мне 28, я счастливый балбес-путешественник, уже несколько лет странствую автостопом и бюджетно по разным странам, подрабатываю случайными заработками (видеосъемками, торговым посредником), в некоторых местах оседаю надолго и нахожу работу, связанную с туризмом и туристами.
Вольная жизнь мне нравилась, но тут наступил конец 2014 года: кризис и падение рубля. Русскоговорящие туристы пропали надолго, и я понял, что данная сфера сильно зависит от покупательской способности людей, в том числе и от локальных и глобальных кризисов. И я начал думать: чем же таким интересным я бы мог заняться, чтобы на данный вид деятельности не сильно влияли все эти "мировые катаклизмы"? На тот момент, у меня была беременная супруга, доллар стоил около 90 рублей и сбережений, которые у нас были, хватало едва на пару-тройку месяцев.
Мне всегда нравились компьютеры, технологии. Я даже сам немного изучал программирование на Delphi после школы, но дальше калькулятора дело не пошло. И вот спустя много лет я снова подумал о IT-сфере.
Я понял, что это огромный рынок, который сейчас растет бешенными темпами. Он не настолько сильно зависит от мировых кризисов, и это именно та сфера, которая мне также интересна, помимо путешествий и туризма. Я стал изучать рынок, читать статьи, узнал, какие минимальные навыки и знания нужны, чтобы устроиться на джуниор позицию Java-разработчика.
Случайно нашел сайт javarush, и первые 10 уровней были пройдены за неделю. Такой формат мне понравился, так как запоминаю я информацию лучше всего с помощью практики, а её тут было достаточно. Пользуясь акцией под Новый Год, приобрел "пожизненную подписку" в январе [такие форматы подписок были доступны ранее — прим.ред]. К весне 2015 года я дошел до 20 уровня, сбережения подошли к концу, и нам пришлось вернуться в Россию.
По возвращении я стал готовиться к собеседованиям. Прошел дополнительно курс по HTML & CSS, научился верстать страницы и сайты, добавлять простейшие JS-скрипты. Но после первого десятка собеседований моя мотивация упала. Я сходил еще на пару десятков собеседований, чтобы понять свои пробелы в знаниях. И обнаружил, что моих знаний не достаточно для работодателя на тот момент. Поэтому я на долгое время забил на учебу и на мечту о смене профессии.
К тому моменту как раз родился сын, нужно было обеспечивать семью, так что "времени на раскачку" уже не осталось. Вынужденно проработал в сфере оптовой и розничной торговли, складов и логистики до 2018 года. И только к этому моменту понял, что мечту о программировании и работе в IT — рано пока бросать. Я обнаружил, что моих знаний может оказаться достаточно для разработки автотестов на Java и работы в QA. И тогда я решил дать вторую попытку смены своей деятельности.
Чтобы как-то получить минимальный опыт работы, я устроился асессором-тестировщиком в Яндекс. Мы занимались ручным тестированием различных приложений, находили баги, описывали их, составляли тест-кейсы и чек-листы. Оплата была сдельной и невысокой, но опыт был ценнее. До осени 2019 я проработал асессором, попутно читая книги, и решая задачи на Javarush.
В октябре 2019 я уволился и решил ходить на собеседования до тех пор, пока мне не предложат оффер. Подумал, что если я сейчас не смогу, то на третью попытку у меня уже не хватит духа. Составил резюме, обновил его: теперь в графе "Опыт работы" красовалась запись о годе практического опыта по ручному тестированию веб, мобильных и десктоп приложений. Может быть, данный опыт и не совсем "по профилю", но он позволял выделить мое резюме из сотен подобных, и меня стали чаще звать на собеседования. Позицию автоматизатора я тогда даже не рассматривал всерьез сначала. Думал проработать год-два на должности manual тестировщика, а затем смотреть в сторону автоматизации тестирования и прочих направлений. Но судьба решила иначе.
Я продолжал ходить по собеседованиям всю осень и начало зимы. В декабре моя мотивация снова начала исчезать, я старался и усиленно готовился, знал теорию тестирования, разобрал все популярные вопросы по java-собеседованиям. Но пока была тишина.
Только к концу декабря я получил первый оффер на позицию мануального тестировщика в одну из крупных аутсорс компаний. Я уже вовсю оформлял документы, радуясь, что успел до Нового года, но в последний момент заказчик передумал брать сотрудника на проект, либо старт проекта отложили. Мне посоветовали пока поискать сторонние варианты. И тут мне позвонили из еще одной аутсорс-компании и предложили пройти у них внутренние курсы по направлению автоматизации тестирования на java. Для этого нужно было пройти небольшой тест на знания языка, который был очень похож на оракловскую сертификацию "OCA".
После прохождения теста, прошедших его ожидало внутреннее обучение. Оно состояло из цикла лекций и домашних заданий, в рамках которых мы в короткие сроки написали несколько утилит, познакомились с JDBC, rest assured, soap, и написали свой небольшой фреймворк на Селениуме. И по результатам всех заданий, нескольких человек приняли в штат. Так что прямо под самый Новый год: мне 33 года и я получаю оффер на позицию "Инженера по автоматизации тестирования". Также я на своем опыте узнал, что прохождение собеседований, помощь в обучении программированию и написание различных программ и утилит в рамках стажировки на порядок увеличивают скорость обучения и повышают мотивацию. Особенно когда ты видишь результат своей работы и знаешь, что можешь применить это в реальном проекте.
На данный момент, испытательный срок пройден, я 5-й месяц занимаюсь поддержкой фреймворка и написанием автотестов на java и cucumber, на одном из проектов заказчика. Работа мне нравится, особенно меньший уровень ответственности, по сравнению с разработчиками, отсюда меньший уровень стресса. Я написал инструкцию в конфлюэнс по входу в проект для новичка. С проектом более-менее разобрался, много чего из кода когда-нибудь придется рефакторить (мб и мне), но это зависит от того, как скоро я перейду в другой проект.
Дни идут за днями, одна таска в джире за другой, и мне нравится то, чем я теперь занимаюсь. Я помогаю упростить и облегчить поддержание качества продуктов, автоматизировать некоторые процессы внутри компании, снять нагрузку постоянного регрессионного тестирования с функциональных тестировщиков, и обязанностей по написанию авто и api тестов с разработчиков. Путь вышел трудным и долгим, но того стоил.
Что будет дальше — я не загадываю. Может буду развиваться в направлении SDET, а может решу уйти в разработчики ПО — жизнь покажет. Всем, кто прочитал все это, могу только пожелать не сдаваться. Если решили что-то изменить в жизни, то идите до конца, даже если случаются временные задержки и препятствия на пути.
Советы напоследок:

- не будьте как я ;) изучите Java Core получше, как минимум до 30-40 уровня javarush, потом будет намного легче на стажировке или в испытательный срок;
- GIT обязателен, есть много различных бесплатных обучалок + почитайте обязательно про Maven и Gradle, это основные инструменты на проекте;
- хотя бы на базовом уровне освойте SQL запросы;
- также важно знание HTML+CSS+JS. Хотя бы на базовом уровне;
- Spring фреймворк, тут достаточно понять концепцию контекста с бинами.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ