Пять лет назад семья Александра Половинко выиграла Green Card и переехала из Беларуси в США. В тот момент смена профессии юриста на QA не выглядела такой уж авантюрой по сравнению с переездом на другой континент. dev.by поговорил с Александром об учёбе «с нуля» и карьере в американской корпорации Visa, где он занимает позицию Staff QA-инженера.
Как всё получилось
— В заливе Сан-Франциско, где мы живём, не менее 80% людей приехало из других стран. Поэтому на протяжении всей нашей адаптации ни разу не возникало ощущения негатива со стороны обитателей региона. К тому же по приезду я закончил школу QA, где познакомился с такими же свежеприехавшими ребятами. Мы подружились, и у нас образовался круг человек в 30-40 с одинаковыми задачами, проблемами и сходным мировоззрением. Поэтому даже то, что пришлось поменять профессию, не стало особым стрессом.
Правда, мысли об изменении сферы деятельности ко мне приходили ещё в Беларуси, но в то время наличие стабильной работы удерживало от рискованного шага. А здесь жизнь и так начиналась с нуля, терять было нечего.
В США самым подходящим направлением показалось именно Quality Assurance, потому что порог вхождения в профессию здесь довольно низкий, если рассматривать соотношение временных затрат на обучение к возможности начать работать. За 3 месяца окончил местную школу, откуда меня направили на стажировку в компанию с белорусскими корнями — Altoros Systems.
В Visa я попал из стартапа, который впоследствии она и поглотила. Было формальное интервью с рекрутером, с командой. Но предложение исходило от менеджера, и я уже знал, что он хочет видеть меня в команде.
В штат меня взяли на позицию Senior QA, а год назад я продвинулся до Staff QA-инженера. Если сравнивать с аналогичными обязанностями в белорусских организациях, то у моей нынешней должности больше организационных функций. Здесь добавляется функция супервайзера. Так, я организую работу 3-4 человек в нашем индийском офисе.
Думаю, мой профессиональный путь достаточно типичен. В начале 6-12 месяцев работаешь в роли консультанта, после этого тебе предлагают ставку.
Правда, наблюдаю, что в последние год-два некоторые большие компании задерживают людей на уровне консультантов, не приглашая в штат. Некоторые мои товарищи уже около года находятся на позициях консультантов в таких компаниях, как Groupon, Skype, Facebook. Перед работающим на полную ставку сотрудником у компании больше обязанностей, и чтобы сохранить большую гибкость в отношении рабочей силы, они стараются нанимать через фирмы-посредники. Фактически человек работает на проекте в большой компании, полноценно участвует во всех процессах, ходит в офис, имеет там рабочее место, но юридически трудоустроен в другом месте, которое в случае чего и несёт за него ответственность.
О работе в Visa
Visa не делает специально адаптированных продуктов для местных рынков, но добавляет опцию локализации, поддержки специальных шрифтов (если мы понимаем, что продукт будет использоваться, например, в Китае) в глобальные продукты, а также возможность выбора наиболее приоритетных платёжных систем в зависимости от региона.
Часто новые продукты запускаются изначально только в Штатах, потому что больше нигде нет для них инфраструктуры. После, когда необходимые условия возникают в других странах, продукты получают распространение по всему миру. Так, например, было с продуктом Apple Pay, который позволяет интегрировать карточку и совершать платежи со своего мобильного телефона. Теперь ведётся разработка Samsung Pay для Android.
Я в данный момент работаю над приложением для альтернативных платёжных систем. Пока что основной бизнес Visa — это процессинг банковских карт, но мы начали изучать и другие способы осуществления платежей — Paypal, Qiwi, Яндекс-деньги, Alipay и т. д. Я также работал над интегратором, который даёт возможность встроить на свой сайт модуль с доступом к национальным платёжным системам. Одним из наших крупных клиентов был Wargaming, моя команда как раз работала над их платёжным модулем. Такие же вещи мы разработали для Disney и Facebook.
Процесс организован следующим образом. Менеджеры по продукту готовят обоснование, насколько та или иная платёжная система пользуется популярностью сейчас и какой для неё прогнозируется рост. Оценивается ещё и цена вопроса. У альтернативной платёжной системы может быть много пользователей, но при этом процессинг настолько сложный, что просто невыгоден. Если продуктовый менеджер принял решение о разработке, никакого вышестоящего одобрения не нужно, он — «вершина пирамиды». Выделяются ресурсы, формируется команда и — вперёд.
В среднем интеграция занимает от 6 месяцев до года. Потом идёт проверка интеграции со средой владельца платёжной системы, обязательное тестирование с реальными транзакциями и перемещением денежных средств, затем — beta-тестирование с реальным продавцом, заинтересованным в приёме платежей, также производятся реальные транзакции. После этого проект выпускается в «паблик».
Обязательно принимаются во внимание особенности национального регулирования. Иногда местные правительства устанавливают требования, которые делают невозможной работу на их территории. Ещё один фактор, который принимается во внимание — статистика платёжной системы по количеству мошеннических операций (fraud level). То есть анализируется, насколько эта платёжная система защищена, ведь при наличии пробелов в безопасности пострадает бренд Visa.
Безопасности уделяется очень много внимания. Есть специальный отдел Global Informational Security, который имеет очень большой вес в разработке. Любое разрабатываемое приложение, если оно сообщается с внешним миром, должно быть им одобрено. Visa гордится тем, что за всё время существования ни разу не зафиксирована удачная попытка проникновения в её дата-центр. Это налагает дополнительные требования на процесс разработки. Например, каждое приложение обязательно проходит через penetration-тест. Есть специальный отдел, который занимается тем, что пытается взломать приложение до того, как оно выйдет в паблик.
Чей Крым?
Когда вышло распоряжение правительства США о санкциях в отношении Крыма, Visa как финансовая корпорация обязана была ему подчиняться. Для нас было большой технической проблемой обеспечить прекращение работы с территорией полуострова, поскольку обеспечение фильтрации трафика должно быть реализовано на инфраструктурном уровне и уровне каждого приложения Visa.
В отдел тестирования пришёл заказ проверить, действует ли правило блокировки. Но как фильтровать? Симулировать этого мы не можем, геолокацию тестирования нельзя задать на город или область — только на страну в целом. Как определить, какие транзакции относятся к территории России, какие — к территории Крыма, а какие — к Украине? Единственным способом было физически находиться на территории Крыма и совершить транзакцию, чтобы подтвердить, что она заблокирована. В итоге нашли тех, кто сделал этот тест с территории Крыма.
Чем отличаются американские компании
Сначала удивляло то, как здесь относятся к решению проблем. В Беларуси я привык, что любое совещание начиналось с того, что люди боялись, чтобы на них не возложили вину за какую-то проблему. И значительная часть времени уходила на разборки и доказательства, кто в ответе за проблему. В Штатах же: есть проблема — давайте её решать. Ни минуты не тратят на поиск виноватых.
Здесь очень ценят инженерные кадры. Происходит очень частая ротация: в среднем человек работает на одном месте около 2-3 лет. Конкуренция за специалистов очень высокая, поэтому компании стараются максимально облегчить жизнь техническому персоналу.
Например, у нас большая проблема с тем, чтобы добраться на работу из-за загруженности дорог. Visa предоставляет автобусы. Очень гибко относятся к рабочему времени: можно 2-3 дня в неделю работать из дому, если это необходимо и не мешает рабочему процессу в целом. Есть бесплатные внутренние ресурсы, можно заказывать курсы и лекции. Это касается как технических, так и лидерских или коммуникативных навыков. Определённая сумма выделяется на обучение с помощью внешних ресурсов. Я, например, за последний год закончил три курса: по безопасности, мобильному тестированию и развитию навыков коммуникации.
80% — самообразование
Я ощущаю недостаток классического технического образования, поэтому постоянно стараюсь догнать в этой области. Нет такого, что попал в Visa — можно расслабиться.
Процентов 80 — это самообразование. Я самостоятельно освоил библиотеку Selenium. На платформе utest можно подключиться к любому проекту и выполнять там задания. Значительно мне помог ресурс Coursera, откуда я почерпнул процентов 40 всей профессиональной информации. Недавно прошёл дизайн-анализ алгоритмов — один из тех классических курсов, которых мне не хватало. Сейчас прохожу курс по криптографии. Я выбираю стенфордские курсы — там объясняют довольно понятно, чистый английский у профессоров (много курсов на сайте самого университета). Стараюсь раз в три месяца заканчивать там курс, хотя некоторые, конечно, бросаются на середине.
Есть группа технологий (облачные технологии, мобильное тестирование), которые в любом случае нужно знать, даже если сейчас вы с ними не работаете. Это будет обязательным условием при поиске следующей работы.
Я читаю профессиональные ресурсы, плюс самостоятельно стараюсь делать свои маленькие проекты. Когда изучаешь что-то новое, на них можно хорошо потренироваться. Например, когда старшая дочь пошла в школу, нам нужно было найти новое жильё. И для того, чтобы фильтровать результаты поиска, я написал программку, которая соотносила данные из двух источников и определяла, к какой школе ближе тот или иной адрес съёмного жилья. Так я закрепил свои знания в Python.
Ещё важнейшим источником знаний является профессиональная литература. Думаю, за пять лет карьеры уже прочёл около 15 книг, примерно половину из них касались непосредственно тестирования, остальные описывали фреймворки, паттерны программирования и библиотеки языков программирования.
Зачем QA программирование
Знание языков программирования сильно расширяет поиск вакансий. Да, есть позиции, не требующие знание программирования, но их мало, а желающих много. Выбор простой: или толкаться в большой очереди за 10 процентами вакансий, либо за 3-6 месяцев изучить основы простого скриптового языка и получить доступ к 90 процентам предложений. При этом от QA не требуют концептуального знания, не будут спрашивать об объектно-ориентированном программировании или полиморфизме. Достаточно знать программирование в пределах выполняемой задачи, владеть каким-нибудь легким фреймворком (например, Robot Framework).
Наибольшее количество вакансий требуют знания Java — у компаний много legacy-фреймворков, которые писались 10 лет назад, а теперь их нужно поддерживать. Но это касается больших компаний. Маленькие используют более новые технологии и тут лучше знать Python. На третье место по популярности в долине я бы поставил Ruby. Если ты знаешь все три языка, то гарантировано можешь устроиться на работу в течение недели.
Для поиска работы, кстати, полезны профессиональные группы в том же Facebook. Я подписан на группу QA в Сан-Франциско. Там люди регулярно задают вопросы, дают ссылки на инструменты, объявления о вакансиях. Всегда можно навести справки о предполагаемом работодателе, получить информацию о том, кто менеджер проекта, каков состав команды. Да и тем, кто размещает вакансии, проще нанимать более-менее знакомых людей, пусть даже виртуально. Поэтому информация о новых вакансиях в первую очередь распространяется по таким группам, а уже потом попадает в свободный доступ. Если вы общаетесь в интернете 2-3 года, то можете получить приоритет при найме.
Фото: из архива А. Половинко
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.