Александр Воронков
Руководитель направления
26 Июня 2014
PHP программисты. Кто они?
Статья

PHP программисты. Кто они?

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

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

Благодаря РНР разработчики могут:

  • Создавать динамично изменяемые html-страницы
  • Разрабатывать и обслуживать web-приложения
  • Сопровождать серверные части сайтов
  • Интегрировать web-проекты с другим программным обеспечением

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

Основные характеристики, которые отражают практичность использования:

  • Простота
  • Эффективность
  • Безопасность
  • Гибкость

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

Яркими примерами сайтов на PHP являются всем известные Facebook и Вконтакте

Существует еще одна характеристика, которая делает РНР особенно привлекательным: он распространяется абсолютно бесплатно, причем с открытыми исходными кодами (Open Source)!

История появления PHP

Интересный факт истории:

Символом PHP является синий слон. В конце 90-х французский художник Винсент Понтиер придумал эскиз. А чуть позже появился плюшевый elephant по просьбе французской группы пользователей PHP, который был создан дизайнером Damien Seguy.

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

Итак, в 1995 году житель Дании Расмус Лердорф, решив проанализировать посещаемость своего резюме на веб-сайте, для этого создал простое приложение на языке Perl и назвал его Personal Home Page. Этот момент можно уверенно назвать началом жизни PHP языка. В последующие 2 года в результате доработки и дополнений появился PHP/FI, а потом и PHP 2.

К 1997 PHP использовался уже на 50,000 доменах. В это же время к проекту подключились студенты израильского университета Зив Сураски и Энди Гутманс. В течение нескольких месяцев они трудились над новой версией. Существенно переработав синтаксис языка, им удалось предложить своё решение.

Так появилось PHP Group www.php.net, команда, работающая над развитием технологии PHP. В 1998 свет увидел PHP3. В этой версии появилась возможность расширения ядра. Этим заинтересовались многие сторонние специалисты, и к концу 1998 количество пользователей составило более 100000 (1% доменов). Стали выходить первые книги и статьи по PHP разработке.

В 1999 вышел в свет новый движок Zend Engine, названный именами создателей (Zeev и Andi). Основной идей было поднять производительность. Это удалось сделать за счет возможности компиляции сценария в исполняемый модуль. В 2000 на этом движке вышла новая версия PHP 4, в возможности которого добавили новые языковые конструкции, безопасные способы обработки вводимой информации, буферизацию вывода и дополнительные ресурсы для поддержки сессий.

С выходом новой версии ещё больше выросла популярность PHP и аудитория пользователей составляла более чем 20% доменов Интернета. В период с 2000 по 2004 продолжалась активная работа по усовершенствованию последнего варианта. Основные задачи были в усилении возможности языка для использования его в крупных проектах.

Наконец, жарким июлем 2004 вышел официальный релиз PHP 5. Эта версия стала обладать возможностью реализации объектного программирования, чего раньше существенно не хватало. Кроме этого новый PHP существенно обогатился расширениями для работы с XTML, разными источниками данных и были включены два новых расширения — SimpleXML и SOAP. Понятно, что на этом история PHP не заканчивается. У технологии PHP ещё многое впереди.

В октябре 2013 Расмус Лердорф принял участие в конференции IDCEE’13 в Киеве, посвященной интернет-технологиям и инновация, где дал интервью для DOU.ua, в котором рассказал о том, что работа над PHP 5.6 продолжается! В ней участвуют волонтёры-программисты, которые делают это на добровольных началах. В работе над проектом царит полная демократия и решения принимаются путем голосования. Поэтому сложно судить о возможных сроках окончания проекта. http://douua.org/lenta/interviews/php-creator-rasmus-lerdorf/mirsite.ru

Виды программистов

Всех программистов PHP мы условно поделили на 5 групп, исходя из нескольких показателей: образование, опыт работы, знание фреймворков, баз данных, других языков программирования и т.д.

К первой группе мы отнесли так называемых начинающих программистов. Они, в свою очередь, должны знать основы ООП (объектно-ориентированного программирования), иметь навыки работы с HTML, PHP (желательно версии 5). Необходимыми условиями для трудоустройства специалистов без опыта работы являются знание теории баз данных и методов защиты информации в сетевых приложениях, практический опыт работы с MySQL. К образованию соискателей работодатели относятся достаточно лояльно: допустимо любое техническое или IT-образование. Если работодатель готов брать на работу такого сотрудника, то здесь на выбор больше влияют личностные качества соискателя и его потенциал.

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

Третью группу составляют специалисты, которые обладают достаточно большим набором знаний и умений. Условно их можно назвать «середнички». Кроме высшего или неоконченного высшего образования, программисты должны обладать отличными навыками работы с PHP 5, MySQL, HTML, CSS, знание JavaScript будет преимуществом. Обычно специалисты этой группы имеют опыт работы программистом PHP от 2 лет. Одним из обязательных условий при приеме такого специалиста на работу является наличие портфолио выполненных работ. Необходимы навыки работы в среде Linux / UNIX, а также знание систем контроля версий (SVN, GIT и др.). Владение английским языком на уровне, достаточном для чтения технической документации, будет плюсом.

Следующая группаZend Framework, Kohana, Symfony, Yii. Нередко дополнительными требованиями со стороны работодателей становятся знание языка программирования C/C++, либо уверенное владение операционной системой Linux/UNIX. Что же касается знания баз данных, то здесь уже недостаточно только MySQL, желателен также опыт работы с PostgreSQL или с любой NoSQL. Плюсом для специалиста также будет знание других языков программирования, таких как Java, Ruby, Python, Perl и др.

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

Виды программистов/Критерии Начинающий программист PHP Junior PHP-программист Специалист в PHP Эксперт PHP Team Lead PHP
Образование любое техническое или IT образование любое техническое или IT образование Высшее или неоконченное высшее техническое образование Высшее( неоконченное) высшее техническое образование Высшее (неоконченное) техническое образование
Опыт работы без опыта работы до года от 1,5 до 3 лет От 3 лет От 3-4 лет
Работа с базами данных знание теории баз данных, желателен практический опыт с MySQL MySQL MySQL, PostgreSQL MySQL, PostgreSQL, любая NoSQL. MySQL, PostgreSQL, любая NoSQL.
Верстка желательны навыки работы с HTML HTML,CSS HTML,CSS HTML,CSS HTML,CSS
Фреймворки - - Zend Framework, Kohana Zend Framework, Kohana, Symfony, Yii Zend Framework, Kohana, Symfony, Yii
Паттерны поведения Основы ООП ООП ООП, MVC ООП, MVC ООП, MVC
Умение разбираться в чужом коде - да да да да
Знание других языков программирования - - JavaScript Java, Ruby, Python, Perl, JavaScript, С/С++ — знание одного или нескольких языков будет плюсом Java, Ruby, Python, Perl, JavaScript, С/С++ — знание языков обязательно
Наличие портфолио, выполненных работ - - да да да
Знание систем контроля версий - - SVN, GIT SVN, GIT SVN, GIT
Знание Linux/UNIX - - да да да
Управленческий опыт - - - - да

Способы оценки PHP-программистов

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

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

Ориентация на результат

  1. Какие цели Вы ставили перед собой в прошлом? Как добивались их?
  2. Приведите пример самой сложной ситуации в работе? Что помогает и что мешает в таких случаях?
  3. Какими достижениями гордитесь более всего? За счет чего вам это удалось?

Обучаемость, стремление к развитию

  1. Как Вы обучались технической стороне Вашего дела?
  2. Каким техниками вам пришлось овладеть для того, чтобы сделать Вашу работу легче и эффективнее?
  3. Что Вам дается легко в Вашей текущей работе, что требует дополнительного обучения?
  4. Планируете ли вы собственное обучение? Как?
  5. Если у вас возникают вопросы в работе, как вы ищете на них ответы?
  6. Если бы у вас была возможность, какое обучение вы бы хотели получить?

Умение работать в команде

  1. Вам комфортнее работать в команде или автономно?
  2. Как Вы в целом оцениваете атмосферу в Вашем коллективе?
  3. Обращаются ли к Вам за помощью, советом или поддержкой коллеги по работе? Как часто? Почему они это делают? Приведите примеры. Оказываете ли Вы им реальную помощь?
  4. С какими людьми вам комфортно работать, а при общении с какими испытываете сложности?
  5. Вспомните любую конфликтную ситуацию? В чем она заключалась? Как вам кажется, в чем ее причины?

Системность мышления и аналитические способности

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

  1. В стакане находятся бактерии. Через секунду каждая из бактерий делится пополам, затем каждая из получившихся бактерий через секунду делится пополам и так далее. Через минуту стакан полон. Через какое время стакан был заполнен наполовину?
  2. У дороги на посту стоят два часовых. Один смотрит в одну сторону дороги, а другой — в противоположную, но при этом они видят друг друга. Как такое может быть? Варианты с отражениями и т.п. — исключены.

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

Оценка технических знаний

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

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

  1. В чем различие между Интерфейсом, Классом и Объектом?
    Что из этого есть в PHP?
  2. Что такое Шаблоны проектирования? Зачем нужны шаблоны? Какие Вы знаете? Зачем нужны те, что Вы знаете? Если Вы их применяли — расскажите об этом.
  3. Что такое объект в PHP?
  4. Можно ли на PHP рисовать изображение, если да, то как это делается?
  5. Что такое PHP-сессия?
  6. Что такое ассоциативный массив?
  7. Назвать основные принципы ООП, кратко объяснить.

Если Вы неглубоко разбираетесь в теме программирования, скорее всего, Вам подойдет следующий перечень вопросов:

  1. Над какими проектами приходилось работать? (Известно, что у специалиста работавшего с крупными высоконагруженными проектами опыта больше, нежели у специалиста разрабатывавшего простые сайты-визитки)
  2. Над какими проектами приходилось работать? (Известно, что у специалиста работавшего с крупными высоконагруженными проектами опыта больше, нежели у специалиста разрабатывавшего простые сайты-визитки)
  3. Какие фреймворки PHP знаете? С какими из них приходилось работать? (Наиболее популярные сейчас Zend, Symphone,Yii)
  4. С какими базами данных работаете? (Обычно в связке с PHP используют MySQL, но сейчас набирает популярность также PostgreSQL)
  5. С какими видами контроля версий знакомы? (SVN, GIT сейчас наиболее популярны)
  6. Наличие собственных проектов и разработок.
  7. Владеете ли Вы другими языками программирования? (Вопрос позволяет оценить широту технических знаний. Известные языки программирования сейчас — это Perl, Python,JavaScript и т.д.)
  8. Читаете ли профессиональную литературу? Общаетесь с коллегами на профессиональных форумах? (Эти вопросы помогут оценить вам увлеченность новыми технологиями соискателя, мотивацию к саморазвитию)

Тенденции рынка труда

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

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

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

Несмотря на все доводы, PHP—программисты очень востребованы на IT-рынке. Компания Jobs Tractor постоянно мониторит все предложения о работе в Твиттере от ведущих ИТ-компаний мира. По состоянию на июль 2013 года текущая раскладка спроса вот такая:

Также в конце 2013 года IT-mozg.ru составил рейтинг популярности языков программирования среди российских работодателей. Для составления рейтинга специалисты ITmozg.ru проанализировали более 30 тыс. вакансий в IT-сфере, представленных на их сайте.

Рейтинг востребованности языков программирования в России по состоянию на конец 2013 года:

  1. PHP
  2. C/C++
  3. Java
  4. (Visual) Basic
  5. Visual Basic .NET
  6. C#
  7. Objective-C
  8. Delphi/Object Pascal
  9. JavaScript
  10. Python
  11. Transact-SQL
  12. Ruby
  13. PL/SQL
  14. Perl

По оценкам экспертов основными конкурентами по разработке сайтов для PHP на сегодняшний момент являются Python, Ruby, ASP.NET. Причем Ruby, в частности с фреймворком Ruby on Rails, стал модным трендом в разработке различных интернет-сервисов.

В настоящее время существует, по мнению некоторых специалистов программирования, «порочная» практика начинать свою работу на PHP c создания простых сайтов, а затем по накатанной продолжать заниматься разработкой сложных приложений также на PHP. На их взгляд, под сложные приложения скорее больше подходят Java, Python, Ruby.

Таким образом, подводя итог, мы можем сказать, что язык PHP является очень популярным и востребованным, и будет таковым достаточно долгое время. Следовательно, спрос на специалистов PHP будет тоже высоким на рынке IT. В то же время есть достаточно много языков программирования, которые составляют конкуренцию PHP. Здесь уже зависит от выбора программиста и компании с чем им удобно и комфортно работать.

В поисках PHP-разработчика сейчас находятся:

И даже

PHP-разработчиков обычно ищут для разработки внутренних приложений, CRM-систем, а также соц.сетей и порталов. Часто php используется для разработки сайтов-визиток, но не только. Подходит и для более крупных, например, e-commerce проектов.

Охота на синих слонов или эффективные источники поиска специалистов

Исходя из нашего опыта и запросов со стороны клиентов, мы видим серьезную потребность в php-разработчиках. Согласно статистике IT-специалист — самая востребованная специальность и находится на первом месте в рейтинге профессий 2013 года.

На поиск их у компании может уходить несколько недель, а то и месяцев.

Основываясь на нашем опыте можно с уверенностью говорить, что есть несколько каналов поиска программистов. Ниже мы расскажем про основные:

Самый востребованный портал для поиска работы. Так называемый банк вакансий и резюме. По всем оценкам это лидирующий ресурс для работодателей. Портал регулярно радует своих читателей интересными статьями и исследованиями. Ведёт несколько внутренних проектов, один из которых Премия HR-бренд, ежегодная премия за наиболее успешную работу с репутацией компании как работодателя!
Портал с 14-ти летней историей и не менее популярный сайт, чем hh.ru. Кроме публикаций вакансий и резюме соискателей на портале представлен список рекрутинговых агентств, тренинговых компаний, кадровой прессы, а также анонсы кадровых мероприятий.
Успешный рекрутинговый проект от создателей «Хабра». Нишевый ресурс, который даёт возможность найти работу своей мечты. Менее затратный для компаний вариант поиска программистов, но нужно не забывать — знают об этом сайте не все...
Социальная сеть для установления деловых контактов всё больше и больше входит в нашу действительность. Теперь почти у каждого соискателя в резюме есть активная ссылка на его страницу. Как сказал недавно один соискатель — у меня есть страница на LinkedIn чтобы не я искал работу, а работа искала меня.
Сервис для поиска работы и сотрудников, размещения услуг и установления деловых связей. Ресурс позволяет размещать вакансии компаний. Есть форум, где можно увидеть сообщения специалистов, желающих поделиться опытом или готовых на новые задачи. Сообщество скорее для общения и обмена знаниями, чем для соискателей, готовых рассмотреть горящие вакансии компаний.
Тут можно встретить вакансии только IT сферы. Определённо перспективный ресурс с понятным интерфейсом. Сайт уже сотрудничает с рядом ведущих компаний, которые размещают там свои вакансии. В закладке «Мероприятия» анонсируются профильные события партнёров сайта.
Киевский проект, дающий возможность найти работу людям разных профессий. Ресурс позволяет компаниям размещать возможные задачи, а специалистам оставлять информацию о себе. Это конечно не решение проблемы поиска, но точно возможность найти удалёнщика в сфере IT.

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

Статистика по источнику закрытия вакансий Propeople

Опрос, проведённый нами, показал, что основные источники, которыми пользуются для поиска работы наши кандидаты это:

* В опросе участвовали 17 PHP-разработчиков с опытом работы от 2 лет

Мониторинг рынка заработных плат (февраль 2014)

Предложения компаний:

Требования к кандидату: уверенные знания от 1-3 года PHP, Html, MySQL, CMS Bitrix (желательно)

Зарплатные ожидания PHP-разработчиков различных типов

* Выборка представлена по: 1 тип — 25 чел., 2 тип — 25 чел., 3 тип — 25 чел., 4 тип — 20 чел., 5 тип — 14 чел.

Немного личного

Среди работодателей и HR-менеджеров существует «миф» о том, что разработчики чаще всего это люди странные, замкнутые и «себе на уме». Поэтому найти с ними общий язык порой бывает затруднительно. Мы провели опрос 17 московских PHP-шников и готовы развеять этот миф.
В первую очередь мы интересовались, какое образование получили опрашиваемые. По результатам, как и ожидалось, лидируют технические ВУЗы. 15 из 17 опрошенных имеют высшее техническое образование. Среди популярных институтов: МАИ, МГТУ и МИФИ. Один из участников опроса закончил Московский гуманитарный институт Среднерусского университета, еще один — РГГУ по специальности психолог. Так что даже гуманитарии иногда приходят в такую несвойственную им сферу, как разработка.

Следующий вопрос, который интересовал нас — как долго занимаются разработкой данные PHP-шники. И мы получили следующие ответы: максимальное время работы — 13 лет, минимальное — 2 года. В среднем опыт работы в разработке наших респондентов — от 2,5 до 6, 5 лет.

На вопрос о том, почему выбрали данную сферу, и именно язык PHP, отвечали по-разному. Вот, на наш взгляд, самые интересные ответы:

  • «Было интересно работать с вебом. Php выбрал, потому что он проще Perl»
  • «Просто нравится разрабатывать код»
  • «Была необходимость, из менеджера проектов ушел в разработку и решил там остаться. PHP выбрал потому что на сегодняшний день это самый практичный язык»
  • «Так сложилось. Потому что PHP — востребованный язык»
  • «Быстрая точка вхождения. Первый язык программирования, с которым познакомился. Решил развиваться в нем дальше»
  • «Чем мог, тем и занимался, потому что хорошо получается»
  • «Всегда нравилась разработка, PHP выбрал случайно»
  • «Разработкой занимаюсь более 20 лет, уже не помню, почему выбрал. C PHP начал работать с где-то с 2005 года, скорее всего потому, что появился новый проект»

Еще один важный момент, который мы затронули в исследовании, был вопрос мотивации.

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

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

  • Спорт, книги, веселье))
  • Книги, путешествия, кино
  • Сноуборд, велосипед
  • Спорт, путешествия
  • Спорт, музыка
  • Театр, балет
  • Разведение собак
  • Спорт
  • Автомобили, электрогитара
  • Шахматы, покер
  • Семья, дети, музыка, новости и новинки в digital-сфере
  • Фото
  • Автомобили
  • Гитара

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

Вместо послесловия

Команда Propeople подготовила это mini-исследование, исходя из своего опыта и понимания особенностей работы с PHP-разработчиками. Мы будем рады, если оно окажется полезным для вас. И, разумеется, нам очень важно, что вы об этом думаете. Пишите, пожалуйста, свои вопросы, пожелания, дополнения и отзывы на info@proppl.ru