Если вы еще не работали QA инженером, то всего лишь при взгляде на описание вакансии у вас, вероятно, возникнут такие вопросы: Почему требования к грейду так отличаются? Почему технологии одной вакансии порой абсолютно не совпадают со второй?
Дело в том, что сейчас QA инженер – это самый настоящий инженер со всеми вытекающими последствиями. Помимо градаций по опыту есть градации по типу программного обеспечения, по направлению тестирования и по направлению бизнеса. Индустрия стала достаточно развитой для того чтобы требовать от инженеров глубоких знаний в отдельных областях – чаще всего именно этого и ждут от сотрудников. Сейчас быть профессионалом в каждом таком ответвлении одновременно очень сложно. Ведь, помимо того, что нужно много времени на их освоение, так необходимо ещё и постоянно совершенствовать свои навыки.
На практике осваивать несколько направлений не всегда выгодно. Часть навыков (а порой внушительную их часть), которую вы приобрели на одной работе, просто не получится применить на другой, и конечно справедливо, что работодателю нет никакого интереса платить за то, что вы не можете использовать свой опыт, каким бы потрясающим он не был. Без применения и развития своих навыков вы их теряете. На практике это означает, что, если не достигнуть высот, нахождение на одном проекте более двух лет становится сомнительной идеей.
Конечно, два года – это только абстракция и все довольно индивидуально. Человеку требуется примерно год чтобы начать чувствовать себя комфортно на работе и больше не испытывать тревог. Затем у него появляется запас сил, что дает ему возможность выжать из своего рабочего места все, что можно, в вопросе прокачивания компетенций. Если делать это активно, примерно через год он достигнет предела на своей должности. Далее специалист задумывается, какой рост ему выбрать: горизонтальный, вертикальный, параллельное направление или все сразу. Вертикальный рост, из–за которого вы останетесь на проекте еще на несколько лет, вполне хороший и классический выбор. Кроме того, все проекты разнообразны, какие-то помогут практически безгранично улучшать навыки, какие-то очень быстро себя исчерпывают.
Горизонтальный рост означает, что вы расширяете свои навыки, осваивая новые технологии или другую область бизнеса, в которой применяете свой опыт. При этом количество обязанностей остается примерно таким же. Такой рост может сделать вас “специалистом с 10 руками” что, конечно, ценится, или дать более широкий выбор вакансий для следующего этапа карьеры.
Вертикальный рост это в первую очередь про увеличение количества обязанностей и ответственности. Сначала это рост ответственности за свою работу, далее – за работу других. Такой рост (до руководящих должностей), вертикальный, очень полезен, так как другие поверят, что вы действительно умеете делать то, что заявляете, не проверяя этого.
Рост в смену направления означает, что вы кардинально меняете область тестирования, оставаясь QA инженером. Можно сказать, что обычно после этого некоторая часть ваших навыков становится менее нужной, и впоследствии их уровень упадёт. Однако вы замените их новыми, не менее важными, за которые также платят и которые помогают двигаться дальше по карьерной лестнице.
Рост во все сразу или в два из описанных выше поворота тоже возможен и означает, что вы будете пытаться усидеть на нескольких стульях сразу. Это в большинстве случаев не дает глубины роста, но дает его ширину, из–за которой вы получите больше предложений о работе, решив сделать следующий шаг в своей карьере.
На мой взгляд, на поприще вас ожидают окна возможностей и перепутья выбора. Но осознанный выбор не будет плохим.
Вы наверно заметили, что я часто упоминаю слово “карьера” и это не просто так. Большинство QA инженеров строят карьеру, даже не называя ее так. Они проводят анализ имеющихся возможностей и раз за разом делают выбор. На первых этапах это не очень сложно. У большинства специалистов на старте карьеры довольно низкая зарплата. Просматривая вакансии они понимают, что достаточно потратить несколько месяцев, чтобы обучиться новому, и это откроет путь к увеличению зарплаты на ощутимый процент. Поэтому если вы не планируете всю жизнь работать за условные 500–800$ и бояться оказаться ненужным как специалист, то рекомендую временами думать о том, куда движется ваша карьера и движется ли она вообще.
Далее приведены градации инженеров и то, как они связаны с каждым отрезком вашей возможной карьеры.
Заметьте, что здесь речь не о стаже, а именно о навыках, которые позволяют справляться с задачами разной сложности. Также в вакансиях можно встретить попытку разделения на Principal как в разработке, что на мой взгляд является ошибкой и говорит о непонимании сути деления специалистов.
В представленном ниже разделении по грейдам присутствует абстрактность, потому что вне зависимости от чего–либо, грейды и их общее понимание (даже в рамках одной компании) не должно меняться.
Грейды:
– Trainee – люди этого уровня способны выполнять лишь 10–15% задач, относящихся к простым, и с большими временными затратами, а их работу требуется обязательно перепроверять и исправлять.
– Junior – сотрудник, способный выполнить 40–50% задач со скоростью ниже среднего, его работа все еще требует тщательных проверок, исправлений, регулярной помощи и наставлений.
– Middle – на этом уровне специалист может самостоятельно без дополнительной помощи выполнять 80–90% всех задач, которые только можно придумать. Его скорость работы средняя или немного выше.
– Senior – тот, кто выполнит не только оставшиеся 10–20% работы с высокой скоростью, но и самостоятельно решит задачи, о которых даже Интернету ничего не известно.
В своей карьере вам необходимо как можно скорее достигнуть Middle уровня. QA инженеры этого грейда представляют костяк тестирования, который эффективно удовлетворяет большинство потребностей компаний. Поэтому при достижении такого грейда вам откроется множество вакансий и сопутствующих возможностей для дальнейшего роста.
Здесь речь именно о степени ответственности, а не о должностях, так как на практике чаще всего инженеры полностью или частично берут на себя роль Lead, то есть специалист квалификации Middle может выполнять эту роль. Это обусловлено естественностью процесса повышения навыков.
Уровни:
– Engineer – отвечает только за качество и сроки проделанной им работы. Такой сотрудник выполняет непосредственно тестирование (ручное или автоматизированное), а также составляет сопутствующую документацию.
– Lead – отвечает за качество, сроки, планирование тестирования и выстраивание процессов внутри небольшой команды одного проекта или продукта. На этом уровне специалист все еще полностью участвует в тестировании, как и Engineer, но имеет дополнительные обязанности и, в том числе, отвечает за работу всей своей команды.
– Head – управляет работой нескольких Lead и несет ответственность за тестирование всего проекта или группы проектов. Создает и исполняет длительные стратегические планы, управляет ресурсами и длительными планами развития сотрудников. Его отличает то, что этот специалист совсем или почти не занимается обычным тестированием роли Engineer, вместо этого он сосредоточен на стратегических задачах. Хотя участвовать в процессе он, конечно, может, особенно если это касается автоматизации тестирования.
– Director – выполняет только стратегическую работу на уровне всей компании или ее крупного подразделения. Этот специалист участвует в стратегических бизнес-планах развития компании на годы вперед, берет на себя и управляет самыми высокими рисками, касаемыми обеспечения качества работы организации или подразделения.
В вакансиях можно встретить также техническую роль QA Architect, предполагающую ответственность за архитектурные решения в области автоматизации для всей компании. В предложенном перечне ее нет, потому что эту роль давно и успешно выполняют Lead или Head уровни, в зависимости от размера организации.
На практике бывает, что роль Lead выполняет инженер с грейдом Middle. Конечно, Senior справится с этой задачей лучше, но всё же ситуация абсолютно нормальная. Дело в том, что обычно в таких командах все инженеры одного уровня или же Middle оказался самым высоким грейдом в группе.
Разделение по функциям довольно лаконично и быстро дает понять, в чем заключается работа инженера в рамках его компании.
Типы:
– Manual QA Engineer – это инженер, занимающийся исключительно ручным тестированием. Сюда входит и создание документации, связанной с ручным тестированием, и выполнение проверок.
– Automation QA Engineer – это инженер, занимающийся в основном автоматизированным тестированием. Сюда входит преимущественно создание фреймворка автотестов и самих автотестов, при использовании ручных тестов спецификации аналитиков или кода разработчиков в виде источника информации.
– Fullstack QA Engineer – это инженер, занимающийся ручным и автоматизированным тестированием.
– Software Developer Engineer in Test (SDET) – это разработчик с хорошим опытом в тестировании. Занимается автоматизацией ручного тестирования, DevOps задачами и разработкой полноценных приложений/ботов/скриптов для нужд команды QA.
– (Manual / Automation / Fullstack / SDET) Lead – это инженер, выполняющий функции в одной из областей: Manual, Automation, Fullstack, SDET и управляющий командой, состоящей только из Manual / Automation / Fullstack / SDET специалистов.
К сожалению, при поиске работы вы постоянно будете сталкиваться с тем, что название вакансии сильно расходится с функциями в описании. Не очень сложно найти вакансии QA Engineer, в описании одной из которых от вас не требуют опыта и предлагают заниматься только ручным тестированием, а в другой вы должны быть опытным Senior автоматизатором с более чем пятилетним опытом. Не редки вакансии, где SDET называют Automation QA и наоборот, а QA Lead на самом деле выполняет работу Head of QA.
В разделении по типу программного обеспечения обратите внимание на то, что backend часть проектов на практике не всегда, но нередко является общей для нескольких систем (Web, Mobile, и т.д.).
Типы:
– Web Engineer – тестирование frontend и всех частей backend веб–сайтов. Один из самых востребованных сегментов, в котором за последние годы сильно выросли требования к знаниям и умениям инженеров.
– Mobile Engineer – тестирование мобильных приложений и нередко backend. Возможно, это уже немного обогнавший Web сегмент, в котором также выросли требования к знаниям и умениям инженеров.
– Desktop Engineer – ставший менее популярным сегмент тестирования приложений для Windows/Mac/Linux, который, тем не менее, очень востребован. Приложения на компьютеры никуда не делись и исчезнут не скоро. Требования к инженерам тут растут не так быстро, как в Web и Mobile.
– Hardware Engineer – тестирование самых разных, обычно узкоспециализированных физических устройств (программное обеспечение для станков, автопилоты и т.д.). Встречается не часто. Рост требований к инженерам здесь скорее обусловлен ростом физических технологий (архитектуры процессоров, памяти и т.д.).
Эта классификация относится к тому, какие проверки создают инженеры, и как эти проверки выполняются.
Состоит из:
– Manual Engineer – инженер, создающий и выполняющий тесты вручную.
– Automation Engineer – инженер, создающий и выполняющий автоматизированные тесты.
Важно заметить, что разделение по грейдам сильно отличается в разных компаниях или даже проектах. В одном месте вы Junior, в другом – Senior. Эта и другие странности вызваны разными факторами, осознанными и неосознанными.
К осознанным можно отнести:
– Занижение грейда и заработной платы для снижения расходов на сотрудников. Вполне оправданный шаг, условно выгодный для всех сторон, когда речь о начале карьеры и активном стремлении расти. То есть, для резюме вы быстро станете Senior, хотя объективно окажетесь недостаточно квалифицированным для этого грейда. А компании, которые потом будут вам платить как Senior, не часто, но существуют.
– Попытка поручить задачи двух инженеров одному специалисту. Такое происходит, когда грейд внутри компании оценивают исходя из того, какое количество работы может сделать инженер, а не из того, насколько сложна эта работа. Таким образом, засидевшийся на проекте сотрудник имеет грейд заметно выше, чем есть на самом деле, и это быстро становится заметным при выходе на рынок.
К неосознанным можно отнести:
– Отсутствие компетенции для объективной оценки сотрудников. Ситуации, когда человек уровня Middle годами занимает позицию QA Lead, не редки в мире. Возможно, в компании нет QA Lead в принципе и сотрудников оценивает, к примеру, Project Manager, не имеющий для этого компетенций в QA. На практике это могут быть компании даже с количеством QA инженеров в десятки человек.
– Сильно устаревшее понимание количества навыков, необходимых для определенного грейда. Если уровень тестирования на проекте не повышали 10 лет, то было бы странно переписать название должностей существующих сотрудников, понизив их в грейдах. Отсюда и появляются Senior++, Super Principal и другие непонятные грейды навыки которых заметно превышают требования и представления о грейдах на проекте и которых непонятно как оценить в данных условиях.