Что нужно знать php разработчик

Профессия «PHP-разработчик» — подробное описание

%D0%9F%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D1%8F PHP %D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA %D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5 %D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5 min

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

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

%D0%9F%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%8C %D0%B8 %D0%B2%D0%BE%D1%81%D1%82%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C PHP %D0%BF%D0%BE TIOBE

Популярность и востребованность PHP по TIOBE

Ну а популярный веб-ресурс GitHub указывает, что PHP с 2014 года уверенно закрепил за собой 4-е место:

%D0%9F%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%8C PHP %D0%BD%D0%B0 GitHub

Популярность PHP на GitHub

Кроме того, статистика поисковых систем говорит – 80% веб-сайтов, чья посещаемость превышает 10 млн пользователей в месяц, используют PHP. Если еще не сложилось мнение о том, что это сверхпопулярный и востребованный язык программирования, то достаточно отметить – его применяют даже Wikipedia и Facebook.

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

Что делает и чем занимается PHP-программист

%D0%9E%D1%84%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9 %D0%BB%D0%BE%D0%B3%D0%BE%D1%82%D0%B8%D0%BF PHP

Официальный логотип PHP

Основными обязанностями PHP-разработчика выступают:

В обязанности программиста еще может входить:

Если коротко: он отвечает за разработку и обслуживание ресурса.

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

%D0%9D%D0%B0%D0%B2%D1%8B%D0%BA%D0%B8 PHP %D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0 %D1%87%D1%82%D0%BE %D0%BD%D1%83%D0%B6%D0%BD%D0%BE %D0%B7%D0%BD%D0%B0%D1%82%D1%8C %D0%B8 %D1%83%D0%BC%D0%B5%D1%82%D1%8C %D1%81 %D1%81%D0%B0%D0%B9%D1%82%D0%B0 quicknetsoft.com

Навыки PHP-разработчика — что нужно знать и уметь (с сайта quicknetsoft.com)

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

Чтобы получить все необходимые навыки, рекомендуем пойти на курсы PHP-разработчиков. Вот лучшие образовательные программы:

Источник

Что должен знать «PHP Junior Developer без опыта работы»?

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

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

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

HTML, CSS, JavaScript

Вам может показаться, что знать эти вещи идеально PHP-програмисту не требуется, однако это не так. Валидная вёрстка, кроссбраузерность и прочие слова, которые пишут в вакансиях верстальщиков применяйте также и к себе. В общем-то это вполне логично, поскольку даже самый идеальный код на PHP не нужен никому, если он при этом генерирует неадекватный HTML.
В некоторых организация мне сразу говорили, что вакансия подразумевает именно разработчика PHP, есть отдельные верстальщики/скриптовики. Однако таких организаций было мало.
Самый показательный пример — одно из выполненых мной тестовых заданий. В нём соотношение строк PHP:JavaScript:HTML было примерно 20:50:30.

Фреймворки

Ваши знания PHP как такового интересуют весьма незначительную часть работодателей. Большинство компаний используют в разработке различные фреймворки, и хотят от кандидата того же. Если в пожеланиях к кандидату вы увидели «-знакомство с фреймворком х», то скорее всего это не пожелание, а требование.
В Новосибирске наиболее популярны (исходя из вакансий джуниоров) Yii, Symfony и Zend. Изредка мелькает CakePHP.
Лично мне освоить Yii на базовом уровне удалось за неделю спокойной работы. Что, впрочем, не значит, что вы не сможете разобраться в нём быстрее.

PHP — тоже програмирование

Со всеми вытекающими отсюда последствиями. А именно — без знания теории ваша квалификация крайне низка.
Порог вхождения в PHP невысок. Как следствие, все прочие програмисты смотрят на PHP-шников с презрением и неодобрением. Да и в общем-то есть за что.
Незнание основ теории может приводить к таким ужасным вещам, как генерация в коде миллиона объектов с последующим применением к ним пузырьковой сортировки. Это, конечно, гипербола, но суть её вы, наверное, уловили.
В общем настоятельно рекомендую вам прочитать пару-тройку книг по теории програмирования. Вряд ли вас спросят о подсчёте сложности алгоритма, но общие вопросы, некий начальный уровень програмиста, на собеседовании стараются выяснить.

Разработка включает в себя многое

Лично мне никогда не приходила в голову мысль, что стоит думать не только каком языке ты пишешь, но и чем ты пишешь. Очень желательно знать основные IDE, точнее их главные функции.
Для нормальной работе в команде необходим контроль версий.
Кроме того, в проектах принято проводить тестирование и как-то собщать об ошибках.
А ошибки бывают такие, что неплохо бы знать содержимое php.ini.
И конфиги nginx/apache.
И можно очень долго продолжать.

Готовьтесь к резкому расширению кругозора

При выполнении каждого второго тестового задания вам придётся с нуля осваивать что-то новое. NoSQL, AJAX, чьи-то API, JS библиотеки и прочие вещи, о которых вы в лучшем случае слышали пару раз в жизни, вам придётся экстренно изучать.
То что вам не знакомо вовсе не обязательно является чем-то сложным. Это ведь действительно задания для начинающего разработчика без опыта работы. А значит, несмотря на кажущуюся сложность, решение задачи вы быстро найдёте, уделив полчаса документации.
Не отказывайтесь от задания, если оно показалось вам слишком сложным. Просто почитайте статьи или учебники по этой теме, вы поймёте, что бояться нечего.

Тестовые задания могут быть неточны

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

HR`ы нередко адекватны и профессиональны

Нередко — это 6 из 10. Будьте готовы к тому, что на остальные письма вам не ответят, тестовые задания не проверят, мы вам перезвоним.
Я уж не знаю, чем руководствуются эти люди. Серьёзно, HR, почему вы не можете потратить пять минут на человека, который потратил на вас день?
Если вы столкнётесь с такой проблемой, не ждите ответа. Звоните и пишите, спрашивайте почему про вас забыли.

Собеседование это огромный плюс

Общение с опытным разработчиком и просмотр вашего кода сильно продвигает вас в развитии. Даже если вам отказали в вакансии, вы всё равно получили ценный опыт.
После каждого собеседования обязательно пройдитесь дома по вопросам и уточните неясные вам моменты. Как правило эти вопросы относятся к базовым знаниям, без которых ваша работа будет как минимум некачественно. Что-то не знаете — обязательно разберитесь. Хотя бы потому, что подобный вопрос с большой вероятностью повторится.

Источник

Что и в каком объеме нужно знать php программисту

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

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

Ну тут само по себе понятно что, если планируешь стать PHP программистом то PHP как раз то что нужно знать и как можно лучше. Касательно версии PHP, которую стоит изучать — думаю что на данный момент нету смысла начинать с версии ниже PHP 5.0, вряд ли вы найдете где-то вакансию где нужно будет работать на версии ниже этой.
Что касается глубины знаний по этому языку, то чем они будут глубже и объемнее тем соответственно лучше, т.к. это ваш основной рабочий инструмент. О том что конкретно изучать и в какой последовательности вы сможете легко найти информацию в Интернете скажу только что обязательно нужно изучить реализацию ООП, т.к. основная масса фреймворков и CMS написаны с использованием этой парадигмы. Так же полезным будет почитать про шаблоны проектирования, в частности про MVC.

Вряд ли зная только один язык PHP вы сможете найти достойную работу. Основная масса вакансий требует от программиста знания и умения работать с одним из распространенных хранилищем данных. На данный момент выбор различного ПО для хранения данных довольно велик хотя на мой взгляд для php программиста была и пока остается самой востребованной СУБД MySQL. Я не в коей мере не пытаюсь занизить достоинства других СУБД, но в основной массе вакансий фигурирует именно MySQL.
Что касается версии, то опять же стоит изучать MySQl с версии 5.0 и выше.
По данной теме в Интернете так же можно найти множество информации для изучения, от себя хочу акцентировать внимание только на необходимости изучения способов оптимизации как самой структуры базы данных, так и запросов к ее таблицам.

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

Казалось бы что этот клиентский язык программирования уж точно выходит за область обязательных знаний php программиста, но опять же рынок диктует совсем противоположное. В различных вакансиях, которые мне доводилось встречать уровень знаний в этом языке разнится, но практически во всех он обязателен.
Что бы лично от себя я порекомендовал — после того как ознакомитесь с основным синтаксисом этого языка переходите сразу к изучению одного из распространенных фреймворков, я бы посоветовал выбрать между JQuery и ExtJS. В основном в вакансиях фигурируют именно эти два фреймворка.

Это опять же мое личное мнение, которое основано на опыте и на логике. Т.к. основная масса серверов для хостинга сайтов написанных на php работают под управлением *nix (Linux или Unix) то соответственно лучше бы знать эту операционную систему. Лично я уже давно на рабочем компьютере устанавливаю Linux Ubuntu. На данный момент в этом дистрибутиве все сделано таким образом, что установка и настройка LAMP не вызывает совершенно никаких трудностей.
После того как вы установите и настроите у себя на компьютере LAMP советую изучить основные команды для работы в командной строке: работа с пользователями и группами пользователей *nix, работа с файлами и каталогами, работа с редакторами vi, vim, работа в файловом менеджере Midnight Commander, работа с демоном-планировщиком cron.

Думаю что не ошибусь, если скажу что на данный момент Apache все же остается самым распространенным веб-сервером. Мне кажется что начать легче всего именно с него. Хотя и изучать особо углубленно его тонкую настройку все же нет смысла, т.к. по производительности лучшим выбором будет связка Ngix + php-fpm.

Ниже приведен перечень того, на что бы я еще порекомендовал обратить внимание для серьезного php (и не только) программиста:
1. PHP фреймворки — на данный момент очень редко в вакансиях не указывается знание одного или нескольких PHP фреймворков. В основном востребованы следующие: ZendFramework, Yii, Code Igniter, Symfony и Kohana. Мне больше всего нравится Yii.

2. ПО для кеширования данных, например: Memcached, Redis и т.д.

3. ПО для кеширования байткода php скриптов, например: eAccelerator, XCache и т.д.

4. NoSQL базы данных, например: MongoDB, CouchDB, Redis и т.д.

5. Английский язык, как минимум в достаточной мере что бы читать англоязычную документацию без словаря.

Дополнительно для работы в команде

Важные вещи для успешной работы в команде:

1. Coding Standards — очень важная вещь. В общем понимании это правильное и удобное для чтения оформление вашего кода.

2. Удобный и правильно настроенный редактор. По поводу правильных настроек лично я имею ввиду только правильною кодировку файлов и отступы в виде табуляции.

3. Умение работать с одной из распространенных систем контроля версий. Например: svn или git.

4. Опыт работы с каким-нибудь ПО для организации работы команды для постановки задач/ошибок, отслеживания потраченного времени и т.д. так же будет плюсом. Обычно такое ПО называется project management, в качестве примера можно привести Jira.

Дополнительно для работы в режиме фриланса

1. Если предполагается работать одному, то тут вам уже не обойтись без хотя бы базового знания графических программ, таких как Photoshop. Так же нужны будут боле углубленные знания по HTML + CSS, для того, что бы вы смогли делать кросбраузерную верстку.

2. Основная масса заказов скорее всего будет состоять в исправлении или добавлении функционала распространенных CMS, таких как: wordpress, Joomla, Drupal, DLE или Bitrix. Если ориентироваться на мелкие и средние заказы, то вам вряд ли понадобится знание какого-то из перечисленных выше фреймворков.

Ну вот вроде и все что я хотел сказать по данной теме. Надеюсь что статья окажется полезной. Спасибо за внимание.

Источник

Что должен знать начинающий PHP разработчик

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

Фундамент

Соображать и использовать Google. Первое оценить сложно, для этого придумано много «дурацких» вопросов для собеседований. Второй пункт либо прививается в первые дни испытательного срока, либо разработчик владеет им изначально, иной вариант никто не рассматривает…

Общепознавательное

Я таки опять возвращаюсь к собеседованиям, и манит меня прям

Из чего состоит HTTP запрос/ответ (да откройте же firebug или что у вас там установлено и посмотрите)
Установка связки Apache+PHP+MySQL — потренируйтесь, это ой как надо.
Таки немного о linux — о различиях файловых систем в сравнении с windows, о раздаче прав (chmod) и как выйти из vi без сохранения.

Пару-тройку дней потребуется на усвоение базовых знаний.

Основы основ — получение и обработка входящих параметров.

Работа с циклами, массивами и строками. И да, простенькое задание с собеседования (пора угомониться):

Работа с базой данных и с файлами. Для усвоения материала — вот вам задание: написать анонимную доску объявлений (с блек. аплоадом картинок)

Должны знать как работает механизм сессий — т.е. что происходит от момента вызова session_start, и каким боком это всё связано с cookies (помните я говорил о HTTP?).
Знать для чего служит include, require и какая между ними разница.
Разницу между echo и print не только знать, но и понимать.
Таки научиться работать с объектами, понимать разницу между абстрактным классом и интерфейсом.
Знать и использовать namespace.

Отдельно стоит упомянуть о гигиене кода — необходимо соблюдать стандарты кодирования, из множества существующих рекомендую стандарты кодирования Zend Framework’а

Чем больше опыта, тем лучше, но основы вы подтяните за неделю, ОПП потребует еще недельку.

Основы синтаксиса SQL. Немного вникнуть в MySQL и понимать различия между MyISAM и InnoDB.

Знать как работают LEFT/RIGHT/INNER JOIN’ы — наглядно в статье Visual Representation of SQL Joins (ссылка на картинку для ленивых — Visual_SQL_JOINS_orig.jpg O_o)

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

Сосредоточенного изучения в течении недели вам хватит.

HTML и CSS

Сверстайте пару страниц, от и до (HTML должен быть валидным). Не слушайте, что это работа дизайнера/верстальщика/кого-то еще. Поверьте моему опыту — вам отдадут свёрстанную страницу, никто за вас не будет интегрировать HTML шаблон в вашу систему, так что знание HTML и CSS в обязательном порядке.
Забудьте о том, что Smarty создан для верстальщиков, и они вам будут готовые шаблоны отдавать — это сказки. О Smarty тоже забудьте, хотя нет — иметь представление что это такое конечно надо, а вот использовать — нет.

Должны понимать CSS следующего содержания:

Узнать что есть блочная модель, да как работает float. Что есть margin и padding.

Дней пять вам хватит для освоения базовых навыков верстальщика.

JavaScript

Знать: синтаксис, о том как работают события, понимать что такое замыкание, и как работает AJAX. Рекомендую прочитать учебник Ильи Кантора. Это немного, изучение данных вопросов у вас не займет больше недели.
Далее прочитайте первые шесть частей из моей серии «jQuery для начинающих» — это еще пару-тройку дней на усвоение материала.

Еще чуть-чуть напрягов

Понимание шаблона MVC. Знакомство с каким-нить фреймворком (Zend Framework, Symfony, Yii, и т.д.). Можно пройти Quick Start от Zend Framework’а.
Научиться работать с БД посредством PDO. Знать что есть SQL-инъекция.
Познакомиться с какой-нить современной системой контроля версий (да хоть с SVN)

И на что я могу расчитывать?

Месяц изучения, и вы уже сможете претендовать на должность Junior PHP разработчик. Ответ на меркантильный вопрос смотрите на DOU

Источник

Как стать PHP-разработчиком: roadmap с нуля до профессионала

kak stat php razrabotchikom3

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

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

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

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

Что нужно знать и уметь PHP-программисту

kak stat php razrabotchikom

Понимая общую картину, стоит взглянуть более детально на список навыков, которыми вполне реально овладеть за 6 месяцев:

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

Как начать карьеру PHP-разработчика

kak stat php razrabotchikom2

Находясь на пороге освоения профессии PHP-developer, важно не пугаться объема того, что предстоит изучить, и сразу начинать действовать. Следующий алгоритм не является 100% верным руководством, но поможет вам понять, как становятся PHP-разработчиками:

Важно : после первой собственноручно написанной строки кода следует проявить интерес к системе контроля версий Git, которая поможет отслеживать изменения на проекте.

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

Где учиться на PHP-разработчика

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

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

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

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

Если вы новичок в программировании, читайте нашу статью как учить PHP с нуля.

Источник

Справочник по обустройству дома и дачи
Adblock
detector