Кто только не мечтает работать в IT - выучил любой язык программирования - и вперед. Но сегодня мы расскажем о крутой специализации, которая требует серьезной подготовки - php-разработчик.
Что такое PHP?
Аббревиатура происходит от английского - Hypertext Preprocessor. Это скриптовый язык, с помощью которого пишут сценарии web-приложений. Возник 1995 году, главной задачей была генерация страниц на html. Вобрал в себя многое из Perl. Язык интерпретируемый, это значит что для его работы не нужна компиляция, результат выполнения видно сразу после выполнения. Порог вхождения в язык низкий, но это не значит что не обладая знаниями в математики, алгоритмики можно быстро стать успешным программистом
Требования IT-компаний к PHP-разработчикам разных уровней: Junior, Middle, Senior
Junior
И все же можно начать с изучения CMS - это система управления контентом, как правило набор готовых модулей для выполнения определенных задач. Есть CMS предназначенные для управления товарами и заказами (prestashop, Magento), для блогов (Wordpress), новостных сайтов (DLE) и т.д.
CMS позволяют создавать сайты не написав ни строчки кода, минусом такого подхода является невозможность вносить необходимые изменения в сайт (дизайн, логику).
В Artjoker такая должность называется CMS developer.
Что вы должны знать и уметь:
- опыт разработки под одну из популярных cms (wordpress, modx, opencart, magento или другие)
- понимание принципов OOP/MVC - на начальном этапе необходимо лишь понимание этих принципов, но в дальнейшем рост без практического применения невозможен
- знание PHP и MySQL
- базовые знания Git
Middle
Поддержка и создание интернет магазина нуждаются в опытных программистах. Для получения следующей должны вы должны иметь:
- Опыт разработки на Laravel5 - 1 год
- Опыт разработки на php - 3 года
- Знание и применение MVC
- Обязательный опыт работы с: php7, mysql, git
- Понимание работы с: Сomposer, Middlewares, ServiceProviders, Eloquent, Relationships, Observer pattern
- Опыт написания REST api, Unit-tests
- Продвинутые знания HTML, CSS, JavaScript
- Базовые знания VueJS или React, Angular
- Английский pre-intermediate
- Хороший уровень self-management
Senior
Как вы заметили уровень программиста отличается не только профильными скиллами, но и общим сеньорити в принятии решений (умением быстро среагировать на проблему, придумать выход из ситуации, брать ответственность) и лидерскими качествами. Для того, чтобы стать Senior, кроме всех указанных навыков вам понадобится:
- Опыт разработки через TDD
- Опыт в обучении и организации команды
- Знание процесса гибкой разработки: scrum, sprint planing, daily meeting, demo, retrospective
Что должен знать PHP-разработчик?
PHP необходимо иметь знания в таких областях:
- алгоритмы, MVC
- уметь применять ajax
- уметь оптимизировать код
- паттерны программирования, понимание какие паттерны для каких задач предназначены
- архитектура баз данных, нормализация данных, умение писать вложенные запросы
- эффективно распределять нагрузку
- эффективно использовать инструменты
- обеспечивать гибкость кода
- соответствие общепринятым стандартам написания кода (PSR)
- знать и уметь использовать как минимум несколько фреймворков
- пользоваться composer
- умение писать авто-тесты
- знания html, javascript (jquery), css
Действительно, объем знаний php-разработчика достаточно велик, но весь список действительно необходим, так как для хороших результатов не достаточно написать PHP-код.
PHP разработчик делает возможным работать на проекте для всех участников, по сути основная задача сделать удобный интерфейс для верстальщика, заказчика, сео специалиста, маркетолога и т.д.
Советы начинающим разработчикам
- Научитесь читать документацию
- Постоянно читайте профильные ресурсы, посещайте тематические митапы
- Освойте ОС Linux, идеально если он станет основной ОС на вашем компьютере
- Совершенствуйте практические навыки, знакомьтесь с популярными API
- Создание сайта в компаниях в основном происходит на различных фреймворках, поэтому изучите наиболее популярные.
- Специфика работы с PHP предполагает знание теории программирования, поэтому не игнорируйте учебники, чтобы избежать печальные последствия.
- Для работы вам пригодится знание основ адимнистрирования. Что такое веб-сервер? Как его настроить? Где лежит конфиг apache? Что нужно писать в .htaccess
- Вам постоянно нужно будет изучать что-то новое - будьте готовы к этому, большинство вопросов решаются просмотром документации, форумов и чатов, stackoverflowгугл-поиском.
Специальность PHP-разработчика разноплановая, более того, практически каждый день она бросает тебе вызов - если ты готов принять его, удачи в изучении!
Если вы хотите узнать больше о жизни и работе в Artjoker, читайте "50 фактов о работе в Artjoker и смотрите видео:)