Три года на одном проекте — развиваться физически некуда. Энтузиазма с каждым днем все меньше, и один лишь вид изученного вдоль и поперек кода уже вгоняет в спячку. Знакомо? Поздравляю, вы «выгорели».
На мой взгляд, застой — худшее, что может случиться с айтишником. Но для себя я, кажется, нашел некие условия, не определяющие четкое направление, но описывающие окружающую атмосферу, способствующую моему профессиональному росту. В поисках подходящего мне варианта я сменил не одного работодателя. Даже в армии по контракту успел послужить. Исходя из полученного опыта, я сформулировал пять принципов, которые вы найдете под катом. Возможно, вам они тоже подойдут?
— Скажите, пожалуйста, куда мне отсюда идти?
— А куда ты хочешь попасть? — ответил Кот.
— Мне все равно, — сказала Алиса.
— Тогда все равно, куда и идти, — заметил Кот.
— Только бы попасть куда-нибудь, — пояснила Алиса.
— Куда-нибудь ты обязательно попадешь, — сказал Кот. — Нужно только достаточно долго идти.
(С) Льюис Кэрролл, Алиса в стране чудес
Вместо предисловия отмечу, что о развитии говорить нет смысла, если нет каких-то осознанных целей на будущее. Это необязательно должен быть четкий план на 3—5 лет с указанием должностей и зарплат, как любят спрашивать на собеседованиях. Но необходимо понимать, чего ты на самом деле хочешь, и делая следующий шаг, представлять, как он соотносится с глобальной целью.
К примеру, я считаю, что нужно охватить максимальное число различных технологических направлений, чтобы обеспечить себе рост. При этом надо не просто прочитать пару книг, а вникать глубоко, на реальных бизнес-задачах. В дальнейшем потребуется какое-то развитие в административном плане. Мне кажется, оно не обойдет ни одного сложившегося специалиста, поэтому я уже сейчас выполняю некоторые функции лида. И все эти разнородные задачи вполне укладываются в мое представление о будущем.
Принцип 1. Личное развитие специалиста стремится за уровнем зрелости компании.
Совершеннее процессы — быстрее рост. С другой стороны, чем больше опыта и знаний, тем сложнее ужиться в организации, где процессы не выстроены вовсе.
Начал работать я еще в студенчестве. Прочитав книгу Романа Савина «Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах», пошел тестировать, не особо представляя себе процесс разработки. Это был первый опыт на реальном проекте. Но, как я понял впоследствии, сложно там было не только из-за отсутствия багажа знаний, но и из-за банального организационного «болота». В той компании даже тестовой документации не было — всем было пофигу на происходящее.
Впоследствии, подыскивая новое место, я выбирал компании с налаженными процессами. Это мотивирует, заставляет «прокачиваться» в нужную сторону.
Правда, процессы процессам рознь. Примерно в середине трудового пути меня укусила какая-то муха и я, уже имея приличный опыт автоматизации тестирования, решил бросить все и пошел по контракту в ряды наших доблестных вооруженных сил. В армии с вымуштрованными «процессами» я так и не ужился — выдержал всего два года. Если бы оттуда можно было уволиться в соответствии с ТК РФ, отработав две недели, я бы так и сделал в первый же месяц. Несмотря на вполне успешную «карьеру» (меня хотели видеть во всех штабах), я понимал, что мне это не подходит.
После армии мне пришлось идти с самого начала — устраиваться в организацию с простыми процессами, чтобы подтянуть знания, а потом уже искать кого-то с более совершенными.
Конечно же, важны не только процессы, но и коллектив. Практически везде можно чему-то научиться, но хорошо, когда есть за кем тянуться в команде, когда есть помощь со стороны более опытных коллег в решении новых технических проблем.
Принцип 2. Можно и нужно осваивать смежные области знаний. Это позволяет подняться на иной уровень абстракции, заново осознать уже известное, открыть для себя новые сферы интересов.
В студенческие времена я начинал с ручного тестирования. Попав уже на вторую работу, с более совершенным подходом к тестированию, много узнал о тест-дизайне, о том, как построены веб-приложения (на тот момент все мои проекты были в вебе). Там мы писали интернет-магазин для печатной фабрики в Кентукки — наш софт валидировал клиентские заказы перед отправкой на фабрику. «Приработавшись» на этом, я понял, что у меня есть силы осваивать автоматизацию. Впоследствии даже магистерский диплом написал на тему «Автоматизация тестирования веб-проекта на C# с использованием selenium webdriver». То была одна из первых работ, связанных именно с тестированием, поэтому защита прошла на ура.
Освоив автоматизацию, я вместе с несколькими коллегами оказался в отделе QA Automation. И по забавному стечению обстоятельств остался там один — как-то выкарабкиваться и тащить на себе всю автоматизацию тестирования в одиночку.
Честно скажу, знаний тогда было не так много. Я даже толком не знал про CI/CD, хотя среди задач висела настройка Travis. Обо всем этом приходилось читать, спрашивать или искать ответы на форумах. Но это было очередным расширением кругозора, и мне это нравилось. В итоге у меня все же получилось завести Travis CI.
Речь тут, кстати, необязательно о технологиях. Сейчас я, к примеру, взял некоторые административные функции, чтобы опробовать себя на этом поприще (своего рода «приложение к должности» — лид по тестированию внутри компании, т.е. между всеми проектами). Я и раньше думал двигаться в «административную» сторону — планировал уйти в лиды, а впоследствии, возможно, заняться своим продуктом. Но потом я вспомнил, что такое автоматизация и насколько это интересно (как я уже говорил, после армии на это ушло определенное время), так что административный путь на данный момент перестал так привлекать. Тем не менее, почему бы не попробовать, если есть такая возможность? Так что теперь я отслеживаю работу на всех проектах работодателя, курирую развитие отдела тестирования, даю оценки для новых проектов.
Все это расширяет кругозор, дает новые возможности развития.
Принцип 3. В профессиональном развитии технологии и инструменты играют важную роль. Но ликвидность специалиста на рынке труда в целом для меня важнее.
После армии я оказался в компании, которая использует, скажем так, нетрадиционный подход к автоматизации тестирования. Ранее я привык к использованию неких популярных фреймворков и тулов, которые применяются почти в каждой компании. Но мой новый работодатель использовал инструмент, написанный собственноручно разработчиками этой компании. И эта очень специфичная автоматизация сводилась к тому, что мы просто описывали тест-кейсы в таблицах.
После армии это было неплохо — появилась возможность постепенно войти в курс дела. Но останься я в этих условиях лет на пять, я отлично прокачался бы в составлении табличек, но вряд ли все еще был бы ликвидным специалистом на рынке труда. Меня это не устраивало, несмотря на деньги, путевки и прочие бонусы. Я чувствовал, что спустя какое-то время останусь «пустышкой» и, развиваясь в предложенном направлении, буду интересен только этой компании.
Хотелось больше погрузиться в бизнес-логику, тем более что она у всех проектов разная. И я пошел в направлении более традиционного подхода. Меняя работодателя, я смотрел, с чем именно работает компания, на каких проектах, какими направлениями интересуется. И в итоге ушел в организацию, задачи которой прокачивают меня как более гибкого и более востребованного в отрасли специалиста по автоматизации тестирования (это было видно хотя бы по требованиям в открытых вакансиях). Я мог быть уверен в том, что в дальнейшем смогу найти работу по тому же профилю.
Первое время на новом месте я занимался автоматизацией тестирования backend, в частности REST API. С тестированием REST API я сталкивался не впервые, но ранее делал это вручную, и опыта именно автоматизации не было даже в рамках своих домашних проектов. Это стало для меня очередным испытанием — приходилось вливаться в новую задачу, осваивать новый специфичный для меня инструмент (Robot Framework — тесты в нем запускаются несколько не так, как на привычном для меня Cucumber). На этом проекте приходилось очень плотно работать с базой, поэтому я попутно подтянул SQL.
Примерно за год я распробовал автоматизацию тестирования API и решил немного поменять направление. Сейчас я работаю на автоматизации тестирования мобильных приложений. Получаю на входе тест-кейсы от manual-тестеров и автоматизирую их в нашей инфраструктуре. Поддерживаю работоспособность существующих тестов и настраиваю continuous integration.
Отдельное направление моей работы — UI-тестирование. Здесь постоянно что-то меняется, вылезает множество зависимостей от других компонент, и основная задача — сделать тесты стабильными, в том числе через мокирование внешних систем. Все это интересно и востребовано.
Принцип 4. Развитие под крылом работодателя должно иметь определенную степень свободы.
У меня довольно многогранный опыт, который позволил на своей шкуре подтвердить прописную истину ИТ: если ты не развиваешься, стоишь на месте в знаниях, считай, что ты уже отстал.
Острее всего я это почувствовал, как раз вернувшись из армии. Два года серьезно ударили по моим знаниям. Такое ощущение, что моя ценность как специалиста потихоньку уплывала с каждым: «Здравия желаю!». Очень многое пришлось вспоминать, а еще больше наверстывать. За время моего отсутствия появилось много новых направлений, в частности начала развиваться мобильная автоматизация тестирования, которая вообще мимо меня прошла.
Понимая это, я искал возможности догнать этот «уходящий поезд» отрасли. Проще наверстывать на реальных проектах. Правда, первая работа после армии как раз не позволяла этого сделать. А вот текущий работодатель дал зеленый свет экспериментам. К примеру, в сферу моей компетенции входит изучение и интеграция новых интересных тулов, которые помогают сделать автоматизацию тестирования по моему направлению более гибкой и прозрачной. Конечно, на все нужна санкция руководства, но у меня есть определенная свобода в выборе направления.
Выше речь о свободе в узком смысле. Но для меня оказалась важна свобода в более широком понимании — возможность переключения между технологическими стеками.
Рабочий застой бывает у всех. Ты понимаешь, что проект при всей его первоначальной привлекательности начинает приедаться, — «наедаешься» инструментами и технологиями, многие моменты становятся понятны и неинтересны. Да и в целом задача уже не несет в себе той сложности, не приходится напрягать мозги. Наверное, это уже звоночек, намекающий, что пора что-то менять.
И хорошо, если работодатель гибко реагирует на это. На моей текущей работе руководитель регулярно созванивается с нами, узнает, нравится ли нам проект, получаем ли мы от работы удовольствие. И когда я в какой-то момент почувствовал, что устал от задачи, как я упоминал выше, мне предложили другую — как раз с иным стеком технологий. Так я попал в автоматизацию мобильного тестирования, на старте даже не зная, как запустить тест. Для меня это была целая история, настоящее испытание. Решение таких задач мне приносит огромное удовольствие. От ощущения застоя не осталось и следа.
И я понял, что одним из аспектов самореализации внутри компании для меня является наличие нескольких живых проектов, а также возможности перехода между ними (ну, конечно, не каждую неделю, а хотя бы раз в год).
Принцип 5. Формат работы играет меньшую роль в самореализации, чем я думал ранее. Удаленная работа и развитие не противоречат друг другу.
Часто можно услышать мнение, что какая-то самореализация доступна лишь в офисе. По разным причинам. И я был отчасти с этим согласен, поскольку считаю себя социально зависимым человеком, мне нравится общаться с живыми людьми. Поэтому когда мне предложили уйти на удаленку, я сначала опасался, что застряну в одиночестве. Но на тот момент у меня уже был позитивный опыт удаленной подработки, и я решил попробовать.
На данный момент я уже полтора года работаю удаленно. И честно говоря, не вижу большой разницы. В крупных компаниях тоже довольно часто твоя команда находится в другом городе или стране. И механика та же самая: созвоны по Skype, переписка в Slack. В плане работы и моих стремлений в сфере профессионального роста ничего не изменилось.
Единственное — для меня, даже в большей степени, чем для офисных работников, ощутима опасность профессионального выгорания. Удаленный формат — гибкий с точки зрения времени и места работы. И это одновременно как плюс, так и минус. Поначалу мне было сложно разделить дом и работу: ты вроде дома, рабочий день закончился; казалось бы: «Руслан, иди отдохни!». Но нет. Меня тянуло доделать задачу. До перехода на удаленку я слышал о подобном, но не мог поверить, что ты настолько втягиваешься в работу. Лишь столкнувшись с этой проблемой на своей шкуре, понял, что надо искать некую виртуальную грань, которую нельзя переступать. Иначе ты просто начинаешь сгорать на работе. Тебе уже не надо никакого развития. Но это не вопрос формата, а лишь аспект самодисциплины. Я с ним разобрался довольно быстро.
Перечисленные принципы не отвечают на вопрос «что мне изучить теперь?» или «куда пойти работать дальше?». Но для меня как специалиста они определяют некие параметры личного комфорта, отражая ту идею, что сама постановка вопроса «что мне выучить, чтобы было развитие» — неверна. Гораздо корректнее думать о том, какие надо в целом создать (или найти) условия для поддержки реализации своих целей и потенциала.