Что нужно знать/изучить начинающему PHP разработчику? Часть #1
Думаю настало время на него ответить. В посте я буду перечислять навыки по некоторым субъективным уровням / шагам. Всего будет 2 части.
Шаг #1
Минимальный набор. Изучаем: PHP, реляционная база данных, веб-сервер.
На этом уровне и так все достаточно понятно: самые базовые знания для того, чтоб делать простые сайты.
PHP: синтаксис, основы, типы данных, работа с базой данных (PDO), глубокое понимание реализации ООП в PHP (классы, объекты, свойства, методы, области видимости, интерфейсы, трейты), сессии, анонимные функции, работа с файлами.
Не критично важно, но уже на этом уровне вам будет очень помогать xdebug (инструмент для отладки кода). Да, с ним трудно подружиться (поначалу может быть трудно настроить и разобраться с принципом работы), но когда вы это сделаете, он не раз спасет в сложных ситуациях.
Веб-сервер. Сейчас наиболее популярными являются nginx и apache. Если вы только начинаете, я бы посоветовал обратить внимание на nginx. Необходимо понимание virtual hosts, умение настроить окружение для локальной разработки (можно при помощи google/инструкции).
На этом уровне очень важно “набить руку”. Достаточно часто ученики стараются как можно быстрее перейти на более сложные темы (например, берутся за фреймворки) и позже тратят большое количество времени на простые задачи, вроде обхода вложенного массива в цикле или экспорта данных в csv файл.
Базы данных. Конечно же речь идет о реляционных БД, в частности о MySQL (хотя это может быть и PostgreSQL и другие). Пусть вас не сбивают с толку популярные NoSQL решения и заголовки о том, что реляционные базы уже не модные/отошли в прошлое и т.д. Уверенно заявляю: до сих пор (в 2019 году) реляционные базы данные — основа для работы с данными в веб приложениях (и не только). Добавлю, что сейчас на рынке существуют очень хорошие NoSQL решения и они прекрасно решают поставленные перед ними задачи. Но это все немного позже.
SQL не должен вас пугать: умение писать основные запросы, делать выборки из нескольких таблиц с агрегациями, условиями, базовые понимания о индексах и типах данных, скорости выполнения запросов — это необходимый минимум на данном этапе.
Терпение! Решите 200+ задач (я не шучу) на циклы, условные операторы, работу с файлами, функциями, взаимодействием с БД. Это основа работы любого программиста.
Шаг #2
Тачку на прокачку! Прокачиваем: паттерны, начинаем погружаться в SOLID, composer, frameworks.
Паттерны. Не стоит переоценивать эту тему. Равно как не стоит и забивать. Начните с шаблонов: Factory, Singleton, Builder, Adapter, Decorator, Facade, Strategy, Observer. Гарантирую, что вы увидите их во всех без исключения популярных фреймворках (в том или ином виде). Следует отметить, что перечисленные выше паттерны относятся к сборнику паттернов GOF (google). Есть и другие группы шаблонов: архитектурные, инфраструктурные, шаблоны проектирования для баз данных. На данном этапе не стоит лезть глубоко в дебри, но ознакомиться и понять области применения — must have.
SOLID — вообще отдельная история. Нельзя просто взять и осознать эти принципы за день. Да, можно выучить теорию и разобрать несколько примеров — именно так и нужно начать. Но со временем вы будете все глубже понимать идеи, которые несет в себе SOLID, а также мотивацию для его применения.
Composer. Я не зря написал его перед фреймворками. Часто так бывает, что программисты “получают” composer в тот момент, когда начинают знакомиться с фреймворком и это играет злую шутку. Если не освоить этот инструмент, в будущем потраченное время и проблемы гарантированы. Постарайтесь ответить на следующие вопросы:
- Что такое semver?
- Чем отличается composer.lock от composer.json?
- Зачем нужен packagist?
- Что значит опция —dev?
- Что такое PSR-4?
Если хотя бы на один вопрос вы затрудняетесь дать ответ, сделайте паузу, изучите тему глубже.
PHP фреймворки. Да, без них сейчас никуда. Абсолютное большинство серьезных разработок сейчас ведут с использованием opensource фреймворков. Какой выбрать? Исходя из состояния рынка на данный момент (октябрь 2019), для себя я бы выбирал из Laravel и Symfony. Могу сказать, что внимания заслуживает любой из TOP10. Дело вкуса.
Как изучать фреймворк? Мой личный рецепт — это 2 этапа:
- Читаем документации и cookbooks (бегло, не заморачиваемся на деталях). Основная цель — понять какой набор инструментов у нас в руках (без тонкостей их реализации).
- С целью получения практического опыта повторяем основной функционал какого-то популярного сайта. Например, BlaBlaCar, Instagram, Booking. Естественно, будет достаточно повторить 3-5 основных особенностей. Например, регистрация, создание/поиск/бронирование поездок/жилья и т.д.
Если вы последовательно двигаетесь в обучении, то на момент знакомства с фреймворком у вас в арсенале: отличное понимание OOП, вы знаете 5-10 самых популярных шаблонов, без проблем используете composer, умеете писать запросы к БД на чистом SQL. Эти знания помогут сфокусироваться на новых областях и не оглядываться назад на основы. Вот почему так важен последовательный подход.
Шаг #3
Волк-одиночка — это плохо. Основы командной работы. Git, стандарты оформления кода.
Вы уже слышали о PSR-1, PSR-12? Да, я знаю, что к таким вещам лучше привыкать сразу. Но на практике вижу, что речь об оформлении кода заходит в основном тогда, когда код нужно кому-то показывать. В большинстве осмысленных проектов приняты некоторые стандарты оформления кода. Как правильно это PSR-1 и PSR-12 (PSR-2 — не так давно устарел).
На самом деле вам совсем не нужно знать наизусть все тонкости. Достаточно будет одного прочтения документации по стандартам. А соблюдать эти самые стандарты вам помогут специальные инструменты, например PHP_CodeSniffer и разнообразные плагины для PHPStorm.
Кстати, плохо оформленный код — признак того, что человек, скорее всего, еще не имел опыта работы в команде, а также одна из популярных причин забраковать тестовое задание.
Кстати, я надеюсь вы используете PHP Storm? Если нет, самое время переходить! Sublime, brackets, netbeans и другие IDE очень от него отстали и не очень хорошо подходят для профессиональной разработки.
Git. Как не странно, но до какого-то момента можно успешно работать и без системы контроля версий. Но, как только в проекте появляется > 1 разработчика, работа без git становится адом.
Напротив, если все члены команды хорошо владеют VCS, у вас никогда не возникнет головной боли от обновления версий кода или потерянных изменений.
Эти команды вы должны знать и уметь пользоваться в консоли: git branch, git fetch, git checkout, git pull, git push, git reset, git revert, git rebase, git merge, git stash и, возможно, некоторые другие.
Да, кто-то может обоснованно возразить: зачем, ведь есть IDE и встроенные функции?
Все верно, многие ими пользуются и это есть хорошо (я в том числе). Однако, есть два важных момента:
- Вы обязаны знать что именно происходит, когда вы нажимаете на кнопку “Rebase” или любую другую. Это поможет понимать суть происходящего и в случае необходимости решить проблемы в ручном режиме.
- IDE есть не везде. Иногда вам нужно будет работать с удаленным сервером через терминал.
Конечно же, знать наизусть аргументы всех функций невозможно, да и не нужно. Однако, у вас должно быть точное понимание принципов работы основных git команд. Хороший идея — иметь под рукой собственный документ-шпаргалку.
Не обязательно, но может быть полезно посмотреть подход gitflow.
Бэкенд-разработчик: какие знания нужны для трудоустройства
При изучении программирования и поиске вакансий разработчика один из самых трудных моментов — выявить дважды неизвестные знания, то есть вещи, которые вы не знаете и даже не подозреваете об их существовании!
Цель этой статьи — прояснить ключевые моменты работы веб-специалиста. Мы сосредоточимся на разработке бэкенда и постараемся охватить все ее аспекты. Итак, поехали.
Основы
Каковы же основы веб-разработки?
1. Как работает интернет
Начать следует с твердого понимания того, как работает интернет.
Многие начинающие разработчики учатся писать код, не изучив в полном объеме принципы работы Всемирной паутины. Это особенно заметно на собеседованиях при приеме на работу. Нельзя забывать о том, что развертывание реального производственного веб-приложения — это далеко не то же самое, что написание небольших приложений по туториалам.
Вы должны понимать основы HTTP, DNS и TCP/IP, знать, что такое клиент-сервер/запрос-ответ, и разбираться в том, как это все работает для обеспечения пользователям доступа к сайту.
Когда вы тратите столько времени на набор текста, очень важно иметь под рукой инструмент, поддерживающий быстрое редактирование.
Современные IDE разработаны для облегчения процесса написания кода и снабжены множеством функций, упрощающих добавление текста, его редактирование и навигацию по нему. К популярным IDE относятся:
Что касается меня, то я предпочитаю меньше “наворотов” и более надежный контроль над работой редактора. Именно поэтому я использую Vim, модульный редактор, который обладает высокой кривой обучаемости, но делает редактирование текста достаточно быстрым.
Если вы готовы к трудностям, думаю, что изучение Vim того стоит. Также стоит подумать об использовании Unix в качестве IDE.
Подходы к работе с ПО
Важной частью работы инженера-программиста является обсуждение программного обеспечения с другими специалистами и заинтересованными сторонами.
Для этого понадобится хорошая база знаний об общих подходах и паттернах, чтобы вы могли понимать их и вносить продуктивные предложения по их дополнению/улучшению.
1. Принципы проектирования
Разработчики ПО используют несколько аббревиатур, обозначающих принципы, связанные с кодом.
- DRY — Не повторяйтесь.
- YAGNI — Вам это не понадобится.
- KISS — Keep it simple stupid (“Не усложняй, тупица!”).
- SOLID — этот акроним сложнее расшифровать. Наберите в Google “solid software” и вы найдете то, что нужно.
- Gang of Four (GoF) — целая книга общих шаблонов кода для решения различных реальных задач.
2. Архитектурные шаблоны
Веб-приложения, как правило, разрабатываются и развертываются в соответствии с архитектурными парадигмами. Вот некоторые общие шаблоны/термины, с которыми следует познакомиться:
- монолит;
- сервис-ориентированный;
- микросервис;
- бессерверный.
3. Наблюдаемость и мониторинг
Разработчикам нужно понимать, когда приложение “ломается”. Производственные приложения должны каким-то образом генерировать с помощью ошибок предупреждения для инженерной команды.
Более того, инженерные команды отслеживают всевозможные метрики приложения, такие как количество запросов, время отклика и следы потоков пользователей. Использование инструментов мониторинга и наблюдаемости — отличительная черта продвинутых команд.
Начинающему разработчику следует знать основы логгинга и обработки исключений. Вы также должны быть хотя бы поверхностно знакомы с некоторыми из наиболее популярных инструментов для мониторинга, такими как Datadog, New Relic, Dynatrace и Sentry.
4. Масштабирование
По мере увеличения числа пользователей и роста нагрузки на приложение достигаются пределы масштабируемости. Когда возникают проблемы с масштабированием, бэкенд-специалисты должны найти решения, которые позволят повысить производительность приложения при возрастании нагрузок.
Вот основные понятия и стратегии масштабирования, которые должен знать начинающий бэкенд-разработчик:
- горизонтальное и вертикальное масштабирование;
- фоновые задачи (воркеры);
- балансировка нагрузки;
- кэширование read-through и write-through;
- базы данных для писателей/читателей и реплики чтения;
- разбиение/шардирование баз данных.
5. Безопасность
Понимание основных принципов веб-безопасности также крайне важно для бэкенд-инженера.
К счастью, большинство фреймворков обеспечивают безопасность по умолчанию, поэтому вам не нужно глубоко вникать в криптографию, SQL-инъекции и CORS/CSRF-атаки. Однако вы все равно должны знать о существовании этих уязвимостей и о наиболее эффективных методах их предотвращения.
Если хотите получить представление о лучших стандартах веб-безопасности, ознакомьтесь с OWASP (проектом по обеспечению безопасности открытых веб-приложений).
Нетехнические (личные) качества
Когда инженер-программист не пишет код, он выполняет целый ряд других задач, входящих в его обязанности. “Гибкие” навыки тоже важны для бэкенд-специалиста. Они отличают действительно способных разработчиков и могут выделить вас на собеседовании или во время командного сотрудничества.
Вывод
Профессиональные бэкенд-разработчики обладают сложным набором навыков, требующих высокого уровня технической подкованности. Они также должны эффективно сотрудничать с другими инженерами для реализации сложных функций.
Получить работу бэкенд-инженера непросто. Не верьте, если кто-то попытается вас разубедить в этом. Бэкенд-инженерам не зря платят так много: основательно усвоить все эти навыки довольно сложно.
Но теперь, когда у вас есть дорожная карта, вы знаете, что вы знаете (и чего не знаете). Если вы внимательно изучить все разделы этой статьи, обещаю, что вы будете готовы к работе уже на этапе собеседования!
- Топ-10 бэкенд-фреймворков для веб-разработки в 2022 году
- Руководство бэкенд-разработчика по тестированию компонентов на Vue.js
- У приложений будущего может не быть бэкенда
Как стать веб-разработчиком за 5 месяцев: пошаговое руководство

С развитием цифровых технологий и постепенным отмиранием ряда популярных некогда специальностей, молодые люди всё чаще задаются вопросом о выборе актуальной профессии. Одним из самых перспективных вариантов большинство называет профессию веб-разработчика или веб-программиста. Именно эти специалисты формируют облик Глобальной сети и создают технологические тренды будущего.
Каждую секунду на свет появляется от 3 до 5 сайтов, а каждую минуту – 80 новых интернет-пользователей. Всё это технологическое «цунами» управляется разумом и руками веб-разработчиков. Зарплата вполне соответствует важности работы. Даже начинающие программисты на отечественном рынке могут рассчитывать получать от 50000 рублей в месяц.
Показательно, что специалисты информационных технологий уже много лет подряд стабильно присутствуют в крупнейших рейтингах наиболее востребованных профессий глобального рынка. Постоянная нехватка квалифицированных программистов делает порог входа в профессию крайне низким целеустремлённых для новичков.
Где можно научиться веб-разработке
Перед теми, кто решил освоить специальность веб-программиста самостоятельно, встаёт непростой выбор – с чего же правильно начать. Конечно, всегда существует возможность получить полноценное IT-образование в одном из ведущих технических ВУЗов, ранга МГУ им. М. Ломоносова, МГТУ им. Н. Баумана, СПбГУ, МФТИ и ИТМО. Но подобный курс обойдётся в круглую сумму от 60 до 350 тысяч рублей в год. Существует и более быстрый и дешёвый вариант стать веб-разработчиком «с нуля» – полугодовые онлайн-курсы, вроде российского Yandex.Практикума или зарубежного агрегатора «Курсера».

Однако, практикующие программисты уверяют, что самый правильный способ обучиться веб-программированию – освоить его самостоятельно. Так можно не только избежать серьёзных расходов, но и получить только те практические навыки, которые пригодятся в будущей работе. О том, как освоить азы разработки всего за 5 месяцев и уверенно двинуться дальше расскажем ниже.
Прочему надо начать с фронтенда
Сразу оговоримся, в этой статье мы расскажем лишь об обучении одному из двух основных видов профессии веб-программиста – о фронтенд-разработке (от англ. frontend, т. е. «внешний интерфейс»). Эти специалисты занимаются созданием и настройкой программного обеспечения для интернет-ресурсов в части, непосредственно взаимодействующей с пользователями. Фронтенд-разработчик создаёт «лицо» сайта. Он отвечает за всё, что мы видим и чем пользуемся – от цвета и расположения кнопок, до работы скриптов и их взаимодействия с браузерами.
В отличие от своих коллег бэкенд-разработчиков, ответственных за «серверную» часть веб-ресурса, frontend developer должен иметь более широкий кругозор. Фронтенд знает не только как сверстать сайт, но и прекрасно понимает, что у него под серверным «капотом», разбирается в принципах адаптивной вёрстки, веб-дизайна, юзабилити и SEO-оптимизации, а также имеет навыки мобильной разработки. Такой мощный «коктейль» навыков даёт начинающему программисту более широкую область профессионального применения, что автоматически повышает его востребованность у работодателей.
Какими навыками полезно обладать фронтенд-разработчику
- Активно интересоватьсяIT. А лучше, хотя бы на любительском уровне разбираться в современных интернет-технологиях.
- Знать английский язык. Вся актуальная учебная литература и технические документации к IT-инструментарию изначально написана на нём. Английский — международный язык общения команд разработчиков из разных стран. Верный гугл-переводчик тут не спасёт.
- Иметь навыки командной работы. Во-первых — это дисциплинирует. Во-вторых, в системе работы с версиями без этого умения никуда.
- Обладать стрессоустойчивостью. Навык пригодиться, чтобы работать с многочисленными правками клиентов и оставаться хладнокровным при нахождении очередных багов.
- Быть коммуникабельным. Успех в создании программного продукта часто зависит от умения нескольких работающих над ним специалистов находить общий язык.
- Мыслить нестандартно. Пунктуальность, коммуникативность и умение анализировать информацию обязательны для хорошего программиста. Но, чтобы стать профессиональным веб-разработчиком, создающим прорывные веб-продукты, необходимо уметь выходить за рамки обыденного.

Сам процесс освоения веб-разработки на фронтенде можно разбить на несколько основных этапов, каждый из которых займёт примерно месяц. С каждым шагом будущий программист овладевает одним из навыков или инструментов, на основе которых можно построить свою профессиональную карьеру в IT-индустрии.
Месяц 1 — Изучаем HTML и CSS
Язык разметки HTML и язык таблиц стилей CSS считаются одними из самых доступных для изучения, поэтому они прекрасно подойдут для начинающего девелопера. Эти инструменты позволяют освоить базовые параметры, необходимые для вёрстки любых сайтов. С помощью HTML создаются структура и содержание веб-страницы, а CSS отвечает за их внешний вид.
Невозможно понять веб-разработку в отрыве от практики. Для того, чтобы получить минимально необходимый набор знаний по HTML и CSS, лучше всего воспользоваться одним из образовательных MOOC-сервисов, вроде HTML Academy, Нетология, Coursera, Code Academy или Codebra. Здесь можно одновременно получать теоретические знания и практически закреплять их на тестовых упражнениях. Первые занятия подобных курсов, содержащие необходимый для новичка минимум, обычно даются бесплатно. За более углублённые знания придётся заплатить.

Краткий веб-курс по созданию сайта от Code Academy научит азам HTML и CSS
Удобные по формату видеоуроки по основам HTML и CSS выложены в свободном доступе на сайте одного из крупнейших образовательных онлайн-ресурсов Khan Academy. Много полезной информации по спецификациям содержит англоязычный сайт Консорциума Всемирной паутины (W3C), отвечающего за разработку главных веб-стандартов.
Не стоит опасаться, что для изучения языков HTML и CSS обязательно понадобится сильная образовательная база. На начальном уровне, о котором и идет речь, достаточно знаний по математике, информатике и английскому, которые получает любой выпускник средней школы. Результатом первого месяца работы должно стать овладение базовым набором тегов и свойств таблиц стилей, позволяющим менять цвета, шрифты, размер и ориентацию элементов веб-страницы.
Месяц 2 — Изучаем сеточную систему Bootstrap
На данный момент Bootstrap – один наиболее популярных и удобных CSS-фреймворков. Этот инструмент позволяет создавать визуальный вид веб-страниц при помощи таблицы стилей (CSS). В недавнем прошлом эту нишу занимали десктопные визуальные HTML-редакторы от Microsoft (Sharepoint Designer) и Adobe (Dreamweawer).
Изначально Bootstrap (под именем Twitter Blueprint) создавался компанией Twitter для внутренних нужд. Позже он был выложен в общий доступ и дополнен всеми компонентами, необходимыми для работы полноценного WEB-фреймворка. Сегодня в Bootstrap содержатся не только готовые стили CSS, но и скрипты HTML и JavaScript, а также собственный иконочный шрифт. Удобно и то, что фреймворк можно скачивать не полностью, а только необходимые элементы.

Работа с кодом в сеточной системе Bootstrap
Модульная сетка Bootstrap позволяет решить одну из главных задач при верстке классического адаптивного макета — заданию правильного процентного соотношения основных элементов сайта при показе на разных устройствах. Это своеобразная таблица соответствия, в ячейках которой заданы классы изменения ширины, высоты и обтекания для всех визуальных блоков веб-ресурса. Помимо сетки за месяц изучения Bootstrap начинающему фронтенд-разработчику предстоит освоить и другие компоненты фреймворка, включая меню навигации, формы, таблицы, модальные окна, вкладки, оповещения и другое.
Итогом двух первых стадий обучения фронтенд-разработке должно стать создание простейшего статического сайта без CMS. Он должен быть сверстан при помощи Bootstrap.
Месяц 3 — Изучаем JavaScript
Пришло время заняться изучением динамических скриптов, работающих на стороне клиента. Без подобного «живого» украшения не обходится ни один современный сайт. Главным помощником новичка в этом деле станет кроссплатформенный язык JavaScript (JS).
Сегодня JavaScript поддерживается каждым браузером в мире и считается оптимальным средством создания динамических веб-приложений. По данным авторитетного ресурса StackOverflow, более 90 % программистов называют изучение JS самым важным элементом подготовки фронтенд-разработчика.

Изучение JavaScript начинается с основополагающих понятий — синтаксиса, переменных и архитектуры языка. После овладения основами, ученик переходит на расширенные возможности JS в рамках взаимодействия с браузером через интерфейсы клиентских Web API.
Нелишним будет затронуть тему JavaScript-фреймворков — библиотек, размещённых на открытых источниках, например, на GitHub), которые помогают упрощать решения сложных программных задач. Наиболее популярные из них — связка React + Redux/ Flux, Ember и Angular. Можно выбрать один наиболее удобный JS-фреймворк, который поможет понять основные механизмы веб-разработки в части динамических элементов сайта.
Для быстрого изучения JS отлично подходят бесплатные онлайн-курсы компаний Udacity, SnoopCode и Code Academy, а также веб-учебник от сообщества разработчиков Mozilla и его отечественный «собрат» js.ru. Для более углублённого погружения в тему можно воспользоваться книгами электронного формата, многие из которых можно без труда найти в свободном доступе. Единственный минус – большая часть подобной литературы доступна только на английским языке.

Популярная учебная литература по JavaScript
- Серия книг «Вы не знаете JavaScript» (You Don’t Know JS);
- Серия учебников MDN’s JavaScript Guide;
- Эрик Эллиот «Программируем JavaScript-приложения» (Programming JavaScript Applications);
- Марейн Хавербек «Выразительный Javascript» (Eloquent JavaScript);
- Илья Кантор «Современный учебник JavaScript» (Modern JavaScript Tutorial);
- Дэвид Макфарланд «JavaScript и jQuery. Исчерпывающее руководство» (Javascript & Jquery: The Missing Manual);
- Хенрик Йоретег «Человеческий JavaScript» (Human JavaScript);
- Аксель Раушмайер «Говорить на JavaScript» (Speaking JavaScript);
- Эдди Османи «Изучаем шаблоны проектирования в JavaScript» (Learning JavaScript Design Pattern).
Итогом курса «молодого бойца» JavaScript должно стать умение разрабатывать динамические элементы сайта с помощью открытых библиотек, включая анимацию и интерактивные блоки. Овладение этим языком позволит улучшать функциональные характеристики, а также визуальную привлекательность веб-ресурсов, что незамедлительно скажется на их посещаемости.
Месяц 4 — Дополняем сайт на CMS своими программными улучшениями
Научившись создавать статическое и динамическое наполнение веб-страниц, можно сделать новый шаг по пути веб-разработчика и научиться улучшать сайт на основе готового движка CMS. Система управления контентом сайта (Content Management System) — наиболее популярное решение для быстрого создания и дальнейшего администрирования современных сайтов. Работа с CMS даёт новичку в IT прямой путь к получению первого коммерческого заказа.
Существует четыре основные разновидности систем управления контентом — самописные, коробочные, конструкторы и студийные. Для начального этапа обучения веб-разработке оптимальным будет вариант некоммерческой коробочной CMS —программного продукта с открытым кодом (open source) и большим набором готовых модулей для различных задач. Главным недостатком такого движка является повышенная уязвимость, но это с лихвой компенсируется общим качеством продукта, его доступностью, гибкостью настроек и лёгкостью в использовании.

Русскую версию CMS WordPress можно в 1 клик скачать с официального сайта
Для свободного скачивания доступны десятки вариантов подобных CMS. Наиболее известные — Drupal, Joomla, Opencart, Magento. Но лидером по популярности среди них является WordPress (WP). Начать своё практическое знакомство с CMS мы рекомендуем именно с этого движка. На этой системе управления контентом сегодня находятся до 20 миллионов сайтов, среди которых порталы таких гигантов медиа-индустрии, как Reuters, The Wall Street Journal, Forbes, BBC America и Variety.
При помощи этой CMS можно опубликовать свой сайт буквально за 10 минут. Разумеется, при наличие хостинга и домена. Можно скачать и установить дистрибутив самому, но некоторые хостинг-провайдеры уже предлагают WP среди CMS для предустановки.
Для начала можно взять одну из популярных тем и шаблонов WordPress, а затем модифицировать её, используя возможности открытого кода. Пробуйте, улучшайте, придумывайте нечто новое. В освоении функционала популярной CMS будут полезны бесплатные онлайн-уроки на английском и русском.
С помощью чего изучать WordPress «с нуля»
- Курсы WPBeginner’s WordPress* и видеоканал WPBeginner.
- Курс «Как создать, развивать и продвигать сайт»* от платформы Udemy.
- Курс WordPress Quick Start* от платформы WP Apprentice.
- Курс Customizing WordPress от платформы Level Up Tutorials.
- Серия видеоуроков Let’s Build WordPress.
* – Бесплатно после регистрации.
Месяц 5 — Создаем полноценный сайт при помощи HTML, CSS, Bootstrap и JavaScript
Последнюю часть вводного курса фронтенд-разработки следует посвятить созданию собственного программного продукта. В процессе создания своего веб-ресурса можно применить все навыки, полученные за предыдущие месяцы.
Это может быть одностраничный landing page или интернет-магазин со сложной структурой. Главное, чтобы в этом проекте отразился уровень полученных знаний и присутствовали оригинальные находки, свидетельствующие о творческом подходе к делу.

Обеспечить созданный сайт надёжным и доступным размещением в Сети поможет веб-хостинг с единоразовой оплатой от Eternalhost.
Не стоит расстраиваться и опускать руки, если работа заходит в тупик. Постоянный поиск инструкций и спецификаций в интернете – обычная практика даже для разработчиков с многолетним стажем. Понять все тонкости программирования можно, только непрерывно практикуясь.
Сколько потребуется времени
Чтобы усвоить необходимый минимум для веб-программиста, нужно уделять занятиям примерно 10-15 часов в неделю. При соблюдении регулярного плана, этого срока хватит для изучения основ веб-разработки даже, если начинать с базового уровня компьютерной грамотности. При этом, важно не перегружать себя информацией, равномерно распределяя уроки на все дни недели и оставляя выходные на восстановление сил.
Создание портфолио
Если придерживаться изложенного плана, в процессе обучения веб-разработке появятся первые работы, которые можно смело добавить в «портфель» своих достижений. Даже на небольшом одностраничнике можно показать интересные программные решения, которые наверняка оценят потенциальные работодатели.

GitHub — крупнейшая в мире платформа для веб-разработки
Портфолио веб-разработчика разумно разместить как на личном веб-ресурсе, так и дублировать в нескольких социальных сетях. Чтобы клиент мог оценить особенности авторского подхода к программированию, этапы создания проекта можно разместить в репозитории GitHub.
Не переставайте учиться
Нужно помнить, что профессия веб-разработчика основывается на постоянном совершенствовании знаний. Для того чтобы развиваться профессионально вовсе не обязательно записываться на дорогостоящие курсы или выписывать не менее дорогую специализированную литературу. Многие книги по программированию популярных издателей, типа Apress, O’Reilly и AW можно найти в официальном свободном доступе.
Не менее важным источником знаний о веб-разработке могут послужить крупные площадки типа Free Code Camp и StackOverflow, объединяющие IT-специалистов со всего мира. Множество руководств по конкретным вопросам разработки доступно в формате видео-инструкций на тематических каналах YouTube. Ну и конечно, не стоит забывать об официальной документации к программным продуктам. Она остаётся самым проверенным источников информации для веб-разработчиков.
Заключение
Конечно, за пять месяцев можно научиться только азам профессии программиста. Чтобы стать профи потребуется гораздо больше времени и усилий. Подобный экспресс-план поможет освоить набор минимальных навыков, которых могут ждать от начинающего фронтенд-разработчика работодатели:
- HTML и CSS;
- JavaScript;
- Веб-фреймворк;
- Работа с шаблонами CMS;
- Вёрстка сайтов.
Не важно, какой выбор будет сделан далее — продолжать образование самостоятельно или углубляться в полноценный учебный курс. Данная база знаний поможет определиться с выбором пути развития и построить успешную карьеру в IT-индустрии.
