Как стать PHP-разработчиком: путь от нуля до первого оффера
Не «стань разработчиком за 3 месяца» — реальный путь входа на основе данных по 80 вакансий.
Можно ли стать PHP-разработчиком с нуля
Да. По данным SkillStat, 4% вакансий PHP-разработчика — уровня junior или стажёр. Это 3 вакансии прямо сейчас.
«С нуля» для PHP-разработчика — это без коммерческого опыта, но не без понимания веба. К первому отклику нужны: PHP (98.8%), путь запроса от формы до ответа, одна база — MySQL (68.8%) или PostgreSQL (46.2%), один фреймворк — Laravel (38.8%) или Symfony (41.2%), Git (62.5%) и Docker (58.8%). Плюс базовый фронт: JavaScript (45%), HTML (27.5%) и CSS (28.7%) стоят в вакансиях чаще, чем ждут новички.
Трудность входа здесь особая. PHP прощает почти всё: плохой код работает, кривой запрос всё равно отдаёт страницу, дыра в форме не мешает продажам — до дня, когда мешает. Поэтому проверяют не «умеешь ли писать», а «понимаешь ли, что уже написано»: первая работа в PHP — почти всегда чужой продукт с историей, где рядом лежат код прошлого года и код десятилетней давности. И безопасность: твой код принимает данные от анонимного человека из интернета, а за формой стоят заказы и деньги.
Как стать PHP-разработчиком: короткий план
Пять шагов от голого HTTP-запроса до продукта, в котором можно безопасно поменять чужой код.
Что учить PHP-разработчику первым
Не всё сразу. Вот очерёдность по частотности в вакансиях — от самого нужного к менее срочному.
| Навык | Все вакансии |
|---|---|
| PHP | 98.8% |
| MySQL | 68.8% |
| Git | 62.5% |
| Docker | 58.8% |
| Redis | 52.5% |
| REST | 51.2% |
| PostgreSQL | 46.2% |
| SQL | 45% |
| JavaScript | 45% |
| Symfony | 41.2% |
«Все вакансии» — доля из 80 вакансий. Обновлено 12 августа 2026.
Полный список навыков с частотностью, связками и зарплатной премией — навыки PHP-разработчика →
Roadmap PHP-разработчика: от нуля до junior
Порядок опирается на частотность навыков по данным вакансий. Первые 4–5 этапов — минимум для первого оффера.
- 01PHP и основы языка 98.8% вакансий
Синтаксис PHP, ООП, типизация, обработка исключений, стандартная библиотека.
Подробнее → - 02Git 62.5% вакансий
Git обычно ожидается на любом грейде, даже если не всегда явно указан в вакансии.
Подробнее → - 03SQL и база данных 45% вакансий
Реляционные БД, запросы, индексы, транзакции — MySQL или PostgreSQL.
Подробнее → - 04HTTP и REST API 27.5% вакансий
Протокол HTTP, методы запросов, статусы, проектирование RESTful-интерфейсов.
Подробнее → - 05Laravel или Symfony 38.8% вакансий
Laravel — популярный выбор для e-commerce и SaaS; Symfony — для сложных enterprise-проектов. Yii — альтернатива.
Подробнее → - 06Composer middle+
Менеджер зависимостей PHP — базовый инструмент любого PHP-разработчика.
- 07Тестирование middle+
PHPUnit, PHPStan — юнит-тесты и статический анализ ожидаются на middle.
- 08Docker и Linux 58.8% вакансий middle+
Контейнеризация и базовые навыки Linux — стандарт серверной разработки и CI/CD.
Подробнее → - 09Redis и очереди 52.5% вакансий middle+
Redis для кэша, очереди задач (Laravel Queue) — актуальны на middle/senior.
Подробнее → - 10CI/CD — senior/production middle+
GitLab CI / GitHub Actions, деплой, мониторинг. Востребованы на middle/senior.
Подробнее →
Junior-вакансии PHP-разработчика: что реально требуют работодатели
Срез построен на 80 активных вакансий.
Какие проекты сделать для портфолио
Портфолио PHP-разработчика собирается вокруг веба и его рисков: форма, база, деньги, чужой код. Один живой продукт с ролями, защищёнными формами и внятной схемой базы плюс один разбор чужого кода — это уже разговор о работе. Ссылка на работающую страницу здесь весит больше, чем README: продукт можно потрогать.
Как оформить GitHub и резюме
- Pinned repositories: 1–2 проекта на Laravel или Symfony плюс один разбор чужого кода
- README: поднятие через Docker Compose, миграции, тестовые данные. Проект должен запуститься у чужого человека
- Схема базы прямо в репозитории — таблицы, связи, индексы. По ней уровень видно быстрее, чем по коду
- Отдельный файл о безопасности: что и от чего защищено — формы, загрузка файлов, права доступа
- Живое демо на дешёвом хостинге: в вебе ссылка на работающую страницу читается раньше кода
- Раздел «Проекты» вместо «Опыт работы»: что за продукт, какой сценарий, что менял
- Отдельно вынеси опыт с чужим кодом. «Разобрал и переписал выгрузку заказов» весит больше, чем ещё один свой проект с нуля
- Называй фреймворк честно: Laravel (38.8%) или Symfony (41.2%), а не «знаком с обоими»
- Не пиши «делал сайты» — пиши, что именно: каталог, кабинет, оплата, обмен со складом, админка
- Навыки — только из проектов: PHP, MySQL
«Знаю PHP, делал сайты на Laravel, работал с MySQL»
«Сделал личный кабинет заказов на Laravel: роли, история статусов, MySQL с индексами под фильтры каталога — страница списка открывается за десятые доли секунды на сотне тысяч строк. Закрыл формы и загрузку файлов от SQL-инъекций, XSS и CSRF. Отдельно разобрал чужой скрипт выгрузки на 700 строк: нашёл причину дублей заказов, разнёс логику по классам, накрыл тестами. Docker Compose, PHPUnit, демо. GitHub: [ссылка]»
Самостоятельно, курсы или вуз — какой путь выбрать
Курсы для PHP-разработчика
Сопоставили программы с реальным стеком из 80 вакансий — оценка соответствия рассчитана автоматически, это не реклама.
Когда начинать искать первую работу
Готов, когда есть проект на Laravel или Symfony с базой, ролями и защищёнными формами, и ты уже читал чужой код: находил в нём нужное место и менял, не сломав соседнее. Junior-позиций 3 вакансии — параллельно смотри веб-студии и поддержку сайтов: там формулировка другая, а работа та же.
- → hh.ru: фильтр junior и стажировка по запросам «PHP», «Laravel», «Symfony», «Битрикс»
- → Веб-студии и агентства: поток проектов, короткий цикл найма, берут новичков чаще продуктовых компаний — и за год там проходит столько чужого кода, сколько в продукте за три
- → Поддержка и доработка сайтов на Bitrix (20%): отдельная траектория PHP-рынка, вход шире, задачи прикладные
- → Продуктовые компании с собственным магазином, кабинетом или порталом — там PHP идёт в связке с Redis (52.5%), очередями и высокой нагрузкой
- → «PHP 8» в требованиях — про версию кодовой базы. Если у тебя PHP 7, разница добирается за выходные, это не блокер
- → Bitrix в требованиях — маркер прикладной траектории: много интеграций и ограничений готовой системы, зато берут охотнее
- → Java рядом с PHP — вакансия смешанной команды, где часть системы уже переехала. Двух языков от новичка там не ждут
- → «Знание Laravel» (38.8%) при твоём Symfony — не блокер: фреймворк добирается за месяц, если PHP и SQL уже есть
- → Отдельной строкой JavaScript (45%) чаще значит «поправишь форму и скрипт на странице», а не «станешь фронтендером»
Что спрашивают на собеседовании
PHP и веб-основа
- ·Путь запроса от формы до ответа: что делает сервер
- ·Сессии и cookies: где живёт состояние пользователя
- ·Зачем в PHP строгая типизация, если и так работает
- ·Что поменялось между версиями PHP в твоём коде
Покажи обработку формы: валидация, ошибки, ответ, что увидит пользователь при плохом вводе
SQL и скорость
- ·Соединения и их подводные камни
- ·Индекс: почему без него каталог умирает на десятке тысяч строк
- ·Лишние запросы в цикле: как поймать и чем лечить
- ·Транзакция и деньги: оплата прошла, а заказ не создался — что делать
Схема базы и индексы под фильтры каталога: почему именно такие
Безопасность веба
- ·SQL-инъекция: как получается и чем закрывается
- ·XSS: где именно экранировать — на входе или на выходе
- ·CSRF: почему форма без токена опасна
- ·Загрузка файлов: что проверять кроме расширения
Расскажи, что и от чего защищено в твоём проекте — по каждому пункту
Фреймворк
- ·Что делает Laravel между запросом и твоим контроллером
- ·ORM и голый SQL: когда что
- ·Очередь: зачем выносить отправку письма из запроса
- ·Кэш в Redis: что кэшируешь и когда сбрасываешь
Покажи маршруты, слои и место, где начинается твоя собственная логика
Чужой код
- ·Как ищешь нужное место в незнакомом проекте
- ·Как убеждаешься, что правка не сломала соседнее
- ·Что делать, если тестов нет вообще
- ·Когда переписывать нельзя, даже если очень хочется
Разбор чужого скрипта: что нашёл, что изменил, как проверил
Сколько времени нужно, чтобы стать PHP-разработчиком
Почему в PHP пускают раньше. Порог по инструментам низкий, и первая работа обычно прикладная: правки, интеграции, доработки. Но «раньше» не значит «за три месяца»: между «форма сохраняется» и «магазин не потерял заказ при сбое оплаты» лежит примерно год.
Скорость решают три вещи: сколько чужого кода ты прочитал (это главный навык рынка PHP), знаешь ли SQL на уровне индексов и планов запросов, и трогал ли Bitrix (20%) — прикладная траектория пускает раньше продуктовой.
Ошибки новичков
Учат Laravel вместо PHP
Почему мешает: Фреймворк даёт быстрый результат и ложное чувство готовности. Потом приходит задача в коде, написанном до фреймворка, и оказывается, что HTTP, SQL и ООП пропущены
Как исправить: Сначала запрос, форма, сессия и запросы к базе руками. Фреймворк (38.8%) — четвёртым шагом, а не первым
Пропускают безопасность форм
Почему мешает: PHP-код принимает данные от анонимного человека из интернета, а за формой стоят заказы и деньги. Дыра не мешает продажам ровно до того дня, когда мешает очень сильно
Как исправить: Закрой в своём проекте всё поимённо: SQL-инъекции, XSS, CSRF, загрузка файлов, права доступа. И опиши это отдельным файлом — на собеседовании спросят
Учатся по статьям без даты
Почему мешает: PHP старый, и в выдаче до сих пор живут примеры десятилетней давности: старые расширения для базы, экранирование руками, логика в шаблоне. Выучишь то, за что на ревью бьют
Как исправить: Смотри дату и версию PHP у любого материала. Официальная документация и свежие материалы — остальное только для понимания легаси
Боятся чужого кода
Почему мешает: Рынок PHP — это поддержка живых продуктов. Кандидат, который умеет только с нуля и только на своём фреймворке, закрывает себе большую часть вакансий
Как исправить: Возьми любой открытый PHP-проект, найди в нём место под изменение и поменяй, не сломав соседнее. Оформи отчётом — это готовый артефакт портфолио
Пишут запросы без индексов и планов
Почему мешает: На тестовых двадцати строках летает всё. На боевом каталоге страница открывается восемь секунд, и это первая же претензия от заказчика
Как исправить: Научись читать план запроса, ставить индексы под фильтры и ловить лишние запросы в цикле. MySQL (68.8%) и PostgreSQL (46.2%) — оба стоят в вакансиях
Игнорируют фронт
Почему мешает: JavaScript стоит в 45% вакансий PHP-разработчика, HTML — в 27.5%, CSS — в 28.7%. В вебе граница между сервером и страницей размыта, и правки на странице прилетают тому же человеку
Как исправить: Минимум: DOM, обработчики, запрос к своему API, вёрстка формы. Становиться фронтендером не нужно — нужно не пасовать
Обходят Bitrix стороной
Почему мешает: Bitrix стоит в 20% вакансий PHP-разработчика, и на новичка там смотрят охотнее, чем в продуктовых командах. Отказ от этой траектории режет вход почти на пятую часть
Как исправить: Если задача — первый коммерческий опыт, это рабочий путь. Дальше перейти из прикладной части в продуктовую проще, чем зайти туда снаружи
Верят, что PHP умирает, и учат его вполсилы
Почему мешает: Прямо сейчас на рынке 80 вакансий PHP-разработчика, и держатся они на продуктах, которые приносят деньги каждый день. Вполсилы выученный язык виден на первом же вопросе про типизацию
Как исправить: Смотри на данные, а не на шутки. Учи актуальную версию языка и современный код — старый PHP из мемов и PHP из вакансий не совпадают
Как SkillStat считает данные
Источник: 80 вакансий в московском сегменте. Навыки и грейды извлекаются автоматически из текста каждой вакансии.
Грейды: определяются по требованиям вакансии — уровню опыта, упоминанию «junior», «intern», «стажёр». Это рыночная оценка объявления.
Сложность входа: рассчитывается по доле junior-вакансий и медиане навыков на junior-уровне. Это индикатор, а не гарантия.
Обновление: данные пересчитываются регулярно. Текущий срез — 12 августа 2026.