Как стать веб-программистом в кратчайшие сроки
“Smart is the new sexy”
Профессия программиста сейчас в тренде и не зря: высокая зарплата, гибкий график работы (иногда даже в удаленном варианте), интеллектуальный род занятий и чувство гордости за создание полезного продукта определенно располагает к себе.
Не удивительно, что многие задумываются: как же стать ближе к программированию? Многие, однако, даже не пытаются продвинуться к нему и откладывают изучение вопроса на потом (которое, конечно, никогда не наступает).
Программировать не страшно
Cтать программистом не так трудно, как может казаться на первый взгляд. Более того, с каждым годом обучающий материал становится всё доступнее. Программисты сами себе облегчают жизнь: новые инструменты создаются проще предыдущих.
Почему я рассказываю именно о веб-программировании? Потому что в этой области порог вхождения — один из самых низких. Веб-разработка, как правило, начинается со стилизации содержимого сайтов (верстки). Это очевидно проще, чем работать со сложными объектами в различных абстрактных структурах, что нужно делать в других видах программирования. Плюс, это сегодня одна из самых востребованных и быстро развивающихся областей.
За последние пару лет несколько моих друзей и знакомых просили меня обучить их программированию. Некоторым я помогал напрямую, но в основном просто передавал им список действий, выполнив которых, они смогут стать начинающими программистами. При этом ничего особенно не нужно: только желание, время и упорство. Поэтому сейчас я поделюсь этим списком со всем миром, чтобы каждый смог бы самореализоваться в этом ремесле.
Маленькое примечание для опытных программистов в стиле вопрос-ответ:
В: Зачем ты хочешь сделать самому себе больше конкурентов в профессиональной области? Звучит как садо-мазохизм!
О: Обучая новых людей программированию, я не создаю себе конкурентов потому что я далеко не начинающий. Когда новички дойдут до моего уровня, я буду еще дальше от них. Каждый специалист должен всё время развиваться. Если вы боитесь потерять работу из-за появления молодых, потому что вам лень заниматься саморазвитием, то вы не достойны этой работы.
В: Отлично, станет еще больше людей, пишущих плохой код. Кому это нужно?
О: А вы сами с самого начала писали хороший код? Не бывает идеальных людей. Не работайте с новичками, если не хотите. Я убежден в том, что разнообразие в коллективе ведет к усовершенствованию команды в целом, так как во время обучения других человек развивается сам.
В: Этот список — полная ересь. Для начала люди должны прочитать “Совершенный Код” Макконелла, а также “Язык программирования C” Кернигана…
О: Не должны. Довольно сложно начать изучение такой абстрактной вещи как программирование с толстенных книг. Я сам начинал с практики, постепенно двигаясь к best practices и к различным паттернам. Помню, в начале читал книгу по Javascript: выглядел умным, но обучился ничему. Разумеется, этот список субъективен и не идеален, но с помощью него точно можно начать программировать.
Ладно, что делать?
Итак, приступим. Для того, чтобы стать веб-программистом, вам нужно стабильно тратить своё время на это. Например, пяти часов в неделю будет достаточно, чтобы за полгода с нуля дойти до первого предложения о работе. Дорога к нему не будет простой, но и невозможной тоже. Верьте в себя и всё у вас получится!
Итак, цель №1: стать верстальщиком (программистом, переводящий дизайн прототипа сайта в код с помощью языков HTML, CSS и Javascript).
К сведению, HTML — это, очень грубо говоря, основной язык, с помощью которого создается структура сайта. CSS — тоже грубо говоря, язык для оформления содержимого сайтов. Без HTML сайт существовать не может, а без CSS сайт будет выглядеть очень просто и непривлекательно. Javascript — язык, с помощью которого страницы можно сделать интерактивными настолько, насколько вздумается. В последние годы используется также еще много где: в роботах, в базах данных, в 3D анимации и так далее, поэтому знать его не будет лишним.
- Пройдите интерактивные курсы по созданию базового сайта на Code Academy или на HTML Academy если у вас с английским пока плохо. Вы изучите HTML, а также CSS. Даже если вы никогда не программировали — вы сможете разобраться (хоть это и не будет просто). Пройдя курсы, вы сможете сделать первый сайт!
- Код сайта пишут в редакторах текста. Вы можете писать даже в Блокноте, но это — пытка над самим собой! Поэтому редактор нужно выбрать и установить. Если сомневаетесь, рекомендую Sublime Text: он популярный, мощный и быстрый.
- Создайте простой сайт, описывающий что-то. Он может быть посвящен чему угодно (фантазируете, это полезно): себе любимому, родному городу/селу/космической станции, единорогам. Не обязательно его выкладывать в интернет: остановитесь на том, чтобы он просто запускался у вас в браузере. Скорее всего, он получится ужасным, и это нормально [:
- Пройдите курс по jQuery — это такой популярный инструмент, позволяющий легко делать страницы интерактивными с помощью языка Javascript.
- Пройдите еще пару курсов на сайте Code School, где помимо интерактивных уроков есть живое видео. С их помощью вы закрепите основы jQuery/Javascript, что позволит вам добавить на сайт разнообразный интересный функционал.
- Создайте еще пару сайтов, только на этот раз с динамичным функционалом. Например, с формой обратной связи или со слайдером или с Google картой вашего дома. Всё это не обязательно с нуля писать самому (начинающему это сложно). Для облегчения жизни опытные ребята уже написали плагины (полезные строки кода, выполняющие какую-то определенную задачу), которые можно подключить к своему сайту, настроить и получить желаемый функционал. Можете также пройти курс на эту тему.
- Пройдите полный курс по Javascript, чтобы освоить базу этого невероятно востребованного языка.
- Создайте еще один сайт по профессиональному дизайнерскому шаблону, который можно найти, например, на Behance. Задача — максимально точно повторить дизайн и создать функционал: именно это будет требоваться от верстальщика.
- Выложите свою последнюю работу на бесплатный хостинг (заодно разберетесь, как это сделать). Достаточно будет создать простейший одностраничный сайт-портфолио со ссылками на остальные свои работы.
- Вы теперь знаете HTML, CSS, jQuery, Javascript, ознакомились с плагинами и их подключением. Неплохо! Начните получать за это деньги. Изучите рынок вакансий на сайтах типа Headhunter, заполните там портфолио и начните спрашивать работодателей. Получить отказ от первых 5–10 компаний — абсолютно нормально, вы же только начинаете! Вас будут ждать тестовые задания. Даже если вы их завалите (например, будете делать слишком долго) — ничего, они пополнят ваше портфолио!
- Пока вы ждете ответов от работодателей, сделайте еще один сайт по макету, адаптировав его под мобильные устройства с помощью CSS свойства media-query. Подобная задача сейчас очень распространена. Также в свободное время можете пройти еще курсов на различных сайтах типа Code Avengers или даже поиграть в игру с помощью Javascript.
Что дальше?
Дальше всё зависит от вас. Забросить программирование на этом этапе? Ваше дело. Использовать эти базовые знания и создать сайт для своей основной работы вместо того, чтобы нанимать кого-то со стороны? Почему бы и нет!
Если желаете продолжить — рекомендую поработать пару месяцев верстальщиком, привыкнуть к атмосфере и к сообществу, а затем всё дальше переходить в Javascript, сначала, например, во Front-end разработку (связанную с тем, что видит пользователь — анимация, интерактивность и тд), а затем в Back-end (базы данных, серверы, алгоритмы). Выбор за вами!
Исследование завершено!
Список получился не таким уж и большим, не так ли? Вам это вполне под силам. Если у вас возникнут вопросы — можете спокойно оставлять комментарии или писать мне. Также я буду рад конструктивной критике и предложениям по списку. Удачи вам!