Разработчик php кто это: PHP — Википедия – Кто такой PHP разработчик? Что он должен уметь делать?

Кто такой PHP разработчик? Что он должен уметь делать?

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

Что такое PHP?

Аббревиатура происходит от английского - Hypertext Preprocessor. Это скриптовый язык, с помощью которого пишут сценарии web-приложений. Возник 1995 году, главной задачей была генерация страниц на html. Вобрал в себя многое из Perl. Язык интерпретируемый, это значит что для его работы не нужна компиляция, результат выполнения видно сразу после выполнения. Порог вхождения в язык низкий, но это не значит что не обладая знаниями в математики, алгоритмики можно быстро стать успешным программистом

Требования IT-компаний к PHP-разработчикам разных уровней: Junior, Middle, Senior

Junior

Кто такой PHP-разработчик?

И все же можно начать с изучения CMS - это система управления контентом, как правило набор готовых модулей для выполнения определенных задач. Есть CMS предназначенные для управления товарами и заказами (prestashop, Magento), для блогов (WordPress), новостных сайтов (DLE) и т.д.

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

В Artjoker такая должность называется CMS developer.

Что вы должны знать и уметь:

  • опыт разработки под одну из популярных cms (wordpress, modx, opencart, magento или другие)
  • понимание принципов OOP/MVC - на начальном этапе необходимо лишь понимание этих принципов, но в дальнейшем рост без практического применения невозможен
  • знание PHP и MySQL
  • базовые знания Git

Middle

Кто такой PHP-разработчик?

Поддержка и создание интернет магазина нуждаются в опытных программистах. Для получения следующей должны вы должны иметь:

  • Опыт разработки на 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

Кто такой PHP-разработчик?

Как вы заметили уровень программиста отличается не только профильными скиллами, но и общим сеньорити в принятии решений (умением быстро среагировать на проблему, придумать выход из ситуации, брать ответственность) и лидерскими качествами. Для того, чтобы стать Senior, кроме всех указанных навыков вам понадобится:

  • Опыт разработки через TDD
  • Опыт в обучении и организации команды
  • Знание процесса гибкой разработки: scrum, sprint planing, daily meeting, demo, retrospective

Что должен знать PHP-разработчик?

PHP необходимо иметь знания в таких областях:

  1. алгоритмы, MVC
  1. уметь применять ajax
  1. уметь оптимизировать код
  1. паттерны программирования, понимание какие паттерны для каких задач предназначены
  1. архитектура баз данных, нормализация данных, умение писать вложенные запросы
  1. эффективно распределять нагрузку
  1. эффективно использовать инструменты
  1. обеспечивать гибкость кода
  1. соответствие общепринятым стандартам написания кода (PSR)
  1. знать и уметь использовать как минимум несколько фреймворков
  1. пользоваться composer
  1. умение писать авто-тесты
  1. знания html, javascript (jquery), css

Действительно, объем знаний php-разработчика достаточно велик, но весь список действительно необходим, так как для хороших результатов не достаточно написать PHP-код.

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

Советы начинающим разработчикам

  • Научитесь читать документацию
  • Постоянно читайте профильные ресурсы, посещайте тематические митапы
  • Освойте ОС Linux, идеально если он станет основной ОС на вашем компьютере
  • Совершенствуйте практические навыки, знакомьтесь с популярными API
  • Создание сайта в компаниях в основном происходит на различных фреймворках, поэтому изучите наиболее популярные.
  • Специфика работы с PHP предполагает знание теории программирования, поэтому не игнорируйте учебники, чтобы избежать печальные последствия.
  • Для работы вам пригодится знание основ адимнистрирования. Что такое веб-сервер? Как его настроить? Где лk

Собеседования на должность PHP разработчика / Habr


Довольно часто (постоянно) мне приходиться проводить собеседование людей желающих устроитсья в мой отдел на должность «junior PHP developer» и «PHP developer». И, с завидным постоянством, я и team-lead отдела задаем одни и те же вопросы…

Каждое собеседование начинается с одного и того же вопроса:

— Почему PHP?

И, как ни странно, некоторые умудряются «засыпаться» уже на нем:
— Пробывал язык N — такой сложный, и поэтому решил учить PHP
или еще лучше:
— Решил пока поработать в PHP отделе, а потом перейти в отдел .Net
Но чаще всего слышим один из следующих ответов:
— Делал страничку — понадобилась динамика — выбор пал на PHP
— Кто-то, зачем-то посоветовал
— Преподавали в ВУЗе — только PHP и смог осилить

Далее, приближаемся к программированию, мы пытаемся понять имеет ли собеседуемый хоть какое-нить представление о ООП, о абстракции, наследовании, инкапсуляции и полиморфизме. Ага, кто-то лекции прогуливал в университете 😉

А теперь начинается самое оно:

— Какую версию PHP использовали? В чем различия между четвертой и пятой версиями?

— Какими сторонними библиотеками пользовались?

— Опыт работы с различными CMF/CMS?

— Типы данных в PHP?(их всего 8, не верите — читайте мануал)

— Назови по памяти функции для работы с массивами, строками

— Что такое сериализация?

И далее несколько практических вопросов…

— Что такое Apache? А mod_rewrite?

— Аббревиатура SVN и CVS о чем-нить говорят?

— Багтрекинг системы? BugZilla? JIRA?

Не забываем и о БД:

— Что такое реляционная база данных?

— Нормализация, денормализация

— И чуть-чуть практики (связь многое-ко-многим в MySQL, каталог товаров произвольной вложенности)

HTML + CSS + W3C (знания HTML на базовом уровне считаю обязательным):

— Нарисуй-ка простенькую форму для отправки файла

— CSS знаешь? В чем разница между записью #my и .my?

— Расшифруй вот такую запись в CSS ... (и далее что-то невообразимое, но вполне читабельное, задаю не часто, если только испытуемый заявляет что знает CSS)

— Что такое стандарты W3C?

Linux:

— С *nix знаком?

— Apache и PHP сетапил?

Сетевые технологии и не только:

— Знаешь что такое уровни модели OSI? Назови хотя бы их количество. (это вопрос на «пять»)

— По какому протоколу осуществляется передача данных в сети Интернет?

— Расскажи что поисходит, когда в строке браузера набираешь адрес и нажимаешь Enter?

Иностранные языки:

Тут особо не мучаем, если же в резюме указан уровень знания английского как «хорошо» — вот тогда нам на помощь спешит COTOHA — лучше правдиво пишите — уровень университета или начальной школы… 😉

Бывает, озадачиваем каким-нить тестом на сообразительность (поменяй-ка друг значение переменных A и B местами не используя третью переменную)

Вот подумываем написать тест, который однозначно говорил бы о уровне знаний человека (brainbench для новичков не подходит), если у кого есть что предложить — пишите в комментариях…

Кросспост: PHP: Собеседование (и там уже много содержательных комментариев)

Upd: Вторым, или даже первым вопросом наверное скоро будет: «Читаете ли вы Хабр по пятницам?»…

Upd: На ряд вопросов из комментариев отвечу тут:

  • Разве должен PHP разработчик знать это… ? — Если человек не ответил на ряд вопросов на собеседовании, это не значит, что он его провалил, возможно некоторые вопросы слишком отстранены от разработки, но их знание никогда не будет лишним
  • Вам действительно нужно это всё? — Да, ибо мы используем системы контроля версий и багтрекинг системы, мы сталкиваемся с готовыми CMS системами, кодим используя Zend Framework и CMF/CMS которую сами разрабатываем
  • На какую ЗП можно претендовать после прохождения собеседования? — ЗП оговаривается по окончанию испытательного срока, если Вас интересуют более подробная информация см. на www.developers.org.ua
  • Есть мануал, зачем помнить на память! — Мне не нужен в отделе человек который каждые пять минут будет лазить в мануал, дабы узнать как построить цикл «for» или отсортировать массив, или еще хуже — будет отвлекать окружающих для этой цели
  • Дайте лучше тестовое задание! — Ситуация нынче такова, что junior разработчик не будет делать тестовое задание, а скорей просто пойдет на собеседование в другую компанию
  • В какой компании такое «невдалое» собеседование, не пойду в неё работать! — 3 клика мышки отделяет Вас от ответа, если не нашли — мы Вас не ждем...

Какие нужны минимальные знания php для того, чтоб приступить к изучению php-фреймворков?

Самый крутой и быстрый способ найти себе опытного учителя.

А перечень знаний необходимых для начала ( чтобы не вставать на грабли на которые встают большинство неопытных разработчиков ( даже с профильным высшим образованием ) )
1. Знания о том как работает компьютер. ( в частности файловая система, большим плюсом будет понимание файловой системы операционных систем Linux ). притом не важно на windows ты будешь работать или на линукс
2. Работа сети : Что такое ип адрес, порт, протокол HTTP (и как он работает в плане отправки, приема и обработки команд (GET POST PUT) ) и что такое заголовки запроса и ответа (http headers).
3. Конфигурация HTTP сервера, какие настройки есть и за что они отвечают. хотя бы по документации пробежаться по дефолтным настройкам.
4. Вот тут можно глянуть на настройки PHP и посмотреть описание дефолтных значений.

5. Наизусть выучить адрес где можно достать документацию PHP (php.net)
6. Тут можно начинать смотреть всякие видеокурсы по php (именно по пхп). Хорошо структурированные можно найти у специалиста(specialist.ru) я не знаю законно ли выкладываются в интернете лекции с веб обучения но можно всегда записаться на онлайн курсы. Гарантия что получишь полные и структурированные знания. Плюс в интернете много бесплатных сейчас можно найти, не то что в мое время. Только учти что с одного курса от одного человека ты не научишься лучше посмотреть 3 и больше разных. И копишь опыт.

Учить программирование на PHP это как учится ездить на велосипеде пока не набьешь шишек не научишься. Будешь придерживаться этого списка будешь учится быстро и если что-то поломается, а я тебе даю 100% что что-то будет не так. Будешь находить и решать проблемы быстрее.

Забегая вперед, если страница в "кракозябрах" 2 возможные проблемы с кодировками - сам файл в кодировке отличной от той что приходит в заголовках ответа либо наоборот заголовок ответа отличный кодировки файла. при соединении с базой данных неправильно передана команда "SET NAMES".

5 советов по найму PHP-программиста

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

1. Исключите из собеседования на PHP Frontend и Backend Developer вопросы-пожиратели времени


Собеседование теряет смысл за 2-3 первые секунды, если вы:
• перечисляете места работы по резюме разработчика PHP, сверяясь все ли верно;
• задаете вопросы типа «Кто создал PHP и в каком году»;
• спрашиваете, как скоро кандидат готов выйти на работу в случае утверждения его кандидатуры, и не возникнет ли проблем с документами…

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

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

2. Дайте PHP-разработчику тестовое задание


По резюме не определить, как человек справляется с задачами. Для этого существует тестовое задание.  Чтобы не отпугнуть кандидата, сделайте его небольшим (время выполнения: 15 минут – 4 часа), но емким. Это поможет увидеть соискателя в работе, оценить качество конечного продукта и степень креативности подхода.

Тестовое задание для PHP Backend Developer  и Frontend разработчика дается после ознакомления с резюме, на предварительной беседе или после очной консультации.

3. Отдавайте предпочтение резюме PHP-программистов с нужными вам качествами

Простой пример. Человек с солидным опытом работы программистом в крупной финансовой компании не может вписаться в дедлайны. Да, а это может быть высококвалифицированный специалист, который на 100% подходит под ваши требования. Но его личные качества и специфика работы, которую он привык выполнять, могут стать камнем преткновения при работе в вашей организации.

Поэтому опыт важен, но выбирать следует не специалиста, а, прежде всего, человека. Способен ли кандидат к многозадачности или предпочитает размеренную работу, растянутую по времени? Требуется ли вам человек с креативным подходом к решению задач или вы придерживаетесь стандартов? Нужен ли вам универсальный специалист или у вас узкий круг задач? В резюме frontend разработчика или инженера другого направления обратите внимание на пункт «Личные качества».

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

4. Объедините 3 уровня собеседования в 1

В хорошей компании собеседование разработчиков проходит в 3 этапа – через HR-ра, технического специалиста и руководителя. Многие это знают, но применяют правильно не все. И зачастую соискателю приходится 3-4 раза приезжать на собеседование в одну и ту же компанию.

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

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

5. Указывайте в вакансии реальные версии софта

«PHP 7.1» выглядит гораздо более информативно, чем «PHP 5-7». Хороший такой разбег в последнем случае соберет программистов всех мастей, но вам-то нужна одна.

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

Желаем вам не ошибаться в выборе кандидатов.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *