Php программист кто это: Php developer задачи и обязаности php программиста

Содержание

PHP — я бы купил это за доллар / Хабр

Объективно можно сказать, что в настоящий момент PHP не самый сексуальный и клевый язык программирования. Онлайн-школы не стремятся рекламировать курсы по PHP, мы не видим истории успеха, начинающие с фразы «Я взял в руки учебник по PHP», да и вообще идет мнение, что лучше совсем никак, чем быть PHP-программистом (а если слышим про битрикс, то сразу можно на костер). Тем не менее, я не согласен с этим, и расскажу, почему инвестиция времени в ПХП себя окупает.

Я бекенд-разработчик, в свое время работал на Python и Java, а сейчас работаю на PHP.


В чем клёвость PHP

Большинство конференций по Python, начинаются с фразы «Мы собрались с вами тут, так как Python — клевый». И эта клёвость чаще всего подразумевается в элегантности языка, большом количестве применений python, и огромного количества готовых библиотек и фреймворков под любую задачу. И это действительно так, ведь синтаксис Python позволяет писать весьма элегантный код, а применяется Python от небольших скриптов и парсеров до космических кораблей.

Клёвость PHP же заключается в том, что он имеет всего одну область применения, но позволяет добиваться выдающихся результатов в ней, на проектах любой сложности, на любой стадии развития программиста, как специалиста.

Скорость и качество. Если есть задача собрать на коленке быстрый MVP проект, то можно писать весьма простой код с огромным числом допущений и неявных преобразований. А если все серьезно, то включаем стрик-тайп, обмазываемся код-стайлами и дата-чекерами, которые заставляют сверять типизацию и явно убрать всю магию из кода. В итоге, можно контролировать скорость и качество разработки, отдавая приоритет тому или другому.

Вектор развития PHP. Если говорить уверенно и помпезно, то PHP в настоящий момент идёт к тому, чтобы стать такой комфортной-версией Java на батарейках. Сначала была увеличена базовая скорость работы языка, а в 8 версией завезли полноценный JIT-компилятор. Перенимается строгая типизация и добавляются новые фичи из других языков.

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

Фреймворки под любой проект. Если нам нужно разработать достаточно типичный сайт, то можно взять готовую CMS (WordPress, Magento, Bitrix и так далее). Если нам нужно запустить гибкий стартап, то можно взять фреймворк для RAD-разработки в виде Laravel. А если стоит задача разрабатывать и поддерживать сложную систему enterprise — уровня, то в ход идёт Symfony.

Более того, если вообще не стоит задача что-то разрабатывать, но есть необходимость слегка поменять стандарную логику, можно взять готовый конструктор сайтов в виде Shopify, Wix и через их апи сделать кастом. И в большинстве случаев этого будет достаточно.

Преданное и продуктивное сообщество.  Так как ПХП никогда не был хайповым языком программирования (популярным был, но не хайповым и трендовым), то тут достаточно постоянное сообщество, которое любит PHP и вкладывает душу, чтобы его развивать. Иногда вкладываются так, словно продали душу, ради PHP.

скриншот с одного известного сайта

Конечно, на некоторых митах поднимается вопрос, что было бы хорошо найти какой-то мазершип в виде крупной айти-компании, которая будет спонсировать людей, которые развивают язык. Но пока все идет на уровне популярных фреймворков и овнеров cms сиситем (и в общем неплохо).

PHP — это про сайтики?

Представьте, что на дворе 2005-2008 год, несколько парней решило сделать свои проекты. В качестве основы, они взяли PHP, так как ничего другого впринципе больше не было. Они сделали MVP и запустили проект.

Прошло 12-15 лет. 

Определенная часть проектов этих парней выжило, окрепло, заработало аудиторию и стало приносить стабильный доход. Проекты усложнились, команды разрослись, разработалось грамотное управление и так далее.  

Так как проекты были написаны уже на PHP, вложено в них было много человеко-часов, все разработчики знали PHP, то решено было не искать приключение на 5 точку с переписыванием на другой стек, а просто либо стали развивать свой кастомный фреймворк на PHP, либо перешли на Symfony/Laravel.

Как итог, такие тиер-1 компании, как Avito/Badoo/Mamba/VK/Sber/Mail/Jivo/SkyEng и прочие работают с ПХП и счастливы. Хватит ли теперь смелости назвать PHP про сайтики? 

Но они же переводят часть логики на GO?

Если посмотреть доклады с Конференций по PHP (да есть отдельные конференции по PHP), то можно заметить, что многие команды распиливают монолиты на микросервисы и выносят высоконагруженные модули с PHP на GO. А некоторые вообще заморачиваются, что делают отдельные чат-серверы на Go (и они работают!) — например. Это круто, и вот почему!

Представьте, что вы джун который хочет выучить Go и устроить на него работать? Получится ли у вас это сделать! Нет! Ведь там где используется Go, требуется высокая компетенция и опыт работы.  

Однако можно будет устроиться в компанию, где используется и php и go на php стек и при желании практиковаться с GO. А может быть и полноценный переход сделать если это будет интересно с развитием компетенции.

Это же, в свою очередь, позволяет php разработчикам переключаться на GO и освежать впечатления от работы. Одни плюсы!

Развитость экосистемы PHP

Можно долго рассказывать о том, какой путь PHP прошел за последние 10 лет. Как он эволюционировал и превратился в язык enterprise уровня. Я лишь приведу такой глупый пример.

Если мы возьмем любую книгу по экосистеме Java и Spring, например, Spring Microservices in Action, заменим через автозамену

  • Spring → Symfony

  • Hibernate → Doctrine

  • Maven → Composer

То большинство людей даже не заметит подставы! Ибо используются одни и те же принципы, одни и те же паттерны, одни и те же парадигмы и решения!

Программисты на PHP делают то же самое, что и программисты на более «серьезных» языках, если им это требуется!

Конечно, иногда особенности и ограничения языка вносят определенные коррективы, но в общем подход к работе не сильно отличается от Java.

А что по деньгам

Тут ситуация хитрая. Если мы посмотрим в лоб зп по PHP на hh.ru или Хабре, то ситуация будет плачевной — практически все конкурирующие стеки дадут разницу в 15-25%. Однако нужно понимать, что php имеет особенность — на нем огромное количество дешевых вакансий на поддержку сайтов небольших компаний и разработку типовых сайтов в веб-студиях. Эти вакансии и опускают среднюю температуру по больнице.

А вот если мы сделаем фильтр по названиям популярных фреймворков (Symfony/Laravel), то тут предложения пойдут на уровне достойных грейдов в приличные места. А если из этого списка предложений выбрать Tier-1 предложения, то местами начинают завидывать и Java программисты.

А если учитывать, что определенная часть php-программистов переходит на GO, то тут ситуация становится совсем хорошей.

Поэтому с оплатой на PHP все хорошо, нужно лишь понимать, что надо повышать свой уровень компетенций.

Перспективы стека

В настоящий момент у PHP нет конкурентов.  

Язык Ruby проиграл бой за популярность и перспективные проекты, так как не смог ничего предложить, кроме своего главного фреймворка (который по итогу скопировали и улучшили на других стеках).

Python в общем-то хорош и прекрасен, но веб-разработка — это не главное его применение. В РФ его используют крайне выборочно либо большие it-компании, либо небольшие стартапы, которые работают с цифрами. И так как это достаточно узкая ниша, все равно большинство проектов будет делаться на PHP.

Стеки Java/C#, как не пытались продемонстрировать, что они тоже легкие на подъем  со своим spring boot и .net core, все равно остаются достаточно сложными и дорогими стеками.

Поэтому PHP будет жить.

Что по итогу

PHP — клёвый, востребованный и перспективный стек. В него можно смело инвестировать свое время и можно быть уверенным, что ты не останешься без работы на обочине технологического прогресса, но это не точно.

PHP-программист 2 — Sijeko

Привет, это Максимал из Сиджеко. Для работы над нашими проектами нам в команду нужен PHP-программист, владеющий современными технологиями серверной разработки. Огромный опыт необязателен — у нас его для вас бесконечное количество.

Обязательно ознакомьтесь с общими требованиями ко всем кандидатам и с требованиями к предыдущей PHP-вакансии.

  • От вас нам нужно уверенное владение базовыми дисциплинами компьютерной науки: архитектура, структуры данных, алгоритмы, реляционные базы данных, ООП. Если хотите понравиться начальнику, расскажите на собеседовании про несколько криптографических алгоритмов.
  • Понимание алгоритмической сложности: по памяти и по времени. Необходимо знать, что такое О большое и о малое.
  • Обязательно уверенное владение хотя бы одним из современных фреймворков. Лучшим вариантом будет Yii2, но Yii1, Symfony и Laravel тоже подойдут.
  • Обязателен опыт разработки какого-либо сайта на современном фреймворке с нуля: от наброска структуры БД до допиливания стилей. Пусть это будет даже небольшой собственный проект с шаблонным дизайном или на голом Бутстрапе, но он должен быть от начала и до конца запрограммирован вами.
  • Если вы не знаете, чем отличается PHP7 от PHP более ранних версий, мы не сработаемся.
  • Если вы думаете, что PHP — это просто, и писать на нём сможет любой дурак, мы не сработаемся.
  • Если вы думаете, что на PHP пишут только очень низкокачественные приложения, мы не сработаемся.
  • Большие плюсы (при отсутствии — научим): знание систем контроля версий, владение каким-либо фронтенд-фреймворком, желание менять мир к лучшему.

Тестовое задание — сделать движок для хранения документации внутри компании (наподобие внутренней вики): авторизация пользователей, тексты документов хранить в MySQL, язык форматирования документов: Маркдаун. Ожидается, что функционал такого базового приложения должен делаться за один-два вечера.

 

Вначале будет больно, но, в конце концов, мы причиним вам добро, нанесём пользу, вложим в вас всё разумное и вечное независимо от вашего желания.

что нужно знать / Skillbox Media

Начнём с особенностей. У PHP слабая динамическая типизация: это значит, что типы переменных определяются во время выполнения программы, разные типы можно использовать вместе, а неявные преобразования выполняются автоматически.

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

  1. PHP бесплатный, а его код лежит в открытом доступе.
  2. Для PHP создано множество библиотек, баз данных и фреймворков.
  3. PHP совместим почти со всеми современными серверами.
  4. PHP гибкий и даёт много свободы.
  5. PHP хорош для новичков, ему легко научиться.
  6. Простая и элегантная система классов и объектов.
  7. Простой синтаксис. Вот пример кода, выводящего надпись «Hello, World», в PHP:
<?php
echo "Hello world";
?>

Как видите, синтаксис очень простой, но обычно PHP вставлен в HTML, и тогда то же самое выглядит вот так:

<html>
   
   <head>
      <title>Hello World</title>
   </head>
   
   <body>
      <?php echo "Hello, World!";?>
   </body>

</html>

Несмотря на то что этот код уже значительно длиннее, он всё равно простой и легко читается.

  1. Чтобы работать с PHP, нужно знать как минимум HTML, а лучше ещё и CSS. Знание JavaScript тоже пригодится.
  2. У простоты и гибкости PHP тоже есть обратная сторона: написать плохой код очень просто, ошибиться легко, а найти ошибку тяжело.
    Из-за этого поддерживать код бывает непросто.
  3. Безопасность. Во-первых, проблему создаёт то, что код лежит в открытом доступе: если кто-то найдёт в коде баг, он может использовать это в своих целях. Во-вторых, из-за простоты языка и большого количества разработчиков код часто низкого качества и в нём не предусмотрена защита.
  4. Скорость. PHP не самый производительный язык: например, его конкурент Javascript — быстрее.
  5. Нет четкой системы в названиях функций стандартной библиотеки: в некоторых есть сокращения, в некоторых нет (call_user_func vs. create_function). В некоторых есть подчёркивание, в некоторых нет (isset vs. is_null), а, например, в названиях функций для работы со строками иногда бывает обозначение str, а иногда его не бывает. Такая нестабильность усложняет работу.

Лучшие фрилансеры в России › Программирование › PHP 3238

Услуги программистов-фрилансеров PHP

PHP — это распространенный, скриптовый язык программирования, который был сконструирован целенаправленно для веб разработок.

Основной специализацией PHP является написание скриптов.

Это отличный вариант для создания веб программ. С помощью этого языка программирования возможно взаимодействие с различными базами данных.

Специалист по PHP должен знать возможности web-программирования, разбираться в серверном программировании, частично в верстке и уметь защитить свои программы от взлома. Найти такого разработчика нелегко среди большого количества IT компаний, тем более если специалист нужен вам в ближайшее время. Мы рекомендуем удаленно заказать разработку PHP проекта.

Такое решение имеет свои преимущества:

  • работа фрилансеров всегда стоит дешевле, чем услуги агентств;
  • благодаря узкой специализации, удаленные сотрудники пишут программы качественно и всегда стараются уложиться в сроки;
  • свободный программист подходит как для решения кратковременных задач, так и для сотрудничества на постоянной основе за договорную цену.

Где нанять программиста PHP

Если вам нужны программисты, то на данной странице нашего фриланс сервиса вы сможете найти сотни фрилансеров по всей России, для которых язык программирования PHP является главной специализацией. Для того, чтобы нанять временного программиста по web-разработке, достаточно разместить задание по своему проекту на ресурсе Freelancehunt указав сроки реализации задачи и цену за услуги разработчика. В 90% случаев фрилансеры сразу приступают к написанию программ.

Публиковать проекты можно совершенно бесплатно. За дополнительную цену мы предоставляем сервис Сейф, с помощью которого можно обезопасить вашу сделку с удаленным сотрудником. Эта услуга имеет комиссию, стоимость которой значительно дешевле, чем у большинства конкурентов.

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

Фриланс сервис Freelancehunt — это возможность нанять специалиста, который удаленно реализует ваш проект дешево, быстро и в установленные сроки.

Что делает программист PHP?

Программист PHP разрабатывает сценарии и реализует кодирование для различных веб-сайтов и приложений, используя язык сценариев PHP. PHP используется для создания динамических веб-приложений, которые полагаются на ввод пользователя для правильного отображения информации. Информация хранится в базе данных MySQL, а сценарии PHP отправляют команды в базу данных для извлечения и отображения соответствующей информации. Это основа многих веб-приложений.

PHP может использоваться для автоматического отслеживания посещений веб-сайта, для обновления отображений нового контента, публикуемого в определенной области веб-сайта, и для управления общим отображением контента для каждого пользователя, поскольку он может быть встроен в HTML. PHP — это язык сценариев с открытым исходным кодом, то есть никто не должен платить за его использование, и он поддерживается группой программистов-добровольцев. Простого текстового редактора будет достаточно, чтобы попрактиковаться в кодировании, хотя для тестирования кода потребуется живой тестовый сервер с поддержкой PHP, если PHP не загружен и не установлен на компьютере, используемом для создания кода.

Чтобы быть успешным программистом PHP, неплохо бы иметь основы в HTML, прежде чем начинать изучать любой код PHP, поскольку эти два языка имеют общие правила синтаксиса. Хотя никакого формального образования не требуется, курсы по веб-дизайну или веб-разработке, вероятно, будут посвящены языку кодирования PHP. Изучение PHP требует времени, самоотдачи и практики, используя язык программирования. Есть много книг, посвященных этой теме, а также бесплатные учебные пособия и онлайн-ресурсы, чтобы помочь. Программист PHP должен ожидать, что потратит много времени на изучение структуры языка, прежде чем узнает, как его реализовать.

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

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

ДРУГИЕ ЯЗЫКИ

Как можно стать PHP программистом — какие навыки нужны в данной профессии?

От автора: всем привет! Сегодня я хочу рассказать об одной из немногих профессий, где наличие диплома о вышке не является решающим фактором при поступлении на работу — о профессии PHP программист. Как можно стать PHP программистом, не заканчивая университет? Проще простого! В данной статье будет перечислен весь перечень навыков, которые вам необходимо будет обрести, чтобы стать профессионалом своего дела.

Помимо офисных и домашних компьютеров, нуждающихся в регулярной разработке ПО, существует огромное количество других гаджетов. Рост разнообразия компьютерной техники соответственно влечет за собой расширение индустрии программирования, а это значит, что профессия программиста с каждым днем становится все более востребованной.

Кто такой PHP программист, и чем он занимается?

PHP программист — это специалист, который отвечает за создание и разработку серверной части сайта. От того, насколько качественно он выполнит свою работу, будет зависеть не только скорость и надежность, но и общее успешное развитие и функционирование ресурса.

Чтобы вы поняли всю важность данной специальности, давайте сравним создание и разработку сайта с постройкой жилого дома, тогда PHP программист — это тот, кто закладывает фундамент, устанавливает несущую конструкцию, перекрытия, стены, крышу и проводит коммуникации. А уют в этом «доме» будут создавать уже другие специалисты.

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Навыки, которыми вам необходимо овладеть

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

Ядро. Я надеюсь, не нужно объяснять, что если хочешь стать PHP программистом, то PHP — это то, что нужно знать, как свои 5 пальцев. Что касается версии, с которой следует начать, то рекомендую не ниже PHP 5.0 (не думаю, что вам попадется вакансия, где придется работать на версии ниже этой).

Чем глубже вы изучите язык PHP, тем лучше для вас, ведь в будущем это будет ваш основной рабочий инструмент. В какой последовательности изучать, и что конкретно, вы можете узнать, пройдя курсы по PHP, воспользовавшись Интернетом или литературой по программированию.

Обязательно изучите реализацию ООП — основная масса CMS и фреймворков написаны с использованием данной парадигмы. Не лишним будет почитать про шаблоны проектирования, особенно про MVC.

Хранилище данных. Сомневаюсь, что, зная один PHP, у вас выйдет найти хорошую работу. Практически все вакансии требуют от программистов умения работать с хранилищами данных. Ничего против других СУБД не имею, но лично от себя рекомендую остановить свой выбор на MySQL, так как именно он фигурирует в массе вакансий.

HTML + CSS. Если вы решили стать PHP программистом с нуля, но, как и с чего начать, не решили, то советую вам получить базовые знания по HTML и CSS, ведь язык PHP связан с генерацией страничек HTML и CSS стилями.

JavaScript. Может показаться, что этот клиентский язык программирования уж никак не может понадобиться PHP программисту, но рынок труда решил иначе. После ознакомления с синтаксисом языка JavaScript, рекомендую сразу же перейти к изучению фреймворков, например, JQuery или ExtJS.

ОС. Так как большинство хостинговых серверов, написанных на PHP, работают под эгидой Linux или Unix, то, соответственно, лучше ознакомиться с данными ОС. Мой вам совет — установите на своем рабочем компьютере Linux (лично я пользуюсь Linux Ubuntu). На сегодня в этом дистрибутиве установка и настройка LAMР сделана так, что не вызовет у вас никаких трудностей. Далее рекомендую поработать с командной строкой.

Веб-сервер. Легче всего начать с Apache, ведь на данный момент — это самый распространенный веб-сервер. Но особо углубленно изучать его тонкую настройку нет смысла, так как лучшим по производительности будет дуэт Ngix + PHP-fpm.

Если вы будете работать в режиме фрилансера, то рекомендую поучиться работать в Photoshop и поглубже изучить HTML + CSS, ведь вам придется самим делать кроссбраузерную верстку. Так как большая часть заказов, скорее всего, будет подразумевать исправление и добавление функционала распространенных CMS, рекомендую уделить внимание изучению WordPress, Drupal, Joomla, DLE или Bitrix.

Где получить образование PHP программиста?

Конечно, практически во всех технических вузах есть специальности, связанные с IT, но в 99%, чтобы стать профессионалом своего дела, вам не хватит этих знаний и придется постоянно подучиваться.

Беда в том, что в мире программирования все настолько быстро меняется, что институты просто не успевают совершенствовать программу обучения и преподавать актуальную информацию. Поэтому, даже если у вас есть диплом о высшем образовании по специальности программист, не стоит на этом останавливаться.

Заниматься самосовершенствованием можно не выходя из дома, например, пройти видеокурсы по PHP программированию или почитать профильную литературу.

Где искать работу?

Если вы начали изучение PHP программирование с нуля, то не надейтесь, что вас возьмут в крупную компанию и сразу же дадут сложный высокооплачиваемый проект. Для начала найдите IT компанию, которая готова выращивать специалистов. Как правило, сначала вам придется браться за любую работу, которую вам дадут, и со временем вы сможете рассчитывать на сложные и интересные проекты.

Прекрасным местом трудоустройства может стать IT-контора. Здесь вам гарантирован карьерный рост и неплохая зарплата. Став уверенным в себе профессионалом, вы сможете даже рискнуть и попробовать устроиться в Яндекс, Лабораторию Касперского или другую гигантскую компанию. Если же вы не хотите коротать свои будни в офисах, можете работать фрилансером, выполняя временные заказы.

Напоследок хочу добавить, что обучение PHP программированию — процесс достаточно длительный и трудоемкий. Если у вас не получится сразу понять, что к чему, не стоит бросать дело на полпути, ведь только преодолевая трудности вы сможете насладиться результатом.

Друзья, если вам понравилась моя статья и вы хотите узнать еще больше о самых популярных интернет-профессиях, то подписывайтесь на этот блог и следите за его обновлениями. До новых встреч!

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Программирование на языке PHP

Изучите PHP с нуля!

Смотреть

Вакансия: программист PHP::Журнал СА 4.2015

Юрий Трухин, эксперт по облачным технологиям InfoboxCloud

1. Разработчику PHP необходимо уметь строить алгоритмы решения задач, знать основные существующие алгоритмы и паттерны разработки, уметь находить наиболее простое и поддерживаемое решение, отстаивать свою точку зрения. Код PHP-разработчика должен быть чистым, читаемым и тестируемым. Важны знания по написанию безопасного кода, базовые навыки системного администрирования, умение развернуть как продакшн-сервер, так истек разработки. Важны глубокое знание PHP, HTML, JS, MySQL, PostgreSQL и умение создавать высоконагруженные решения на этих технологиях.

2. Мы используем NetBeans и IntelliJ IDEA (PHPStorm) для разработки, но нужно уметь использовать и редакторы Sublime, VIM или emacs. Также необходимо знание MySQL Workbench, linux-консоли. Полезным будет знание Python и bash-скриптинга.

3. Образование высшее техническое. Свое портфолио (например, на github), которое даст понять об уровне работ. Необходимо быть адекватным, любить свою работу и хотеть делать мир лучше. Умение постоянно учиться очень важно, так как в компании задачи могут быть очень разными.

4. Как правило, от трех лет работы по профилю. Плюсом будет опыт работы в проекте с высокими нагрузками.

5. Необходимо знание и понимание принципов работы хостинга и облачных технологий, умение работать с различными веб-сервисами и API. Желателен опыт работы с биллинговыми системами. Плюсом будет знание платформы Parallels Automation.

Антон Степаненко, руководитель отдела разработки платформы, Badoo

1.  Я бы выделил три ключевых момента.

Первый – язык PHP во всех его формах и проявлениях, то есть как веб-разработка, так и консольные скрипты; как процедурное, так и объектно-ориентированное программирование; как использование готового функционала, таки знание основных алгоритмов и структур данных. Важно не просто знать синтаксис и стандартную библиотеку, важно понимать сильные и слабые стороны языка, уделять внимание производительности того или иного кода, понимать, что стоит реализовывать на PHP, а с чем лучше обратиться к другим технологиям.

Второй – SQL вообще и MySQL в частности. Разработчик должен уметь писать запросы любой сложности и анализировать их производительность. Плюсом будет понимание внутреннего устройства и механизмов MySQL, атакже основных принципов работы реляционных баз данных.

И, наконец, последнее, но, на мой взгляд, самое важное. Это ориентированность на результат и самостоятельность. Разработчик должен понимать, что он не просто пишет код, а делает продукт. Важно умение вести задачу отпервой строчки кода и до анализа результатов работы кода в продакшене. Сюда входит умение взаимодействовать с коллегами из самых разных отделов, будь то разработка, тестирование или продуктовые менеджеры. Мы ценим умение работать без необходимости постоянного микроменеджмента со стороны руководителя, способность трезво оценивать сроки, расставлять приоритеты и вовремя сигнализировать о проблемах.

2. Все довольно демократично. Как правило, это ноутбук с операционной системой MacOS либо GNU/Linux (любой дистрибутив, но наиболее распространен Ubuntu), работа на Windows не поощряется. Самая популярная среда разработки – PHP Storm, хотя здесь ограничений нет. Далее следует довольно стандартный набор: JIRA, git, MySQL, PHP, nginx, браузер и клиент для базы данных по вкусу. Существует множество утилит, написанных ииспользуемых разработчиками внутри компании, которые облегают какие-то повседневные операции, будь то отладка кода, анализ производительности или код-ревью. По необходимости докупается платное программное обеспечение, если его использование оправдано.

3. Никаких строгих требований нет, в первую очередь мы смотрим на те навыки, которые кандидат демонстрирует на собеседовании. Но образование ведущих технических вузов страны, например, ВМиК МГУ или МФТИ, является плюсом.

4. Аналогично предыдущему пункту. Определяющим является то, что человек умеет и как себя показывает. Но наличие опыта работы в крупных продуктовых компаниях, а также опыт работы с высокими нагрузками мы ценим.

5. Пожалуй, здесь можно упомянуть только повышенные требования к производительности и надежности кода. У нашего проекта очень большая аудитория, соответственно речь идет о десятках тысяч запросов в секунду, географически удаленных друг от друга на тысячи километров серверах и сотнях терабайтов данных. И, несмотря на все сложности, мы должны сохранять высокую скорость работы и не терять данные. Соответственно каждый разработчик должен это понимать, ценить, уметь писать код, удовлетворяющий этим требованиям, а также находить и устранять проблемы в этой области.

Александр Горный, директор по информационным технологиям Mail.Ru Group

1. Для любого программиста самое важное – разбираться в устройстве и принципах работы компьютерных систем: без этого понимания он будет писать код вслепую. Если вы PHP-разработчик, вам также нужно знать азы фронтенда. Они существуют не в вакууме – это части единого целого, и сильный специалист просто обязан понимать, как они взаимодействуют. Очень важно уметь общаться с людьми и понимать, что они хотят на самом деле, даже если их запросы выражены не совсем (или даже совсем не) техническим языком.

2. Помимо языка, понадобится знание популярных фреймворков – Zend, Yii и так далее. Подразумевается, что хороший специалист следит за обновлениями версий языка. В базовый набор также входят HTML, CSS, знание JavaScript и AJAX, jQuery и Bootstrap, основы SQL и оптимизации запросов.

3. Мы не просим показать диплом на собеседовании.

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

Мы, со своей стороны, стараемся переломить эту ситуацию – на базе МГТУ и МГУ работают наши образовательные проекты, Технопарк и Техносфера, где ребята могут получить как раз «боевой» опыт веб-разработки.

Кстати, опыт наших образовательных проектов подтверждает, что самообразование может успешно компенсировать «непрофильность» факультета: например, во время последних вступительных испытаний в Технопарке самый высокий балл получил студент юридического факультета.

4. Как правило, в вакансиях указано требование опыта работы от двух лет. Понятно, что это среднее значение – кому-то может понадобиться больше времени на то, чтобы набраться опыта, а кто-то осваивается быстрее.

5. Здорово, если у человека есть опыт работы с высоконагруженными проектами. С другой стороны, если специалист сильный, а такого опыта нет – в Mail.Ru Group он его очень быстро приобретет. Для нас по-настоящему принципиально, чтобы разработчик сам пользовался продуктом, над которым он приходит работать: в игровом департаменте будет лучше геймеру, над серверной частью социальной сети будет эффективнее работать тот, кто пользуется соцсетями. Бывали случаи, когда человек приходил пробоваться на позицию в одном департаменте, а на собеседованиях выяснялось, что интереснее ему будет в другом – там он в итоге и оставался.

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

Вадим Харитонов, Web Developer в Wargaming

1. Он в первую очередь должен быть хорошим программистом – настоящим специалистом в своей области: знать методы алгоритмизации, разбираться в объектно-ориентированном программировании и основных паттернах, небояться модульного тестирования и так далее.

Есть и более специфические требования к навыкам. Это те технологии, с которыми придется работать: CMS или Framework (первые – фавориты веб-студий, вторые широко используются в продуктовых компаниях).

Кроме того, здесь (как и везде сейчас) нужен английский язык. С ним намного проще.

2. Если говорить о IDE, то для разработки на PHP популярны две системы: платная PHPStorm и бесплатная NetBeans.

Большинство веб-сайтов работает на UNIX-подобных системах, поэтому знание этой консоли всегда пригодится. Кроме того, разработка на системах UNIX всегда уменьшает количество проблем при релизе проекта, что, несомненно, огромный плюс.

Веб-серверы, как правило, на основе Apache или Nginx + PHP-FPM. С версии PHP 5.4 встроили внутренний сервер в сам язык. Для разработки его может вполне хватит, но лучше использовать то, что собираетесь запускать на«боевой» машине.

Исторически сложилось, что MySQL была и остается самой популярной базой данных при разработке веб-проектов на PHP.

Очень важным процессом являются отладка и профилирование. Сюда входят Xdebug, Blackfire.io, xhprof и так далее. Удобнее всего пользоваться модулем Xdebug вместе с IDE, они вне конкуренции.

Это минимальный LAMP-стек. Расширение списка и добавление новых тулов зависит от выполняемых задач. Но этого пакета должно хватить, чтобы написать первое веб-приложение на PHP.

3. Обязательное наличие диплома о высшем образовании не требуется. Важна не «корочка», а запас знаний и определенная подкованность в этой области. Если человек готов справляться с заданным объемом работы и делать этокачественно и в срок, то он имеет все шансы рассматриваться как потенциальный кандидат.

Сама компания немало инвестирует в развитие сотрудников. Для специалистов организуются различные тренинги, курсы и конференции. У нас очень хорошо построен процесс обмена знаниями: узнал что-то новое – расскажи другим. Кроме того, в Wargaming учиться и прокачиваться профессионально располагает обстановка: экспертиза очень ценится.

4. Обычно берем людей, у которых за плечами как минимум два года опыта. Исключения крайне редки, за все время к нам попали всего несколько «нулевых» человека.

Важно быть знакомым (желательно близко) с теми технологиями, которые используются в компании. Если до прихода на собеседование кандидат не имел дела с этим софтом, то сразу во все тонкости вникнуть будет довольно сложно. Несмотря на то что порог вхождения в сам язык низкий, владение языком не является ключевым критерием при приеме на работу.

5. Конечно. У нас очень остро стоит вопрос оптимизации нагрузки, поэтому важно наличие экспертизы по ее уменьшению. Обязательный пункт требований – умение писать асинхронный код и использовать по максимуму ресурсы на физической машине.

Мы работаем с нереляционными базами данных, поэтому у соскателя на вакансию знакомство с ними не должно быть поверхностным.

В целом стек используемых технологий внушительный, что очень сильно отражается на требованиях.

Антон Регеда, CTO LinguaLeo

1. Любой программист должен знать компьютерные технологии: структуры данных, алгоритмы. PHP – это Open Source-проект, вокруг него образовалось целое сообщество. Важно быть частью этого комьюнити, чтобы понимать, как и почему развивается язык.

2. Инструментарий PHP-программиста: среда разработки, средства отладки кода, средства развертывания и тестирования приложения, менеджер пакетов, системы контроля версий кода. Из конкретных примеров – PHPUnit, Composer, PhpStorm, NetBeans, Xdebug, phpdbg, Vagrant, Git.

3. Что касается образования: для LinguaLeo не принципиально, закончил соискатель Стэнфорд или Волжский политехнический техникум. Важен талант и опыт человека.

4. Если кандидат знает, как работает интерпретатор PHP, как база данных обрабатывает внутри себя запросы, какие существуют паттерны проектирования, и для каких задач их лучше применять, то это наш человек.

5. Создание продукта для банковской сферы может отличаться от процесса работы над сервисом для массового изучения английского языка. Однако мы не придаем большого значения тому, имеется ли у человека опыт работы именно в нашей области. Нам важнее команда. Наш сотрудник в первую очередь разделяет ценности компании и поддерживает ее культуру. Поэтому требования простые: умение играть в команде, работа на результат, адекватность, любопытство и широкий кругозор. 

 


Исследовательский центр портала Superjob.ru специально для «Системного администратора» изучил предложения работодателей. Программист PHP входит в ТОП-5 самых востребованных программистов. На них приходится 3,5% запросов прямых работодателей. При этом программисты PHP относятся к весьма дефицитным специалистам: в среднем на 1 вакансию приходится 1,1 резюме.

Как стать разработчиком PHP: Руководство на 2021 год

Есть несколько путей, доступных для тех, кто пытается продолжить карьеру в веб-разработке на PHP или разработке баз данных. Существуют варианты высшего образования, как онлайн, так и в кампусе, которые помогут вооружить вас такими важными навыками, как общение, критическое мышление, решение проблем и другие навыки межличностного общения.

Найди свой матч на тренировочном лагере