Навыки веб разработчика

Подсмотрел формат поста у Палыча и решил написать пост о четырёх навыках, которые вы должны приобрести, чтобы стать веб-разработчиками.

1. Мышление программиста

Хоть какие-то навыки программирования, мышление программиста. У любой программы, языка есть логика, простая — сложная, но она есть всегда. Выучить язык — базовые вещи, синтаксис и прочее — это легче, чем кажется, остаётся просто отточить знания на реальной задаче, неважно, её практическая применимость — напишите что-нибудь для себя.

2. Учим язык, чтобы жить и работать в этой стране

Английский язык. Я не понимаю, как можно быть технарём и не знать английский. Большинство технической документации написано на нём (1С-ники не в счёт, они и так прокляты корпорацией зла). Я не знаю, как я его умудрился выучить, преподаватели менялись чуть ли не каждый день.

Помочь вам может сервис http://lingualeo.ru/.

3. SEARCH MASTER

Уметь искать, Google/Yandex — неважно, это важнейший навык. Конечно, ряд технологий/ПО имеет автономную качественную документацию, но проще погуглить, чтобы решить ту или иную проблему. Причём искать надо: на родном сайте продукта, в сообществах (Stack Overflow, Хабрахабр и т. д.), в поисковиках с использованием всех их возможностей.

«Ничего не работает в PHP — скачать бесплатно и без СМС» — не прокатит.

4. Unix

OS — только Linux/macOS. Кто-то может годами рассуждать о том, что и на Денвере можно делать сайты, но правильные пацаны работают на инструменте, который никогда не выстрелит им в ногу. Если у вас есть денежка — бегом в магазин за Маком, если нет — качаете Ubuntu 12.04.

Ubuntu больше всего подойдёт, так как она стремится стать свободной версией macOS. Также следует забыть об эзотеричных ArchLinux/Slackware/Gentoo. Их изучение, конечно, может быть полезно для общего развития, но не более. Нам нужен инструмент, а не игрушка. Уровень работы — установка пакетов, работа в консоли, где лежат конфиги, понимание Unix (НЕ ЗНАНИЕ, а основные принципы).

Бонус — в чём же подвох?

Любой сайт/веб-приложение состоит из backend и frontend. И проблема ухода в веб связана с тем, что приходится изучать все части, немалые такие части.

В итоге вы потрогаете — webserver/PHP/HTML/CSS/JS — что уже немало.

Frontend

HTML + CSS + JS

Backend

веб-сервер (nginx / apache2 / ...)

    + язык программирования (PHP / Python / Ruby / Java / C# / ...)

    + база данных (SQL (MSSQL / MySQL / PostgreSQL / SQLite / ...) / NoSQL (MongoDB / Redis / ...)).

Но можно изучать постепенно, ставить сервер из коробки + какую-нибудь CMS (боги, только не Joomla и Drupal), советую WordPress или MODX. Заводите сайт для себя, блог, фан-сайт, конторы — неважно.

Если будет интерес — продолжу в цикле, возможно, даже дойдём до работающего приложения. Жду комментариев, как соловей лета.