Дисклеймер: про зарплаты говорить я тут не буду. Тут скорее про то, что душе ближе лежит
В IT сообществе существует очень распространенное мнение, что войти в IT, побыв в начале QA (тестировщиком), а затем перейти в разработчики - отличная идея.
Я ощутил на себе эти две роли: разработчика и тестировщика. И я хотел бы поделиться своими мыслями, почему, как мне кажется, не стоит рассматривать должность QA, как такой легкий, универсальный вход в IT сферу.
От сторонников "входа в IT через QA" часто можно слышать, туда ниже порог входа. В какой-то степени эти ребята правы, если мы говорим про хард-скилы, они же - технические навыки. Чтобы стать разработчиком, как минимум нужно научиться писать код, выучить язык программирования, создать пару пет-проектов. Для того чтобы начать работать QA достаточно выучить основные определения в теории тестирования, понять как писать тестовую документацию и быть "продвинутым" пользователем ПК. Да, действительно QA проще начать свою карьеру. Однако, у такого кейса есть пара подводных камней.
Помимо хард-скилов существуют и софт-скилы, которые определяют личные качества человека, которые помогают ему в его работе. И для QA и Developer, набор этих софт-скилов разный. Это совершенно разные профессии, для совершенно разных людей, с разными жизненными ценностями и стилями мышления.
Разработчики в большей степени созидатели, творцы, которые создают что-то новое. Ребята всегда стараются придумать что-то новое для своих проектов. Если для достижения этих целей будет челлендж, им это в радость. Они любят находить разные решения для достижения свих задач. Для этого они продумают новые алгоритмы, будут соревноваться чей вышел более эффективным. На решение одной задачи они могут хоть весь день потратить и ничто их не отвлечет. Ну максимум на доставщика пиццы). Разработчики очень не любят однотипные, репитативные задачи.
Тестировщики же - аналитики, в какой-то степени критики. Зачастую, когда в проекте появляется мысль добавить новое, они задаются вопросами "Зачем?", "А действительно ли это нужно?", "А понравится ли это новое нашим пользователям?". В процессе тестирования он примеряет на себя роли пользователей. А если например тестировать удобство пользования приложением, то вообще можно себя актером ощутить). Но как таковой, тестировщик ничего не создает. И такой задачи у него нет. Он должен уметь смотреть на продукт под разными взглядами, вплоть до уровня ржавого чайника в технике. Это тоже творчество, но творчество совершенно другое, нежели у разработчиков. На каждой итерации, как только QA получает новую версию продукта, приходится выполнять одни и те же тесты, которые определены заранее (регрессия).
И к такой задаче разработчик отнесется очень негативно, это не в его стиле жизни. Человеку, который хочет быть разработчиком, но пришел в тестировщики будет просто скучно тут. Она не будет приносить ему удовольствия, возможно, он будет чувствовать, что выполняет ненужную работу. Навыки которые он получит в тестировании, почти никак не помогут ему как разработчик. Максимум, может быть, выработает критическое отношение к себе, и то не факт, зависит опять от человека. За это время он выучит, какие существует тестовые артефакты, виды, уровни тестирования и прочее. Все это ему не понадобиться для того чтобы быть разработчиком и вместо этого, он мог бы изучить новый фреймворк или потренироваться в алгоритмах.
Но с другой стороны, если вы человек, который вообще впервые в IT, вы не знаете как она устроена, то войти в IT через QA можно. Вам не нужно много знать, чтобы стать начинающим тестировщиком. Может быть Вам понравиться тестировать, и вы захотите остаться QA (как это случилось со мной). А если вы чувствуете себя не в своей тарелке, то всегда можно переквалифицироваться. В IT легок горизонтальный рост. Но при таком подходе, стоит быстро определиться, нравится вам тестировать или нет. Буквально за месяц, ну максимум два. И если вам не нравиться, стоит бросить свои силы на изучения программирования, и аттестоваться уже на разработчика, а не на следующий грейд QA. Это я понял, когда сдавал аттестацию на повышение грейда. Я понял, как много выучил в QA и осознал, что стремись я стать разработчиком зря потратил бы время. Я бы рос вертикально как QA, но как Developer не рос бы совсем.
ИТОГИ:
QA и Developer совершенно две разные профессии, но которые в тандеме создают продукт. Обе являются очень востребованными профессиями. Хороший QA очень полезный для команды человек, если он четко понимает продукт, который он тестирует. И тестировщик не в коем случае не "недопрограмист", это совершенно другая профессия. Если четко решили стать разработчиком учите программирование, а не идите в QA. Вам эта профессия вряд-ли понравится, да и время зря потратите.