Стать РНР-разработчиком и найти хорошую работу — всё за полгода
Роман работал в логистике и в процессе проникся программированием. Теперь он пишет код без «костылей» и готовится стать fullstack-специалистом.
vlada_maestro / shutterstock
Роман Сарваров
Россия, г. Москва
Пройденные курсы
Достижения
Освоил профессию PHP-разработчика и устроился на работу в Кредит Европа Банк. Теперь копит на своё жильё.
В интервью Роман рассказал:
- что подтолкнуло его к программированию;
- как писать код без «костылей»;
- с какими сложностями он столкнулся при изучении PHP;
- о чём его спрашивали на собеседовании в банке;
- почему он хочет стать fullstack-разработчиком;
- к каким выводам он пришёл, проанализировав свою жизнь.
«Я боялся, что программирование — это очень сложно»
— Ты работал логистом. Почему сменил профессию?
— Когда я поступал на специальность, то думал, что логистика — про управление транспортными потоками. Попал на первую работу, и оказалось, что логистика — скорее про управление людьми, работу по телефону и с документами.
Компания перевозила грузы по Москве и России. Я много перерабатывал, а получал в результате столько же, сколько остальные. После нескольких месяцев работы убедился, что логистика — не моё.
— Что тебя подтолкнуло к программированию?
— В той логистической компании был один разработчик. Я наблюдал, чем он занимается, и у меня захватывало дух.
А ещё я вспомнил своё детское увлечение: в пятом классе я делал простенькие сайты, игровые форумы, создавал сообщества кланов. Я любил компьютерные игры, поэтому такая разработка меня увлекала.
— Почему же не пошёл в сферу IT сразу после школы?
— Я всегда боялся, что программирование — это очень сложно. Думал, нужно знать высшую математику, информатику. А у меня с ними были проблемы.
— И что изменило твоё мнение?
— Тот разработчик наглядно показал и объяснил, что на программиста можно выучиться самостоятельно. Меня как озарило. Наступил новый, 2020 год, и я решил все силы бросить на обучение.
Если для многих 2020 стал неудачным, то для меня — самым насыщенным и успешным за всю жизнь.
— Но учиться в вузе на логиста ты не бросил…
— Я подумал: чтобы в будущем стать большим начальником, пригодится корочка. Тем более мой профиль называется «менеджмент», а учиться осталось всего полтора года.
О коде без «костылей» и лучшем фреймворке для РНР
— Почему среди всех языков программирования ты выбрал PHP?
— РНР — самый распространённый язык для веб-разработки. Facebook*, «ВКонтакте», «Википедия» — все эти сайты сделаны и работают на нём. Плюс низкий порог вхождения — для старта нужны минимальные усилия.
— А какие есть альтернативы: если я хочу писать код для сайта не на РНР, то на чём?
— Можно попробовать на Java, Kotlin или на Python. Но мне кажется, что РНР всё равно самый простой для использования.
— Я нашла твой профиль на »ХабрКарьера». Там ты пишешь, что делаешь качественный код без «костылей». Что это значит — код без «костылей»?
— Писать код без «костылей» — принимать решения, которые не навредят коду в будущем. «Костыль» помогает на одном этапе, но не решает проблему в целом.
— А почему эти «костыли» вообще возникают?
— Из-за незнания теории. Многие разработчики-самоучки хорошо натренированы практически, но не знают общих основ. Например, как выстроить всю систему так, чтобы твой код был понятен любому программисту? Мне эту теорию дали в Skillbox.
— Курсы по PHP предлагают многие образовательные платформы. Почему остановился на Skillbox?
— На Skillbox проходила выгодная новогодняя распродажа — это первое. Мне понравилась программа с новейшими инструментами, которых нет у конкурентов, — это второе. Например, на курсе шло изучение фреймворка Laravel — одного из самых популярных и простых фреймворков для РНР.
— В чём его простота?
— Laravel предлагает готовые инструменты для работы с веб-проектом. Можно создавать временные базы данных, проверять заполнение HTML-форм и содержание PHP-сессий.
«У меня был hard-режим»: об учёбе в Skillbox и языке РНР
— Ты начал обучение в Skillbox и параллельно работал на старой работе. Как совмещал?
— У меня был hard-режим. Я поставил себе цель — выучиться на PHP-разработчика за полгода. Каждый день после работы я учился и учился. Я почти не гулял, не играл в игры, не делал ничего другого. Я пожертвовал личным временем, но зато достиг цели. Думаю, без онлайн-университета моё движение к ней замедлилось бы раза в три.
— Неужели за полгода такой интенсивной работы не было выгорания?
— Нет! Наоборот: я так влюбился в учёбу и профессию, что не мог остановиться. Я понял, что в программировании нужно постоянно учиться. Иначе — тебя догонят и перегонят.
— Какое задание показалось самым интересным на курсе?
— В качестве курсовой мы создавали интернет-магазин с нуля. Даже наполнение искали сами. В реальности, конечно, так никто не делает: обычно работу начинают уже на готовых вариантах.
Этот опыт помог погрузиться во все технические тонкости. Я понял, как работает код без фреймворка: ты просто сам придумываешь, как осуществлять разные задачи.
— А что для тебя оказалось самым сложным в изучении языка РНР?
— Мне тяжело давалась архитектура приложения. Также непросто было понять в объектно-ориентированном программировании, как правильно структурировать проект, применять шаблоны, как управлять базами данных и работать с MySQL.
— Как справился?
— Просто уделил этим моментам больше времени. Нашёл для себя такую схему: пересмотреть урок по теме несколько раз — задать вопросы в чате — сделать перерыв в день — снова вернуться к теме и уже с лёгкостью усвоить материал.
— Какие минусы в языке РНР видишь?
— Раньше меня напрягало, что РНР — самый популярный и, соответственно, самый низкооплачиваемый язык. Но со временем понял: тех, кто разрабатывает, — много, а тех, кто разрабатывает хорошо, — гораздо меньше.
Решил: если делать качественно, то и уровень заработка будет приемлемым.
— А как ты сейчас оцениваешь свой уровень по зарплате и должности?
— Я оцениваю себя чуть выше мидла, ближе к сеньору. Думаю, минимальная зарплата для такого уровня — это 100 тысяч рублей после вычета налогов.
«Уже на втором собеседовании меня взяли на работу»
— Как искал работу? Столкнулся ли с той жёсткой конкуренцией на рынке, которую предполагал?
— Так вышло, что работу я искал в начале пандемии. Казалось бы: вакансии должны сократиться, но я устроился почти с первой попытки.
На одном собеседовании я не сошёлся с работодателем по условиям, а уже на втором — в Кредит Европа Банк — меня утвердили. Сказали, что человека на это место они искали полгода :)
— Ого! А что спрашивали на собеседовании?
— Минут сорок задавали вопросы о РНР, правильных практиках в языке, про фреймворк Laravel. У меня не было своих проектов, не было опыта, и мне дали работу только на основе моих теоретических знаний.
После этого я понял, что очень важно найти фреймворк, на котором будешь специализироваться. На рынке я вижу всё больше вакансий на конкретные фреймворки, а не на язык РНР в целом.
— Вспомни первый рабочий день на этой серьёзной должности. Какие страхи и эмоции были?
— Я о-о-очень переживал. Думал: сейчас приду и не смогу ничего сделать. Я такой молодой, 24 года, а там сидят одни матёрые программисты с пятнадцатилетним опытом. Эти переживания ушли уже после первого дня. Коллеги всегда помогали, если я что-то не понимал.
— Расскажи, какими проектами занимаешься на работе.
— Мы с напарником автоматизировали создание, согласование и регистрацию разных документов и приказов. Если простым языком: раньше все сотрудники создавали документы в обычном Word, распечатывали, ходили по кабинетам и подписывали.
Мы создали систему, которая полностью автоматизирует документооборот банка: согласует файлы без единого распечатанного листа. Даже подписи ставятся только в электронном виде. Время, затрачиваемое на все эти бумажки, сократилось. Теперь за пять минут можно подписать документ из другого города.
— Ты занят только этим проектом?
— Его мы почти закончили. Стартует следующий — проект управления рисками. Будем систематизировать потери банка. Допустим, где-то украли банкомат. Мы заносим этот инцидент в журнал, выбираем ответственных за причины и за решение ситуации.
Такую систему мы будем делать на Laravel + Vue.js. Я как раз прохожу курс на Skillbox по фреймворку Vue.js. Его я, кстати, получил бесплатно.
— Бесплатно? Как это?
— Я порекомендовал курс «1С-разработчик» подруге, и она его купила. Skillbox предложил выбрать курс себе в подарок на эту же сумму. Я остановился на фреймворке Vue.js.
— Почему взял именно его? Насколько я знаю, Vue.js — это JavaScript-фреймворк, а ты изучал РНР.
— А я сейчас как раз начал изучать язык JavaScript, чтобы стать полноценным fullstack-разработчиком в будущем — создавать и клиентскую, и серверную часть сайта.
Фреймворк Vue.js несложный. Я выучил его за месяц. Но я изучил рынок вакансий: количество объявлений по Vue.js в Москве с каждым месяцем только растёт. Уже сейчас — 700 вакантных мест.
— Ты рассказал про основную работу в Кредит Европа Банк. Подрабатываешь ли на стороне?
— Да. В Кредит Европа Банк я работаю очно восемь часов из офиса, а в свободное время подрабатываю на свою старую логистическую компанию как разработчик. На это уходит 15–20 часов в неделю.
Там я помогаю другим программистам: страхую их, если они что-то не успевают, и делаю задачи по отслеживанию транспорта в нашей системе.
— Зачем тебе такая загруженность?
— Хочу приобрести своё жильё. Когда куплю — буду меньше работать и больше учиться. Сейчас у меня четыре занятия: учёба в университете, в Skillbox и две работы — времени катастрофически не хватает.
— А ты не думал о фрилансе? Почему сразу пошёл в большие компании?
— Я вижу во фрилансе гигантскую конкуренцию. Все хотят работать из дома. Много конкурентов и нестабильность меня пугают. При этом на штатной работе радует запись в трудовой книжке — она поможет в будущих трудоустройствах.
О личном блоге и осознанном подходе к профессии
— Какие софт-скиллы нужны РНР-разработчику?
— Разработчик — это всегда человек, который чего-то не знает. Он должен искать информацию среди миллиона сайтов и форумов в интернете, в том числе на английском языке. Или ему приходится донимать коллег.
А ещё для разработчика важна работа в команде. Он должен уметь общаться с напарниками и заказчиками. Иначе возникнут недопонимания, которые помешают работе. У меня так случалось: дают задание, я его делаю, а потом оказывается, что для результата необходимо сделать ещё пару доработок. Но я не заложил на них время, потому что заказчик не объяснил в самом начале задачу детально, — и в итоге все пролетели по срокам.
— Ты упомянул, что хочешь стать fullstack-разработчиком. Зачем брать ответственность за все этапы разработки, если можно оставаться узким специалистом?
— В будущем я хочу создавать свои проекты. Чтобы делать их красиво и качественно, нужно уметь работать с технологиями как на клиентской части сайта (frontend), так и на серверной (backend).
— Уже есть задумки для своего проекта?
— Придумать идею — это самое сложное :)
Так как я раньше работал с транспортными перевозками и знаю их внутреннюю кухню, я думал о создании CRM-системы управления перевозками.
— Я видела твой блог. Тоже отличный старт для личного проекта!
— Свой блог я делал около двух месяцев. Сам создавал все элементы, рисовал логотип. Проект был создан именно для тренировки.
Я считаю, что все приобретённые навыки необходимо любыми способами применять на практике. Этот сайт как раз стал примером моих возможностей и работ.
— Ты очень энергичный ученик. Участвовал во многих активностях от Skillbox: ходил на офлайн-встречи, писал отзыв для конкурса. Давай по порядку: чем для тебя был полезен опыт живого вебинара?
— Я был на встрече «Как стать РНР-разработчиком». Это вводная презентация в профессию: какие технологии учить, к чему стремиться. Я тогда сильно замотивировался. А ещё познакомился со своими преподавателями и смог лично задать несколько вопросов.
Кстати, пользуясь возможностью, очень хочу поблагодарить своих наставников: Михаила Волкова по РНР и Рината Садыкова по Vue.js :)
— А теперь про конкурс отзывов. На нём ты занял третье место. Когда писал свою историю и анализировал путь в профессию, к каким выводам про самого себя и жизнь вокруг пришёл?
— Благодаря своему пути я понял, что нет ничего невозможного. Я смог кардинально поменять профессию за короткий срок, а значит — смогут и другие. Если человек по-настоящему захочет, он добьётся чего угодно.
Главное — полюбить своё дело и всё время учиться. «Куплю какой-нибудь курс и заработаю денег» — так не выйдет, это не панацея. Сначала нужно изучить себя и соотнести свои желания с будущей профессией.
Блиц
— Посоветуй несколько платформ для профессионального развития?
— Люблю сидеть на «Хабр. Вопросы и ответы». Разбираюсь в чужих вопросах — это повышает навык. И задаю свои.
На ютубе смотрю канал Дмитрия Афанасьева о фреймворке Laravel и канал Владилена Минина о frontend-разработке, Vue.js в том числе.
— Чем занимаешься в свободное время?
— Люблю гулять. Могу ходить часами по Парку Горького и Царицынскому парку.
— Любимые компьютерные игры?
— Сейчас на них нет времени. Но это World of Warcraft и Counter-Strike: Global Offensive.
— О чём мечтаешь?
— Хочу постоянно путешествовать. Как минимум два раза в год. Или даже работать и путешествовать. Самое большое желание — поехать в трип по Европе на машине и посетить Францию, Испанию, Италию, Великобританию, Германию.