Главная | Все статьи | Истории успеха

Как полтора года я безуспешно проходил собеседования на PHP-разработчика, а в итоге стал программистом на Ruby on Rails

Время чтения статьи ~8 минут
Как полтора года я безуспешно проходил собеседования на PHP-разработчика, а в... главное изображение

Привет, я Паша, мне 31 год, и уже полгода я работаю Ruby on Rails разработчиком. Это моя история, как я учился, полтора года пытался стать PHP-разработчиком, а потом прошел интенсив Хекслета и Rubyroid Labs по Ruby и практически сразу нашел работу.

Предыстория

Как у многих водится, в детстве мне нравились видеоигры, в которых я проводил очень много времени. Чтобы направить в нужное русло, родители отправили меня на курсы по информатике. Курсы оказались не очень интересными — в отличии от игр, — и я их бросил.

В институте, в течение первого курса у нас шли лекции по C++ — тогда мне показалось, что этот язык ужасен, многое было не понятно. Может я не был достаточно внимателен, либо преподаватель не очень хорошо доносила информацию, но тогда я начал думать, что программирование точно не для меня. При этом я учился на платном и за «небольшое» количество долгов нас не отчисляли, зачет, экзамен и курсовую по C++ я сдал только на 5-м курсе.

После института я пошел работать по специальности — в телекоммуникационную компанию, сначала несколько лет поработал в разных отделах в Yota. Потом перешел в российскую «дочку» французского оператора. В итоге я сменил пару должностей, а к пятому году в компании решил, что пора двигаться дальше. Выбор стоял между сертификацией в сетях или программированием, которое мне очень рекомендовала подруга, владеющая рекрутинговым агентством.

Мысль мне понравилась, но я не понимал, какой язык выбрать в качестве первого. На тот момент выбор стоял между Python и Ruby, но в итоге я выбрал Python, потому что по Ruby просто практически ничего не было на русском языке. Я сразу же купил книгу для учебы, но все никак не мог сесть и начать учиться. Подруга, услышав от кого-то из кандидатов о Хекслете, подарила мне на день рождения подписку на 3 месяца и порекомендовала выбрать курс по PHP. Она обосновала это тем, что вакансий с этим языком много, а порог вхождения — низок.

Хекслет и PHP

В самом начале в Slack мне посоветовали для начала пройти Code Basics, для получения основ. Курс я прошел за несколько дней, получив заряд мотивации, и отправился на Хекслет. И тут меня ждал огромный заряд демотивации на первых же курсах. Я себя таким тупым давно не чувствовал, казалось, что за все то время, что я выполнял рутинные задачи на работе, мой мозг окончательно потерял способность решать задачки. И теперь его предел — строчка в резюме «уверенный пользователь Word, Excel». Но мотивация росла после каждой решенной задачи — сколько же было радости после кривого, но хотя бы рабочего кода, который решал поставленную задачу. Так я неспешно двигался по курсу и в итоге за 9-10 месяцев я выполнил два проекта и дошел до курса по Laravel.

Читайте и другие истории успеха: Как нефтяник и водитель трака стал Java-разработчиком в Майами

К первому проекту на Хекслете я подготовился очень основательно — я проходил его еще в тот момент, когда проекты были ограничены одной неделей. Я взял отпуск, повторил всю теорию, но даже так проект занял почти все свободное время. Я просыпался к утренней проверке, и, как только прилетали замечания, сразу пытался их исправить. В итоге за редактором я проводил весь день, потом немного отдыха перед вечерней проверкой — и снова правки в течение нескольких часов перед сном. Так прошли шесть дней — и проект даже удалось сдать досрочно, опыт я получил просто бесценный — ведь впервые у тебя наступает момент, когда есть только минимальное количество инструкций, и практически за все ты отвечаешь сам.

Второй проект я проходил уже в более спокойном темпе — он занял у меня месяц, и весь этот месяц я был погружен в него. Я переписывал функцию для ast-дерева, кажется, несколько десятков раз. В начале задача казалась невыполнимой, но переписывая ее раз за разом, приходило больше осознания.

Третий проект я проходил уже 1,5 месяца, но он уже казался проще остальных, информацию по Laravel было проще найти, да и задача казалось была более «обыденной».

Попутно я смотрел почти все вебинары Кирилла, пересматривал старые с участием Рахима и понял, что прошел уже достаточно далеко и можно все-таки попробовать выставить свое резюме на соответствующие сайты. Составил резюме, завел Linkedin, снарядил резюме всеми технологиями и практиками, которые я освоил, и выложил его в публичный доступ. Тогда еще я искал работу Питере и только в офис. Из Slack я понял, что CMS — отстой, на такие вакансии я не откликался, а вот на все остальные я очень хотел и везде писал «персональное» сопроводительное письмо. По ощущениям, статистика была печальной — 10 моих откликов приносили не больше пяти отзывов, а ответ давали из них тоже не больше половины — либо отказ, либо тестовое. То есть на 10 откликов я получал максимум 1 тестовое задание.

Первые тестовые я делал слабо, где-то не очень хорошо организовывал структуру и разбивал по классам, где-то не удавалось до конца выполнить задание в нужный срок, и я отправлял то, что было. Иногда я терпел фиаско еще до получения тестового — на технических интервью. Какие-то отказы были обоснованными, какие-то, мне казались субъективными, например, из-за того, что мне уже 30 лет и я уже не «молодой» специалист.

Но были и классные интервью с интересными вопросам и тестовыми заданиями — написать на чистом PHP свою имплементацию MVC-фреймворка, найти и исправить ошибки в коде, который написал «другой разработчик». Попутно закинул пару небольших PR, скорее для строчки в резюме, в Hexlet-Sicp, а в парочке других репозиториев поправил документацию или опечатки.

В итоге после N-го количества неудач запал во мне упал, я откликался на вакансии все реже, а потом в марте 2020 года случился карантин, и я потерял все надежды найти работу в офисе. При этом мне казалось, что я в каком-то замкнутом состоянии — надо было проходить курсы дальше, чтобы подтягивать знания, но сил и желания на это не было. Вокруг были сплошные отказы — обоснованные или не очень, в результате знаний не прибавлялось. В тот момент я решил, что надо немного отдохнуть, отвлечься от программирования, а потом вернуться с новыми силами.

В свободное время читал истории успеха, Slack, смотрел видео на YouTube и читал Twitter Кирилла, чтобы совсем не отдаляться от разработки. Так и закончился 2020 год.

Читайте также: Язык программирования Ruby: особенности, перспективы, рынок труда

Ruby от Хекслета и Rubyroid Labs

В течение всего времени, что я отдыхал от программирования, я часто видел сообщения то от Кирилла, то от других участников сообщества, что Ruby — язык, на котором очень приятно писать, а от фреймворка Ruby on Rails что-то берут другие MVC-фреймворки. Посмотрел пару лайвкодингов Кирилла, документацию — и практически влюбился в язык. С другой стороны — Кирилл везде говорил, что этот язык стоит изучать вторым, имея уже какой-то опыт, что меня немного расстраивало.

В феврале анонсировали курс по Ruby on Rails, а также добавили уроки по Ruby на Code Basics. Я прошел все доступные уроки, проникся языком, его синтаксисом, тем, что доступно для пользователя из коробки — методы, дебаггер, интересная система с блоками.

Спустя пару недель ребята из Хекслета объявили, что будет два курса по Ruby — как профессия, а также совместный интенсив с Rubyroid Labs. Я сначала записался на тот, что от Хекслета, но в итоге его перенесли и я пошел на интенсив с Rubyroid Labs, так как узнал, что они регулярно проводили курсы вместе с белорусским университетом и у них очень много опыта в образовании.

Курсы, стажировка и работа

План курсов был таким — два раза в неделю проходили вебинары, попутно давались несколько домашек, а по субботам — практика. Там мы писали логику игры в тетрис, приложение для поиска названия произведений Пушкина по заданной строке, при этом надо было сделать так, чтобы наше приложение сделало это быстрее других. Между всем этим мы делали домашки, среди которых бот в Telegram и приложение для проверки доступности ресурсов. Задачи были интересные и в меру сложные, к тому же на них давались ревью от действующих разработчиков. В конце блока был финальный проект, идеи на который накидывали сами участники курсов. В общем шик, а не курсы.

Уже на втором месяце курсов я обновил свою резюме, уже на должность Ruby on Rails-разработчика и вернул его на профильные сайты по поиску работы. Заодно «закинул удочку» на предмет вакансий и возможностей в Rubyroid Labs. После окончания курсов я сходил на два собеседования, одна компания сразу предложила должность, но там уточнили, что отдел, в котором они предлагают должность — новый, и кроме меня там не будет вообще других Ruby-разработчиков. То есть я должен буду самостоятельно оценивать сроки, писать что-то, а ревью мне будет проводить тимлид, который не пишет на Ruby. Подумал, что такая вакансия точно не для моего уровня — и отказался.

На другом техническом интервью нервы взяли вверх, и не смог решить задачку на лайвкодинге. После была пара интервью в Rubyroid Labs, после которых HR мне сообщила, что компания готова предложить мне оплачиваемую стажировку. В итоге подумав пару дней я решил уволиться с работы и полностью погрузиться в стажировку, а заодно дополнительно стимулировать себя на успешное прохождение стажировки, чтобы не остаться безработным.

В итоге за время стажировки я написал свое приложение. На бэкенде у меня - Ruby on Rails, на фронте — React + Redux (хотя до этого я знал только базовый синтаксис JS). Плюс написал бота, который взаимодействует с этим приложением, обернул все в Docker, подключил CI, и задеплоил на сервер. Уже только этот учебный проект дал очень много знаний и опыта.

И спустя два месяца стажировки мне предложили должность разработчика — и теперь уже больше полугода я работаю разработчиком.

Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях

Аватар пользователя Павел Михайлов
Павел Михайлов 13 апреля 2022
30
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 18 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 18 апреля
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 18 апреля
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 18 апреля
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 18 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 18 апреля
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 18 апреля
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 18 апреля
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 18 апреля
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 18 апреля
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время