что должен уметь junior php разработчик
Что должен знать Junior PHP разработчик // PHP
В данной статье я хочу ответить на вопрос — “что должен знать Junior PHP разработчик в 2016м году?”.
При этом я постараюсь добавить побольше ссылок на учебные материалы, чтобы на собеседовании вам не пришлось краснеть.
Отчасти перед вами обновленная статья Что должен знать начинающий PHP разработчик, а поскольку PHP достаточно интенсивно развивается в последнее время, то мне пришлось внести изменения в большую половину текста, можете сравнить из любопытства 😉
Пункт номер ноль
Разработчик должен соображать и уметь использовать Google. Первое оценить крайне сложно, для этого придумано много «дурацких» вопросов для собеседований. Второй пункт прививается в первые дни испытательного срока. Плюсом будет аккаунт на stackoverflow.com.
Фундамент
Если вы твёрдо намерены заняться web-разработкой, то первое что вам нужно будет понять – это принцип работы HTTP протокола (эти знания можно почерпнуть в профильных ВУЗах). Так же вы должны поверхностно знать о существовании TCP/IP протокола и понимать за что отвечает DNS сервер.
Установив Apache — научитесь его настраивать и рестартовать:
Будьте осторожны, Linux затягивает, вроде неделька нужна для познания азов, а очнулся — уже Новый Год, а ты сидишь и iptables настраиваешь
SQL/MySQL
Основы синтаксиса SQL требуются практически от всех программистов, будь то веб-разработка, или мобильная, вам же надо немного вникнуть в MySQL и понимать различия между MyISAM и InnoDB. Знать как работают LEFT/RIGHT/INNER JOIN’ы — это наглядно разъясняется в статье Visual Representation of SQL Joins:
Проверьте свои познания — создайте базу данных для учёта вашей домашней библиотеки (у вас же есть такая?), в ней должны быть следующие сущности:
Основываясь на данной структуре данных, вы должны составить запросы которые покажут вам:
SQL можно изучать в отрыве от всего остального, и он никому не повредит, чтобы разобраться на должном уровне с ним вам потребуется неделька усердного изучения без перерывов на поиграться.
HTML и CSS
Сверстайте пару страниц, от и до. Не слушайте, что это работа дизайнера/верстальщика/кого-то еще. Поверьте моему опыту — вам отдадут свёрстанную страницу, никто за вас не будет интегрировать HTML шаблон в вашу систему, так что знание HTML и CSS в обязательном порядке. И забудьте о том, что верстальщики будут готовые шаблоны вам отдавать — это сказки.
Разберитесь с селекторами в CSS, следующий код не должен вызывать у вас ужаса:
Узнайте что есть блочная модель, да как работает float. Что есть margin и padding. Почему CSS это каскадная таблица стилей, и что есть такое понятие как специфичность CSS-селектора.
Со всем этим можно разобраться за недельку-две, главное не лениться, ну и не стоит лезть в дебри кросс-браузерной вёрстки и анимации. Примочки типа LESS, SASS или БЭМ тоже стоит оставить на фронт-енд разработчиках
JavaScript
Несмотря на то, что PHP это бэкенд разработка, знания JavaScript’а вам сильно пригодятся — особое внимание уделите изучению следующих моментов:
Это немного, изучение данных вопросов у вас не займет более недели, всё это очень наглядно есть в учебнике Ильи Кантора.
Ещё желательно приступить к изучению jQuery, вот вам учебник и по нему — jQuery для начинающих — это еще неделька на усвоение материала.
Как вам списочек вышеописанных скилов? И это мы ещё не добрались к PHP 😉
PHP начинается с основ языка:
А ещё нужно иметь представление об объектной модели в PHP:
Так что ещё забыл, ах да — система контроля версий:
PHP через год
Отдельно выделю те знания, которые требуются от Junior разработчика через год работы:
Объектная модель PHP должна не вызывать озадаченности на лице:
Паттерны проектирования пора уже понимать и использовать:
Прочие навыки и познания: