Из тестировщика в разработчики: мой путь за 2 года
Всегда было интересно — а что там, по ту сторону багов? Когда ты годами ищешь чужие ошибки, рано или поздно начинаешь мечтать создавать что-то своё. Хотя бы просто кнопку, которая не падает под нагрузкой. Мой переход из тестировщика в разработчики занял два года. И начался он с банального — с зависти.
Видел, как программисты получают мои баг-репорты. Качают головами, иногда спорят. А потом — бац — несколько строк кода, и ошибка исчезает. Магия какая-то. Мне же оставалось только проверять. Понимаешь, это как быть критиком в ресторане: блюдо оценить можешь, а сам не готовишь. Надоело.
Первый шаг — самый нелепый. Решил выучить Python. Купил курс, прошёл за два месяца. Думал, вот оно. А нет. Оказалось, знать синтаксис — это как выучить таблицу умножения. Не значит уметь решать интегралы. Помню, пытался написать простой скрипт для автоматизации своих же тестов. Три дня борьбы с отступами и циклами. Это было унизительно.
Здесь многие ошибаются — бросаются изучать фреймворки. Я пошёл другим путём. Стал… читать код. Тот самый, что тестировал. Сначала просто смотрел, как оформлены функции, как называются переменные. Потом начал понимать логику. Это похоже на изучение иностранного языка — сначала улавливаешь отдельные слова, потом угадываешь смысл фраз. Через полгода мог по коду предсказать, где спрячется баг. Коллеги-разработчики стали ко мне относиться иначе — как к союзнику.
Первый настоящий код я написал случайно. Дежурный программист болел, а срочно нужно было починить мелкий баг в интерфейсе. Менеджер в отчаянии спросил: «Кирилл, ты же всё про этот модуль знаешь? Попробуешь?» Попробовал. Шесть часов ковыряния, гугления, трёх чашек кофе — и заработало. Этот момент запомнился лучше любого дня рождения. Не потому что получилось, а потому что изменился взгляд на себя. Из искателя чужих косяков превратился в того, кто может их исправить.
Дальше — рутина. Пет-проекты по вечерам, стажировка внутри компании, первые код-ревью с красными глазами от замечаний. Привычка тестировщика видеть крайние случаи оказалась палкой о двух концах. С одной стороны — мой код сразу был стабильным. С другой — я мог неделю продумывать обработку всех исключений вместо того чтобы просто написать работающий прототип.
Смена ролей далась не только мне. Коллеги-тестировщики сначала косо смотрели — мол, предатель. Разработчики же какое-то время не воспринимали всерьёз. Самый трудный барьер — психологический. В тестировании я был экспертом. В разработке снова стал джуном. Принять это было сложно.
Сейчас, оглядываясь назад, понимаю: тестирование дало мне невероятную базу. Видеть систему целиком. Предсказывать последствия изменений. Понимать, как любая мелочь может всё сломать. Этих вещей нет в учебниках по программированию. Их постигают на практике. Или перенимают у бывших тестировщиков.
Два года — это не про обучение. Это про смену мышления. Перестать говорить «здесь баг» и начать говорить «здесь моя ошибка». Перестать критиковать и начать создавать. Да, с нуля стать разработчиком можно и быстрее. Но переход из QA — это особый путь. Ты не просто учишься кодить. Ты перестаётся быть надзирателем и становишься строителем.
А ведь до сих пор ловлю себя на мысли — глядя на свой же код, ищу в нём уязвимости. Привычка, ничего не поделаешь. Интересно, а вы смогли бы отказаться от роли критика ради роли творца?