Кем стать — тестировщиком или программистом? В какую профессию можно войти без опыта, а какая даст возможность проявить свои творческие способности? Разбираемся вместе с экспертом, который успел поработать и там, и там.
👇В конце статьи делимся подборкой материалов о том, как стартовать в профессии и где взять опыт.
Задачи тестировщика и разработчика
Тестировщик и программист включены в процесс создания ПО, но их задачи отличаются по сути и стоят на разных этапах разработки.
Разработчик создает программы, сайты и приложения с нуля. Он продумывает архитектуру и принципы работы программы и реализует свои задумки в коде. Внутри сферы программистов делят на специализации:
- в зависимости от языка — например, Java-разработка или Python-разработка;
- целевого продукта — веб-разработка, мобильная разработка, создание алгоритмов и баз данных;
- задач — например, backend- и frontend-разработчик оба являются веб-разработчиками, но занимаются разными частями кода.
Тестировщик вступает в дело после разработчика. Его задача — проверить продукт и найти в нем ошибки.
Тестирование может быть ручным или автоматизированным. Ручной тестировщик, как самый внимательный пользователь, нажимает на каждую кнопку и проверяет каждую ссылку. Тестировщик-автоматизатор ищет способы, как проверять ПО быстрее, думает, какие функции можно передать машине, и создает ботов для тестов. Результат работы тестировщика — отчет об ошибках, или баг-репорт, по которому программисты исправляют недочеты в продукте.
Также в сфере тестирования есть QA-инженеры (Quality Assurance), которых часто по ошибке приравнивают к тестировщикам. У них более широкие обязанности. QA контролируют качество продукта с момента возникновения идеи до релиза.
Что делает QA:
- Работает с требованиями к ПО. Они должны быть четкими, непротиворечивыми и выполнимыми.
- Планирует тестирование. Определяет объем работ, тип тестирования, инструменты и бюджет для каждого этапа разработки.
- Составляет тестовые сценарии. Те самые инструкции, по которым будут работать тестировщики.
- Проводит или организует тестирование, фиксирует ошибки.
- Проводит или организует повторную проверку после устранения «багов».
- Составляет отчет о проделанной работе и результатах.
Как войти в профессии тестировщика и разработчика
Чтобы стать разработчиком, нужно освоить хотя бы один язык программирования. Сейчас у работодателей востребованы Python, С, С++, Java, JavaScript. Актуальный рейтинг языков программирования можно посмотреть, например, у TIOBE или PYPL.
Обучиться на разработчика на курсах онлайн-школы можно за 9–12 месяцев. Или самостоятельно — по книгам и лекциям на YouTube. Здесь скорость будет зависеть от ваших усилий.
На старте может быть непросто, потому что сейчас работодатели ценят в программистах не только навыки, но и опыт решения реальных задач. Поэтому готовьтесь ходить на собеседования, участвовать в хакатонах и проходить стажировки, чтобы иметь преимущество на рынке джунов. Благо, таких возможностей сейчас много.
У тестировщиков порог входа в профессию ниже. Чтобы начать с мануального тестирования, необязательно уметь кодить. Достаточно знать общие принципы разработки ПО, быть внимательным, усидчивым и следовать инструкциям. Выучиться на тестировщика можно за четыре месяца. Чтобы расти до тестировщика-автоматизатора и дальше до QA-инженера, нужно будет выучить язык программирования.
Несмотря на то что на тестировщиков недолго учиться и это дает ускорение при входе в профессию, трудоустроиться может быть не так просто. За последние несколько лет интерес к профессии вырос, ручных тестировщиков стало много. Работодатели отдают предпочтение более опытным кандидатам или тем, кто имеет знания в разработке и автоматизации тестирования.
Сколько получают программист и тестировщик
Выбирая между профессиями, стоит учесть и уровень зарплат. В среднем программисты получают на 20–30% больше, чем тестировщики. По данным на 2022 год, средняя зарплата разработчика — 152 000 рублей, тогда как у тестировщика — 109 000 рублей.
Исключение составляют QA-лиды — руководители отдела тестирования. В некоторых случаях они могут получать от 200 000 в месяц.
Уровень зарплат может отличаться и среди программистов. Больше всех в 2022 году получали игровые разработчики в Москве — в среднем 210 000 рублей. А самые низкие зарплаты были у embedded-разработчиков — в среднем 100 000 рублей по регионам.
Также важно учесть уровень зарплат в разных компаниях. Например, тестировщик в одной компании может зарабатывать больше разработчика в другой. Поэтому, выбирая себе профессию, прежде всего стоит ориентироваться не на цифры, а на собственные интересы.
Тестировщик VS разработчик: что выбрать?
При выборе профессии ориентируйтесь на несколько факторов: востребованность профессии на рынке, доступность ресурсов для обучения, ваши интересы и личные качества. Это будет напрямую влиять на то, как быстро вы освоите профессию и трудоустроитесь.
Разработчик — это профессия, которая требует от человека логического мышления, но одновременно и творчества. Вам нужно создать продукт с нуля, иногда — найти решение для нетривиальной задачи. При этом важно рационально использовать ресурсы: как собственные, так и вычислительные. Часто придется глубоко погружаться в незнакомые для вас темы — например, как работают банки или медицинские учреждения, — поэтому важно поддерживать в себе исследовательский азарт и любопытство.
Тестирование потребует от вас максимальной дисциплины и внимания. Мануальные тестировщики действуют по чек-листу, оформляют отчет по итогам проверки. Чтобы преуспеть в такой профессии, нужно быть усидчивым, придирчивым. Важно уметь открыто и профессионально критиковать чужую работу. Тестировщик несет ответственность за качество конечного продукта, который попадает к пользователям.
Правда ли, что разработчики не любят тестировщиков?
В отношениях между тестировщиками и разработчиками есть один нюанс, о котором часто умалчивают. Это критика. Задача тестировщика — найти ошибки разработчика. Разумеется, не всем это нравится. В команде возникают конфликты и взаимные претензии.
Что может помочь в этой ситуации:
- Посредник. Он будет передавать правки от тестировщика к разработчику. Это может быть проджект-менеджер, Team Lead или трекинговая система, например, Trello.
- Открытое обсуждение. Все еще лучший способ решать конфликты и предотвращать их появление в будущем.
- Прошлый опыт. Например, если раньше разработчик сам был тестировщиком, он будет более лояльно относиться к замечаниям и комментариям.
Главное — помнить, что каждый из команды видит лишь одну сторону проблемы. И только совместная работа специалистов даст достойный результат.
Как стать разработчиком, если ты тестировщик?
Многие начинающие айтишники считают, что тестировщик — это простой вход в профессию программиста. С одной стороны, это действительно дает преимущество. Вы можете перейти на должность программиста по внутреннему найму, первыми узнаете о вакансии, и работодатель будет более лоялен к вам, чем к специалисту со стороны.
С другой — если речь идет о ручном тестировании, то эта должность ненамного ближе к разработке, чем любая другая. Здесь речь идет не о повышении, а о переквалификации. Однако некоторые профессиональные навыки все же пригодятся. Тестировщик, который хочет стать программистом:
- понимает, как создается программное обеспечение;
- знает термины, важные для разработчика (например, «релиз» или «баг»);
- более критичен к своей работе и понимает, что идеального кода не существует;
- может заранее прогнозировать возможные ошибки и избегать их.
Но чтобы перейти в новую должность, также придется:
- выучить как минимум один язык программирования;
- разобраться в архитектуре и принципах работы ПО;
- научиться пользоваться фреймворками, контейнерами и другими инструментами разработки;
Как стартовать в IT — подборка статей для начинающих: