Кто такой PHP-разработчик, не преувеличены ли слухи о скорой смерти этого языка программирования и о чём стоит помнить новичку, который решил освоить эту профессию, — об этом мы расспросили PHP-разработчика в Mail.ru и преподавателя GeekBrains Илью Зобенько.
Ниже мы привели некоторые интересные моменты из разговора, а послушать выпуск полностью можно на разных платформах:
— Как начался твой путь в IT?
— Именно в PHP-разработке я уже 6 лет, в айтишке в целом — где-то 8.
Изначально входил в IT с должности сисадмина. При входе почему-то было ощущение, что попасть в IT можно только с образованием и желательно с опытом. Было непонятно, откуда его брать. Я тогда учился на первом курсе, и вся операция по поиску работы в IT была таким большим экспериментом, к которому я очень усердно готовился: работал курьером и поглощал книжки по администрированию Linux, пока ездил в метро. Решил наудачу попроходить собеседования, и получилось очень удачно. Я даже нагло проходил собеседования, и в большей степени, мне кажется, это и помогло. Я бросался фразочками, вроде: «Дайте мне шанс, вы не пожалеете, я докажу».В первый рабочий день, когда я вышел на новую работу системным администратором, я понял, насколько всё-таки мало знаний было у меня на тот момент. Было вообще ничего непонятно, но весело.
— Как ты перешёл в программирование?
— Системным администратором я проработал в общей сложности 2,5 года, руководителем отдела — где-то полгодика и уже потом потом два года проработал директором по информационным технологиям.
К программированию я пришёл как раз где-то в этот момент. У нас был проект по автоматизации электронного документооборота. Тогда бюрократические процессы в компании были на очень низком уровне: люди буквально ходили с бумажками, чтобы подписать их, по всему производственному корпусу, который был достаточно большой. Когда появилась задача найти какую-то систему, которая всё это дело оптимизирует, я очень скептично подошёл к решениям, которые были на рынке. Когда ты покупаешь готовое решение, ожидаешь, что оно легко внедрится и все проблемы снимет. А здесь получалось, что решение дорогое, внедряться будет год, и у меня не сходилось в голове, почему это так получается. По вечерам я вёл свой pet project (личный проект), как раз применял PHP насколько мог, писал эксперимент системы электронного документооборота, который взлетел в компании и до сих пор там используется.
— Так что делают PHP-разработчики?
— Так исторически сложилось, что PHP-разработчики сфокусированы на вебе, при том что язык сам по себе универсального назначения и много где может быть использован. До сих пор держатся очень высокие цифры по проценту сайтов в интернете, которые написаны PHP — примерно 80-90. Чуть-чуть поменялся портрет PHP-разработчика: он, наверное, перетекал от фулстека, который на этой PHP писал и бэк, и фронто́вую часть путём шаблонизирования, что сейчас практически нигде не встречается.
Чаще всего можно встретить PHP-разработчика, который сфокусирован на бэкенде, то есть на той части сайта, которую мы как раз не видим. Эта часть выполняет всю сложную работу, хранит данные и оптимально к ним обращается. Поэтому если зайти на сайт или в мобильное приложение, понять, что где-то там под капотом PHP, сейчас практически невозможно.
— Мы знаем, что у тебя был стартап. Как так вышло и чем там может заниматься PHP-разработчик?
— Я реально очень прикололся по разработке, если так можно сказать. И когда уже наскучил этот проект электронного документооборота, я искал какие-то новые решения. Полез просто так на фриланс посмотреть и нашёл ребят, которые делали чат-ботов. Они попросили помочь, там было буквально на два дня работы.
Я взялся и начал править. Понял, что мне не нравится, как всё написано, и начал просто так всё переписывать. Сначала я хотел с ними согласовать это: может быть, я тут получше сделаю? Они такие: нет, давай держаться цели. Не знаю, почему я решил всё переделать. Это уже даже не инициатива, это уже просто желание чистоты: тогда у меня уже были сформулированы какие-то понимания того, как должно выглядеть всё это дело, как программу правильно писать. Я просто взял и переписал за те два дня практически всё и сделал то, что они просили. По результату заказчики сказали: а ты не хочешь к нам в стартап? Риски, как на тот момент казалось, были минимальные, и я в это дело ввязался. Началось приключение под названием стартап Odus.AI.
— А в большой компании можно работать? Есть такой слух, что PHP — устаревший язык. Это так или есть перспективы?
— Сейчас я работаю в Mail.ru в проекте «Юла», пишу как раз бэкенд на PHP. Думаю, что изначально «Юла» писалась на PHP как раз по той же причине, по которой мы его выбирали для стартапа, — это язык, на котором можно быстро проверить гипотезу, и он в принципе справляется по сей день достаточно неплохо. Естественно, это большой монолит, который активно распиливается, но при этом работу свою выполняет очень хорошо. Много компаний до сих пор используют PHP, и наверное, непонимание того, почему компании его используют, может быть навеяно тем, что в интернете всё чаще появляются статьи типа жив мёртв PHP, стоит ли его изучать и т. д. Их уже очень много стало, можно даже подрезюмировать, всё равно в них всегда одно и то же: PHP жив, и всё будет нормально.
Язык действительно до сих пор используют многие компании. Почему говорю «до сих пор» — потому что есть тенденция перехода в микросервисы, особенно если проект очень сильно разрастается. Facebook написан на этом языке, и да, они дорабатывали движок. Они очень давно на PHP, и во времена пятой версии, когда PHP был значительно медленнее, чем сейчас, им приходилось бустить его самостоятельно. Примерно то же самое делали ребята из Вконтакте. Сейчас всё намного лучше: с седьмой версии PHP очень ускорился, язык активно развивается. Годик назад вышла восьмая версия интерпретатора, которая стала ещё быстрее, там добавилось много сахара. Сахар — это структуры или какие-то инструменты, которые делают процесс написания проще, они инкапсулируют в себя какую-то логику и делают язык удобнее.
— Если сравнивать PHP с другими языками, у него есть отличительные преимущества?
— Самое главное преимущество языка, на текущий момент (потому что конкуренция очень высокая), это низкий порог вхождения: начать писать на PHP действительно можно очень быстро, прям в кратчайшие сроки. Проще становится и поиск специалистов, и вход в профессию. В плане выбора среди интерпретируемых языков, наверное, сильной разницы нет. PHP сейчас чуть-чуть побыстрее, чем Python или Ruby, но не настолько, чтобы полностью ставить на это. При этом, поскольку язык всё-таки развивается преимущественно в направлении веб-разработки, он чувствует себя там поувереннее, чем тот же Python, который и в веб, и в нейронке, и в аналитике, и везде. Python очень крутой, но PHP удобен как раз за счёт того, что весь путь хорошо виден, все хорошие практики на ладони. Скорее всего, проект не останется на PHP — такая практика есть.
Если посмотреть сейчас на рынок вакансий, есть два ключевых момента, которые стоит учитывать при выборе профессии PHP-разработчика. Это даст большой буст в скорости, да, но PHP-разработчики статистически чуть-чуть меньше получают, чем разработчики на других языках. Я думаю, это преимущественно из-за того, что их не так много хороших.
— С чего начать изучение PHP?
— Как человек, который кучу граблей нашёл своими ногами и лицом, я скажу, что здесь надо подойти достаточно избирательно. Начинать стоит с курса — я думаю, это в любом случае. Что тянуло назад меня в самом начале — как раз отсутствие окружения, отсутствие наставника и отсутствие мнения со стороны. Когда ты не работаешь в какой-то классной айтишной команде, ты не получаешь никакого фидбэка от людей из твоей же области. Например, когда когда работаешь на фрилансе, ты делаешь проект, отдаёшь и ничего не получаешь, кроме денег (в лучшем случае).
Можно попробовать себя в опенсорсе, но для начала это довольно сложно. А курсы, особенно те, которые идут с наставником, это хороший вариант. Наставник, во-первых, даёт хорошие практики, к которым сразу привыкаешь, и они не вызывают потом никакого диссонанса в голове, а просто сходятся с тем, что ты изучаешь. А, во-вторых, он даёт этот самый фидбэк: он может остановить тебя, когда ты начинаешь уходить в неправильное русло.
Полный выпуск подкаста можно послушать на удобной вам платформе, ссылки — в начале статьи.
Освоить профессию PHP-разработчика на курсе GeekBrains. Что и в какой последовательности предстоит изучать, вы можете узнать из пошагового плана, составленного Ильёй Зобенько.