Всем привет! Меня зовут Леонид и это моя история успеха — как я работал на радио, а потом стал программистом и устроился на работу в Unity.
- С чего все начиналось
- Зачем мне понадобилась разработка
- Эмиграция в Канаду и знакомство с Unity
- Несколько советов
С чего все начиналось
Мой случай не совсем стандартный — все было не так, что я прошёл с нуля курсы, сделал проекты и спокойно нашёл работу. Но обо всем по порядку.
Начну с того, что я универсальный солдат — то есть я наполовину гуманитарий, а наполовину технарь. Это означает, что на деле ни в том, ни в другом я не могу достичь очень высоких результатов именно благодаря предрасположенности.
Я закончил региональный политех по направлению программирования на очно-заочной форме, но знаний по разработке не получил: ни фундаментальной базы, ни практической ориентации. В это время у нас уже появился первый ребёнок, поэтому я быстро понял, что работа днём, а ребёнок вечером плюс учеба ночью не могут быть совместимы.
Не смотря на наличие двух дипломов в околоайтишной сфере я работал где попало: колл-центр у мобильного оператора, продажа винды и антивирусов в корпорат, какое-то время даже на местном радио, но быстро понял, куда всё у нас идёт, и засобирался эвакуироваться в Канаду. Там для дополнительных баллов по программе иммиграции нужен был опыт работы по специальности. Ну и на канадском радио я бы никому с «фром май хартом» не нужен был, поэтому с нуля ушёл в мануальное тестирование, где варился четыре года.
Зачем мне понадобилась разработка
Развиваясь в этой профессии, рано или поздно упираешься в то, что вне ветки скиллов менеджмента тебе для полноценного сеньорства необходимо знать программирование и DevOps. Это нужно и для того, чтобы самому делать автоматизацию, и для понимания кода разрабов. И да, сейчас в компании уровня Unity уже без таких навыков не попадёшь.
Читайте также: Чему мидлы и сеньоры могут научиться на Хекслете: девять направлений
Я, как и многие универсальные техногуманитарии, пытался сначала залезть в это без структурированной базы через разные отрывистые знания микрокурсов — лекций на YouTube, включая каких-то ребят с Java, которые 20 уроков подряд учили меня выводить лог. Но в итоге мне стало понятно, что это долгий и неэффективный путь. Официальная документация — это хорошо, но для новичка это тоже не то. А в 2014 году я нашёл Хекслет.
Если кратко, Хекслет для студента это как опытный сеньор и ментор. Он тебя грамотно и структурировано проводит от азов до поиска первой работы с уже необходимым набором знаний работы в проде за счёт выстраданных выполненных проектов.
Я не просто так упомянул менторство — это именно тот стиль обучения, где тебя направляют к поиску ответов, а не пихают пережеванное.
Есть TDD, есть BDD, а Хекслет это PDD — pain driven development. Некоторые задания заставляют мозг кипеть так, что хочется прилететь и лично создателям сказать всё, что о них думаешь. Но потом, после долгого гугления и дебаггинга происходит щелчок, и у тебя внезапно складывается пазл. Естественно, после таких экзекуций информация остаётся в долговременной памяти, а не выветривается за неделю.
Есть куча мемов на тему того, как ощущают себя разработчики а-ля «я Бог — я отстой». То же самое, я в этом уверен, происходит с большинством новичков (да и не только) в программировании.
Эмиграция в Канаду и знакомство с Unity
Возвращаясь к истории: параллельно шли два сюжета. Я учился на Хекслете по ночам — это весьма непросто с семьей после 30 лет. Я брал в основном интересные мне курсы по JavaScript, так как автоматизация фронтенда сейчас делается на нем.
Закончил первый проект, не доделал второй, и в 2016 году переехал-таки в Канаду. С опытом стал заниматься здесь автоматизацией — фронт и API, и в 2020 году меня нашли ребята из Unity на должность SDET. Тут я, пройдя 6 этапов собеседования, сейчас занимаюсь Assets Store: Cypress+JavaScript для e2e-автоматизации, а в перспективе — component testing, Postman/Jest для тестов GraphQL API, и всё это крутится на GitHub Actions.
Для подачи на позиции в автоматизации тестирования в североамериканские компании нужно быть готовым писать код так же, как и программистам. Кто-то просит в лайв режиме на доске сотворить рекурсию, кто-то даёт ссылку на сервисы по проверке знаний, где на время надо решать задачи, кому-то я сам писал демо-проект по автоматизации e2e-тестов их же сайта, и мы вместе разбирали этот код.
Помимо этих скиллов, нужно уметь поддерживать small-talk, улыбаться и вообще быть приятным человеком, в условиях удаленки это стало ещё более важным. В то же время нужно учиться давать конструктивный фидбек, у ребят из СНГ бывает с этим неважно. Кто-то искренне не понимает, почему нельзя в лоб сказать «твой код гов**».
Вообще до того, как меня нашли ребята из Unity, я дрейфовал в менеджерскую сторону: стал лидом нашей монреальской команды + товарищи из Чикаго обещали мне должность менеджера. Но на данный момент я понимаю, сколько же всего я ещё не знаю и хочу заполнить эти проблемы перед тем, как нырять в бесконечные митинги всех со всеми. Когда ты сам что-то созидаешь, это невероятно интересно, нежели чем писать ванильные отчёты об успехах команды в Slack.
Несколько советов
Учиться мне помогает регулярное расписание: выделяю время в календаре, когда я занимаюсь, хотя бы даже немного. Если решить задачу не получается, пробую ещё пару дней, если нет — смотрю решение учителя, понимаю его, и с нуля пишу сам. Не страшно, если с первого раза не выходит, Хекслет так устроен изначально, поэтому возвращайтесь к задачам уже в лучшей версии себя.
А ещё у сервиса, пожалуй, самое сильное русскоязычное коммьюнити, так как основатели — супер сеньоры в первую очередь. Поэтому рыба здесь благоухает с головы и притягивает подобное, начиная с сотрудников, менторов и самих PDD-пользователей, прошедших огонь, воду и медные трубы.
Сейчас же я решил вновь вернуться на Хекслет и освежить знания по JS и юнит-тестам. Ещё для тех, кто увлекается хардкорным e2e-тестированием, рекомендую блог экс-CTO Cypress, Глеба Бахмутова, где можно почерпнуть невероятное количество полезной информации: Better world by better software.
В заключение ещё раз хочу акцентировать внимание на том, что без наличия чисто технарских навыков я смог благодаря Хекслету кумулятивно прокачивать скиллы, которые и помогли найти работу в одной из мировых топ IT-компаний.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях