Как стать веб-разработчиком?

Веб-разработка
01.05.2019
Как стать веб-разработчиком?

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

Немного воды: для меня веб-разработка со школьных лет была как хобби, я верстал разные HTML странички для себя в свободное от учебы время, затем начал добавлять различные эффекты на JS, затем хотелось добавить взаимодействие с данными и я изучал PHP + MySQL. И вопроса как изучить ту или другую технологию, никогда не возникало, так как в XXI веке найти информацию в интернете не составляет труда (когда изучал интернет был Dial-up - это 56 Кб/с), главное правильно поставить вопрос.

О веб-проектах и веб-разработчиках

Любой более-менее нормальный веб-проект имеет две составляющие части - это серверная часть (backend) и клиентскую часть (frontend). Серверная часть - это все что обрабатывается на вашем сервере (обработка данных, хранение данных в БД и т.п.), клиентская - все, что видит ваш пользователь у себя в браузере.

Исходя из этого, веб-разработчиков делят на:

  • Backend-разработчик

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

    Какие языки программирования: PHP, Python, Ruby, Java, Perl, JavaScript (Node JS), Golang и т.п.

    Какие фреймворки*: Laravel, Symfony, Codeigniter, Yii, Zend Framework, Kohana и т.п.

  • Frontend-разработчик

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

    Какие языки программирования/технологии: JavaScript, HTML, CSS и т.п.

    Какие фреймворки*/инструменты: Sass/SCSS, jQuery, LESS, AngularJS, Bootstrap, Prototype, Ember.js, Backbone, React.JS, Angular, Grunt, Gulp и т.п.

  • Fullstack-разработчик

    Специалист, который занимается серверной и клиентской частью проекта, то есть совмещает в себе специализацию backend и frontend разработчика. Наверное у вас возникла мысль, зачем backend и frontend если есть fullstack разработчики, ответ прост: зачастую, fullstack знает некоторые моменты у frontend или у backend более поверхностно, чем узкоспециализированный специалист, поэтому выбор специалиста под проект зависит от сложности/специфики самого проекта.

Предлагаю следующий план:

  1. Изучить HTML и CSS (вроде как неплохой курс на Stepik: https://stepik.org/course/38218/syllabus)
  2. Изучить один из языков программирования PHP, Python, JavaScript (NodeJS)
  3. Параллельно изучить SQL (MySQL, PostgreSQL и т.п.) на Stepik: https://stepik.org/course/551/promo
  4. Изучить один из фреймворков* под выбранный язык программирования, для PHP - Laravel, Bitrix**, для Python - Django, Flask, для JavaScript (NodeJS) - Express
  5. Сделать веб-проект, можно к примеру блог как у меня и разместить в сети
  6. После, как веб-разработка станет вашей профессией, дальше изучать другие языки программирования и фреймворки*

Рекомендуемые источники информации***:

  1. Для любителей видео курсов, курс от mail.ru по веб-технологиям https://stepik.org/course/154/promo
  2. Для старта в PHP разработке, книга от К. Янк "PHP и MySQL. От новичка к профессионалу" https://www.litres.ru/kevin-yank-2/php-i-mysql-ot-novichka-k-professionalu-2/
  3. По Python сложно предложить, какую-то отдельную книгу и для быстрого старта по Pyhton + Django, лучше наверное подойдет видео курс https://coursehunters.net/course/izuchenie-python-tkinter-i-django
  4. По Flask - М. Гринберг "Разработка веб-приложений с использованием Flask на языке Python" https://www.litres.ru/migel-grinberg/razrabotka-veb-prilozheniy-s-ispolzovaniem-flask-na-yazyke-python-22880162/
  5. Р. Никсон "Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5" https://www.litres.ru/robin-nikson/sozdaem-dinamicheskie-veb-sayty-s-pomoschu-php-mysql-javascript-css-i-html5/
  6. Для тех кто хочет изучить Bitrix**, вот их офф курс https://academy.1c-bitrix.ru/training/course/5862/
  7. Куча видео курсов https://coursehunters.net

* фреймворк - гугл в помощь! хватит ждать, когда тыкнут носом в нужную информацию

** выбрал Bitrix, так как порог вхождения простой и проектов на нем не мало, а многие хотят прям быстро начать зарабатывать на веб-разработке, так что, как вариант :)

*** некоторые источники, которые тут написаны, я поверхностно просмотрел, то есть не могу дать 100% гарантии, что там все хорошо, но по структуре выглядят они неплохо. Блок будет дополняться