Найти тему
CyberEd

Что должен знать специалист по web-разработке

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

Есть два способа изучения любого материала:

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

2. Итеративное изучение. Вначале пробегаемся по верхам, потом все глубже и глубже уходим в материал и в частные случаи.

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

Разработка делится на два больших раздела:

1. Front-end — разработка визуальной части сайта

2. Back-end — разработка серверной части сайта

Во многих больших компаниях эти роли разбиты между департаментами, однако в последнее время какой-то жесткой грани между ними нет и у хорошего front-разработчика должно быть понимание того, как устроен back и наоборот.

Процесс изучения веба я рекомендовал бы начать с front-end в такой последовательности:

1. HTML и CSS. Это максимально простая и не относящаяся к программированию часть, однако она позволит вам научится формировать внешнюю часть сайта — сделать сайт адаптивным и добавить минимум анимации.

2. Javascript (для front-end). Javascript можно назвать сердцем вашего сайта, потому что он позволяет его «оживить». Добавить динамические блоки, галерею, модальные окна и т.п.

Поздравляю! На этом этапе вы уже можете себя называть веб-разработчиком, но на работу вас пока никто не возьмет (увы). Но не расстраивайтесь, это только начало пути.

3. Научитесь публиковать сайт в сеть. Обычно в первый раз этот процесс кажется путаным, но это только в первый раз.

4. Библиотеки JavaScript . Их огромное множество, но я выделю самые популярные. Это React, Vue и Angular. Не стоит бросаться на них сразу, лучше возьмите один и изучите хорошо, у них много общего, и достойно разобравшись в одном, вам будет просто переключиться на другой.

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

Однако жажда знаний вас должна толкать вперед и книжка по php, которую вам подарили друзья, которые не знают разницы между front и back не будет давать вам покоя и наконец вы за нее возьметесь. Окей, второй уровень, изучение back-end:

5. PHP. Со мной могут поспорить, но я уверен, что изучение стоит начать именно с PHP, потому что есть огромное кол-во литературы, его легко развернуть и он интуитивно понятен.

6. Архитектурные паттерны. После того как вы написали hello world и разобрались с основами синтаксиса, стоит рассмотреть имеющиеся архитектурные паттерны. Самый популярный — это MVC, вот с него и стоит начать.

7. Базы данных. Ну и какой-же back-end без базы данных, это достаточно большая и обширная тема, которая используется не только в веб. Рекомендую изучить ее азы отдельно от веба и уже потом «женить» их.

8. Безопасность. Ну и раз у нас есть back-end и база, то крайне остро стоит вопрос безопасности, эту тему часто пропускают, после чего сильно переживают из-за этого, не допускайте ошибок автора.

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

Несколько советов от меня:

1. Больше практикуйтесь и будьте уверены в своих силах.

2. Не игнорируйте архитектуру. Минута сэкономленная при формировании архитектуры может вылиться в часы исправлений кода или его полное переписывание. Так что не упускайте этот важный фактор

3. Помните о безопасности — это неотъемлемая часть разработки и игнорировать ее недопустимо.

Приходите ко мне на курс по web-разработке для быстрого старта: https://is.gd/DtPT1d

-2