Как стать веб программист: Как стать профессиональным веб-разработчиком: практическое руководство / Habr – Как стать веб-программистом с нуля — краткий гид 🎓

Профессия веб-разработчик. Обучение в сервисе Яндекс.Практикум

Важное уточнение: на момент написания отзыва я успешно окончила бесплатную часть и все блоки, связанные с вёрсткой. Дальше идут разделы о JavaScript и инфраструктуре веб-приложений — о них судить не могу.

Когда объявили о запуске Яндекс.Практикума, я уже несколько месяцев как решила уходить со своей профессии, совсем не связанной с IT, во фронтенд. В моём багаже были базовые знания о JavaScript, HTML и CSS, огромная неуверенность в себе и вопрос «А что дальше?». После нескольких бесплатных курсов, статей, пары книг из списков «Каждый фронтендер должен прочитать» и туториалов я поняла, что хоть и могу решать отдельные задачи, но как подступиться к большим самостоятельным проектам — непонятно.

Больше всего в самообучении не хватало фидбэка, а на форумах не оставляло ощущение, что все поголовно программисты закончили мехмат и написали первую программу/сверстали первый сайт в первом классе. То есть я опоздала со стартом в программировании минимум лет на 20. Мне 27. В момент, когда я задумалась о платных курсах с наставником, в мою жизнь пришёл Яндекс.Практикум.

Помимо учёбы, также очень хотелось поучаствовать в развитии сервиса, помочь ему стать классным и удобным для следующих потоков. Большим плюсом стало то, что у меня появился не просто один наставник, а целое комьюнити из одногруппников, преподавателей и тех, кто создаёт сервис. У нас есть чат, где активны не только студенты, с нами постоянно делятся интересными статьями и регулярно проводят вебинары на темы от Q&A и разбора домашних заданий до БЭМ и эволюции построения сеток.

Принцип тренажёра не новый, такое я видела и раньше, но самое классное здесь — это самостоятельная работа над проектами. Она действительно самостоятельная. Отчётливо помню свой ужас во время первого домашнего задания, когда я увидела, что у меня есть просто статичный макет страницы. Пришлось открыть редактор и с нуля верстать полностью всё. Я думала не смогу. Я боялась, что результат будет настолько плох, что меня отчислят, потому что таким бездарям не место в программировании. И я отчётливо помню невероятное счастье, когда после проверки увидела комментарии ревьюера. Да, были ошибки, но кроме них у меня ещё был структурированный и логичный код, хорошая семантика, и я справилась с именованием классов по БЭМу. За 15 часов, которые я потратила на первое дз и правки, я выучила больше, чем за несколько месяцев самостоятельной практики, но, что важно, я почувствовала, что я могу.

Прошло почти 2 месяца после первого домашнего задания и около 2.5 месяцев — как я с Яндекс.Практикумом. В моём портфолио одностраничный сайт и большой адаптивный лендинг. Я узнала много интересного о вёрстке, научилась отлаживать код и уместно комментировать его, а впереди ещё много тем и дипломный проект. Осенью я планирую начать поиски своей первой работы во фронтенде. Большое спасибо всем из Яндекс.Практикума! Уверена, у нас всё получится.

Как стать веб-программистом с нуля

Сперва разрешите представиться: Сергей Гарсия (Sergei Garcia). Работаю на полную ставку front end — разработчиком, 2 года опыта. За это время работал как в консалтинговой фирме из списка Forbes 500, так и в небольшой компании.

Возможно вам покажется, что это маленький опыт, но для меня второй год работы стал важной вехой. Я не имел реального опыта в области веб-разработки, имел малый опыт программирования в целом. Обладал базовыми знаниями в C# и Java, полученными на нескольких онлайн-курсах. Также у меня был диплом управленца IT-проектами, а не компьютерщика.

Никогда не писал о своем опыте, несмотря на помощь, которую получил от замечательных ресурсов, таких как Medium, Stack Overflow и Reddit. Сегодня решил изменить это и рассказать, что ладилось, а что нет. Так что если отправитесь в это путешествие, вам повезет больше, чем мне.

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

Начинаю путешествие. Включаю и то, что было не так в нем. Если интересуют мои рекомендации по кратчайшему пути к веб-разработке с нуля, не стесняйтесь, переходите к последнего разделу: Кратчайший маршрут.

Итак, без дальнейших церемоний, начинаем!

Изучаем основы

Решив заняться веб-разработкой, я задался первым вопросом: «Что изучать?». После ряда поисков, я наметил учебный путь, основываясь на требованиях к большинству веб-разработчиков начального уровня:

  • JavaScript
  • HTML&CSS
  • CSS Preprocessors (Less&Sass)
  • Отзывчивый дизайн
  • AngularJS
  • Шаблоны проектирования
  • Git
  • NodeJS
  • Средства запуска задач

Как это происходило.

Javascript

Я начал изучать JavaScript на CodeSchool.com (платно) и Codecademy.com (бесплатно). Если не знаете об этих сайтах, они отличные, научать писать код внутри браузера.

Я понял, что эти учебные ресурсы лучше для новичков. Имейте в виду, этот метод обучения быстро утомляет, когда переходите к более сложным вещам. Их алгоритмы проверки правильности решения примера кода имеют проблемы с точностью. Оба вводных курса по JavaScript отличные. Настоятельно рекомендую их.

Разобравшись с основами, приступил к получению более крепкого фундамента по JavaScript, прочитав книгу «Выразительный Javascript: Современное введение в программирование» (Eloquent Javascript: A Modern Introduction to Programming ), Хавербек.

Книгу рекомендовали многие пользователи с форумов по JavaScript, как обязательную к прочтению. Не зря. Книги трудная — особенно если только приступаешь к изучению, как я тогда. Рад, что не сдался. Ее феномен в огромном объем охватывающих программных концепции. Несмотря на ее беспощадность временами. Независимо от того, что вы делаете, не пропустите упражнения. После прочтения, сможете уверенно сказать о хорошем понимании JavaScript.

При желании можете изучать jQuery (хотя я не рекомендую ее, подробности позже). Вы можете изучить ее на CodeSchool, курс Try jQuery.

HTML & CSS

Изучив JavaScript, начал изучать основы HTML и CSS и веб-дизайна на курсе HTML & CSS, CodeSchool. Эти курсы любимы мною по сей день, дают прочную основу.

Аналогичный курс HTML & CSS можете пройти на Codecademy, получите похожие результаты. Если готовы к вызову переходите к курсу от Udacity Intro to HTML and CSS. Он труднее.

Бонус: Достаньте книгу Джона Дакетта (Jon Duckett) HTML and CSS: Design and Build Websites (HTML и CSS: Разработка и дизайн веб-сайтов) — прочная отправная точка для изучения HTML и CSS. Высоко оценена на Amazon (4.7 / 5). Основательное введение в мир веб-разработки. Красивая книга, чистый дизайн, большие буквы, красочные страницы. Часто возвращаюсь к ней. Восхищает.

Less/Sass

Для тех, кто незнаком, Less&Sass — это транспиляторы CSS. Позволяют писать CSS элегантнее. Позволяют делать вещи, которые обычно не поддерживаются, например правила вложения CSS. Эти транcпиляторы «компилируют» код и преобразуют его в обычный CSS.

В настоящее время есть 2 основных транспилятора CSS: Less and Sass. Sass популярнее. Я понял, что сначала легче изучить Less. Потому, что Sass требует установки Ruby, от которого я не был в восторге.

Быстрый и полный обзор Less, примеры кода — winless.org/online-less-compiler. Попробуйте Sass онлайн на sassmeister.com (не включает примеры кода).

Неважно, что будете изучать Less или Sass. Они очень похожи. Если изучите одну, значит будете знать и другую. Отличное сравнение Less and Sass — Comparison between LESS&SASS.

Отзывчивый дизайн

Об отзывчивом дизайне и Bootstrap я узнал из курса Codeschool — HTML & CSS path. Недавно, нашел курс на Udacity от Google Responsive Web Design Fundamentals (Основы отзывчивого web-дизайна). Потрясающе освещает основы и не только. Обширнее, чем Codeschool.

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

AngularJS

Когда я только начинал, то понятия не имел, что такое AngularJS. Многие говорили: если хочешь стать разработчиком изучи его.

Сначала решил изучать AngularJS по официальной документации, но это оказалось ужасной идеей. Документация оказалась не простой для новичков, а загроможденное форматирование затрудняло чтение и понимание.

Потом стал изучать AngularJS на Codeschool. Получив положительный опыт от курсов по JavaScript и CSS, ожидал того же. Но ошибся. Курс был катастрофой. Алгоритм проверки правильности кода примера, иногда работал не правильно и отмечал правильное решение как неправильное.

Справиться с этим иногда помогало обновление страницы. Содержание курса тоже не очень. Хорошо объяснились основные компоненты приложения AngularJS, но объяснение интеграции в реальное приложение ужасно. После прохождения курса появилось больше вопросов, чем до.

Поискав на форумах я наткнулся на Egghead.io (бесплатный/платный), там повезло больше. Материал курса был яснее, короче и полнее. Помимо курсов предлагались 2-5 минутные уроки, охватывающие важные темы. (Например: что такое контроллер? Что такое фильтр? Что такое $scope? Все это упростило понимание основ.

Есть платные видеоролики. Охватывающие более сложные темы. Я прошел курс AngularJS Fundamentals и полностью был доволен результатами (стал большим поклонником курсов Egghead.io).

Шаблоны проектирования

Шаблоны проектирования – это многоразовые программные решения, которые можно многократно использовать для решения общих проблем программного обеспечения. Зная основы вы будете более конкурентоспособным разработчиком программного обеспечения на любом языке программирования. Облегчают понимание кода других. Вы быстро определите, какой шаблон проектирования они использовали в своем коде.

Нашел 2 отличных источника по шаблонам проектирования JavaScript. DoFactory — JavaScript Design Patterns и Addy Osmani — Learning JavaScript Design Patterns. doFactory намного легче понять, но книга Addy Osmani более полная.

Chrome DevTools

Один из самых мощных инструментов для веб-разработчиков. Чем раньше овладеете им, тем больше времени сэкономите позже. Бесплатный курс от Codeschool Explore and Master Chrome DevTools  отлично рассказывает о его применении.

Git (контроль версий)

Ах, Git — инструмент, о котором не знал пока не открыл его возможности. Git отслеживает изменения, внесенные вами в ваш код. Если что-то пойдет не так сможете вернуться к предыдущему моменту. Также позволяет просматривать историю кода.

Я нашел бесплатный курс Try Github на CodeSchool. Atlassian’s Git training превосходно освещает доступные команды. Codeschool’s Git Learning Path также отлично подходит для изучения основ Git.

NodeJS

Не потребовалось много времени, чтобы понять, что базовое понимание NodeJS поможет в моих поисках стать веб-разработчиком (подробнее об этом скоро).

Попробовал курсы по Node на Codeschool, но понял, что им не хватает контента. NodeSchool.io намного лучший преподаватель основ, и нескучный! Мне понравился практический подход, схожий с Codeschool и Codecademy, но с дополнительным улучшением.

Средства запуска задач (Grunt & Gulp)

Grunt и Gulp стали большим сюрпризом, потому что я не знал о таких инструментах, но меня обрадовали их возможности! В основном они позволяют автоматизировать общие задачи. Помните Less/Sass?

Обычно необходимо вручную запускать компилятор CSS каждый раз редактируя его для компиляции CSS, а потом обновлять браузер. Средства запуска задач можно настроить для просмотра изменений файлов Less / Sass. Когда они обнаруживают изменения, то компилируют ваш CSS и автоматически обновляют браузер. Очень полезные, сокращают время разработки.

Есть 2 главных: Grunt and Gulp. Несмотря на идентичность, работают по-разному.

Знания NodeJS помогут лучше писать файлы Grunt и Gulp, поскольку оба работают на NodeJS. Выбирайте какой хотите, но я понял, что Gulp намного легче. По-прежнему предпочитаю его из-за минималистского подхода.

Я нашел курсы по Grunt и Gulp на Scotch.io. Они лучшее.

Трудности, с которыми я столкнулся на первой работе

Изучив основы веб-разработки, я был готов к первому собеседованию на позицию начального уровня. Не буду вдаваться в подробности собеседования, так как статья не об этом. Отмечу лишь одно: мне сказали, что у меня прочные знания по JavaScript. (Спасибо, книге «Выразительный JavaScript!»)

Должен сказать, я очень нервничал в своем первом проекте. Требовалось создавать многоразовые веб-компоненты используя HTML, CSS, JavaScript, а также Bootstrap, Sass, Grunt.

Две главные ошибки:

  • Страх неудачи. Поскольку я был новичком, я постоянно опасался, что мой код ошибочен или плохо написан, поэтому тратил много времени на двойную проверку и придерживался лучших правил написания кода. Из-за этого редко пытался принимать новые решения опасаясь, их ошибочности. Это эффективно закрыло мое стремление к познанию новые вещи.
  • Делать так, потому что некий «X», знает лучше меня. Сначала я так и поступал. Хотя это и не совсем неправильно, делать что-то определенным образом только потому, что так сказал эксперт «X» по этому вопросу. Не зная почему так– привило меня к тому, что я реально не знал как все работает. Вскоре я понял, везде есть исключения. Всегда нужно знать причину, стоящую за практиками.

К счастью, во время работы над первым проектом у меня был понимающий тим-лидер, который помог мне преодолеть эти проблемы. Он постоянно мотивировал меня пробовать новые вещи, даже если что-то шло не так.

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

Применение AngularJS в реальном проекте также оказалось для меня большой проблемой. Главным образом потому, что я не понимал как работает многое из того, что я делал. Я считал это «магией Angular».

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

В итоге наткнулся на потрясающую книгу под названием Build Your Own AngularJS. Всю не прочитал. Прочитав раздел о работе Scopes and Watchers, и реально открыл, что магия angular, в действительности не магия. А лишь разумный способ поддержания привязки данных, используя проверку данных на изменение. Настоятельно рекомендую книгу всем, кто хочет вникнуть в AngularJS.

Другая проблема, с которой я столкнулся год спустя — быстрое развитие индустрии. Только освоил AngularJS и Grunt, чувствовал себя гордым и могущественным. Вскоре выяснилось, что на горизонте Gulp и ReactJS. Год спустя начал набирать обороты Webpack. Нужно было учить его. Как вы поняли, больше всего меня разочаровало быстрое устаревание моих знаний. Но вскоре один мой коллега просветил меня, сказав то, что изменило мое виденье библиотек и фрейворков навсегда:

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

Он был прав. AngularJS, возможно, устарел, но понимание магии, стоящей за ним помогло лучше понять архитектуру веб-компонентов React, которая улучшилась в соответствии с Angular’s Directives. Он также помог мне понять, как ReactJS приобрел столь большую популярность, а также его будущее.

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

Еще одна вещь, которая мне очень помогла — понимание того, чему не научился Это было важно в процессе становления лучшим веб-разработчиком.

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

Отличная идея, сделать простое hello world приложение для определения возможности платформы. Потом двигаться дальше. Но лучше сосредоточиться на потребностях вашего проекта. Сначала, это покажется тяжело, но, к счастью, существуют такие отличные ресурсы, как Stack Overflow, Medium и Reddit. Там найдете полезные обсуждения фреймворков и выясните, какой подойдет для конкретного случая.

Идем дальше

JavaScript

Прочитав “Выразительный Javascript: Современное введение в программирование“, легко сказать и почувствовать, что вы освоили JavaScript, но затем наталкиваетесь You Don’t Know JS(Вы не знаете JS) и это полностью подавляет вас (по крайней мере меня). Эта серия книг (бесплатная кстати), о которой на работе неоднократно упоминали senior-разработчики . И пока я не прочитал ее, не мог сказать, что знаю JavaScript.

Они были правы, так как страница за страницей постоянно выносила мозг:насколько действительно был сложный JavaScript, а также сколько распространенных ошибок совершают опытные и неопытных разработчики без надлежащего понимания JavaScript.

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

The Two Pillars of JavaScript: добротная статья известного автора Medium Эрика Эллиотта, в которой рассказывается о двух великих столпах JavaScript: прототипном наследование и функциональном программировании.

После глубокого понимания JavaScript, перейдите к ECMASCript 2015 (известному как ES6), текущему стандарту JavaScript. Можно попробовать ES6 в браузере, используя онлайн-транспилер Babel.

CSS

CSS может стать беспорядочным и дезорганизованным очень, очень быстро. Предложено несколько разных методологий для написания более чистого CSS, но выделяются 2, которые я настоятельно рекомендую вам прочитать о ASAP для конкурентоспособности:

  • SMACSS: Масштабируемая и модульная архитектура для CSS. Гибкое руководство по разработке малых и больших сайтов.
  • BEM: методология, которая поможет добиться использования компонентов многоразового использования и совместного использования кода во front-end.

Лично я предпочитаю SMACSS из-за его более чистого внешнего вида, но некоторые компании и CSS Frameworks все еще используют BEM, поэтому стоит знать оба.

JavaScript Bundlers

К настоящему времени у вас должно сложиться глубокое понимание Grunt или Gulp. Следующий шаг — добавление JavaScript bundler в ваш диспетчер запуска задач. Для модульной организации приложения JavaScript.

Есть два крупнейших игрока:

  • Browserify: позволяет устанавливать модули в браузере, объединяя все ваши зависимости.
  • Webpack: в основном Browserify на стероидах. Сложнее настроить и развернуть.

Мини-курс на Scotch.io Getting Started with Browserify поможет начать работу с Browserify.

Лично я потратил мало времени на работу с webpack. Но в свое время я работал с ним и должен сказать: он потрясающий, несмотря на сложную настройку. Если только начинаете, начните с Browserify, его проще настроить. Имейте в виду, что webpack — это будущее, его начинают использовать крупные проекты.

ReactJS быстро набирает популярность, и, похоже не снижает обороты.

Курс на Schech.io  Learning React.js: Getting Started and Concepts дает полный обзор React. Как пройдете его, приступайте к React Fundamentals , на том же ресурсе. Он поможет создать полностью работающее приложение ReactJS, а потом переложить его на синтаксис ES6. Можете посмотреть официальную документацию ReactJS. Она хорошо написана, вы легко освоите ее.

Поскольку React – это только view, настоятельно рекомендуется изучить Redux. На мой взгляд большинство курсов по Redux немного сложны, но CSS Tricks Leveling Up with React: Redux отлично сочетает в себе простоту и информативность.

Возможно, вы слышали о Flux, если вам интересно, почему следует использовать Redux, а не Flux, посмотрите на Stack Overflow. Why use Redux over Facebook Flux? На этот вопрос ответил создатель Redux!

Оглядываясь на ошибки: что я узнал?

Я допустил много ошибок за два года обучения. В целом, считаю, что моя самая большая ошибка — не изучении основ до перехода к библиотекам и структурам. Думаю это справедливо практически к любому языку программирования, но, на мой взгляд, больше применимо к JavaScript.

Это связано с тем, что JavaScript — сломанный язык, содержит много «Foot Guns» (должно быть слышали об этом, если смотрели видео Д. Крокфорда, JavaScript, the better parts).Могут сделать жизнь невыносимо тяжелой, если полностью не поймете их.

Я помню, как однажды застрял на проблеме AngularJS с $ scope. Отладка заняла у меня 3 дня, я обнаружил, что дело не в AngularJS, а в JavaScript. Просто я не понял как это работает.

Чистый код

Странно, что я не очень часто говорю об этом. Меня не всегда заботило написание чистого кода, но, честно говоря, горжусь, что научился этому. Это потому, что все любят жаловаться, что их последнее место работы имело одну из худших и уродливых кодовых баз в мире. Так почему никто не говорит насколько хорошим был их код?

Хочу изменить эту тенденцию. Стремитесь давать понятные имена переменным и функциям на английском языке, даже если нужно много писать. Игнорирование этого ведет к необходимости ручного документирования в будущем для более ясного восприятия. Также это ведет к сложности понимания базы кода новыми разработчиками и вами. Да, вами. Почему? Потому что, если вы сами не пишете чистый код, что заставит ваших коллег делать это?

JQuery

Возможно некоторые заметили, что я не делал особого акцента на jQuery. Это связано с моим опытом. Я понял, что jQuery больше навредила мне, чем принесла пользы. Некоторые, возможно, не согласятся, но, пожалуйста, дайте мне объяснить. Когда я впервые узнал о ней, то понял, что jQuery используется повсюду и практически для всего. Поэтому я стал использовать jQuery практически для чего угодно, для любой проблемы, с которой столкивался. Я искал решение на базе jQuery.

Поймите меня правильно, jQuery была потрясающей, когда я использовал ее. Настолько потрясающий, что я слепо игнорировал, то что 90%, сделанного мною на jQuery,можно было сделать изначально в современных браузерах с таким же простым синтаксисом.

Возможно вы спросите: «Так что в этом плохого? JQuery мало весит и сокращает количество кода. Использование jQuery, а не родных API-интерфейсов не было проблемой. Проблема заключалась в том, что весь мой образ мышления и все решение общих проблем нуждались в работе jQuery. Это стало огромной проблемой, когда я получил свой первый проект и мне объяснили, что jQuery — это не зависимость.

Использование jQuery сделало меня беспомощным . Я полностью игнорировал собственные методы и решения. Мои решения стали менее портативными.

С тех пор я старался не использовать jQuery, если это не было абсолютной необходимости и действительно обеспечивало значительное повышение эффективности и удобочитаемости нашей кодовой базы (например, тяжелые манипуляции с DOM).

Еще раз, поймите меня правильно, jQuery — это здорово. Но если бы я мог вернуться в прошлое и встретился с моим прошлым «я», которое только начинало изучать веб-разработку, я бы настоятельно посоветовал не изучать jQuery, пока не научусь работать без нее. Если у вас возникли те же проблемы читайте You Might Not Need jQuery (Возможно вам не нужна jQuery).

Курсы

Что касается материала. Многие курсы CodeSchool замечательные (особенно HTML и CSS фантастические), не считая неудачных по фреймворкам (AngularJS, BackboneJS и т. д).

Я прошел довольно много курсов на Pluralsight, о них я не упомянул, потому что в итоге пришел к выводу, что проходить их плохая и ненадежная идея. Курсы созданы учителями, которые не всегда (по моему мнению) хорошо объясняют. Качество курсов дико колеблется, так как стандарты качества отсутствуют. Я проходил курсы, где объясняющий, звучал так, будто вот, вот уснет. Честно говоря, невозможно удержать внимание на 6-10-часовом курсе. А многие из них длятся столько, если не дольше.

Я потратил 80-100 часов обучения на Pluralsight, и я честно хочу, получить отдачу. Поймите меня правильно, я прошел ряд замечательных курсов на Pluralsight. Количество преобладающие над качеством заставляло меня тратить свое время. Я мог бы узнать гораздо больше, если бы проходил курсы в лучших источниках, таких как Egghead.io и CodeSchool, где ценят больше качества, чем количество.

Единственная причина, проходить курсы на Pluralsight, если таких нет в других источниках (например, по Installshield или Xamarin), или пройти очень специфические курсы, которые, хорошо оценены (Например, John Papa’s Angular Fundamentals).

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

Недавно попробовал тренинг на Team Treehouse. Скажу — поражен качеством курсов. После прохождения HTML, CSS и JavaScript, вы легко можете получить базовые знания по всему. Не верете? Посмотрите их учебные треки и скажите, разве они не замечательные. Конечно, немного дороговаты – 30$ в месяц, но, на мой взгляд, они того стоят. (Сейчас я плачу за изучение WordPress, он мне нужен для фриланс-проекта, материал отличный).

Слово о платных курсах

Чувствую потребность сказать: многие считают, что можно изучать программирование, не заплатив ни копейки, и конкурировать с теми кто прошел платные курсы. Это правда, но подчеркну, что стоимость для правильного курса имеет значение. Конечно, довольно много ценных материалов, о которых я писал, — бесплатные, но многие из них платные.

Да, есть ужасные курсы, которые я не советую, их ценность сомнительная (см. Pluralsight), но Egghead.io, CodeSchool и Team Treehouse предлагают стоящие, несмотря на их относительную дороговизну. Ежемесячная подписка (от 25 до 30$ в месяц). Кроме того, в течении 7-15 дней можно попробовать их бесплатно и выбрать подходящий.

Если правильно используете возможность, заплатив за 1-2 месяца за любой из них, вы легко получите знания, которые получили бы лишь за год чтения бесчисленных статей и сообщений в блогах. Они честно хорошие.

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

Секретный соус успеха

За 2 года я познакомился со многими разработчиками. На своем пути я встретил разработчиков, которые очень сильно выделялись – они явно были в их собственной лиге. На них равнялись все, в том числе и я. Я обнаружил, что они обладали общими черта. О, которых расскажу прямо сейчас. На мой взгляд, секретный соус для успешного веб-разработчика:

  • Любить то, что делаешь. Самая важная характеристика из всех. Если не нравится то, что делаешь (будь то CSS Styling или JavaScript) — это отразиться на работе. Увлеченные своим делом, часто выделяются из толпы.
  • Быть щедрым, делиться знаниями. Очень хочется утаить CSS/JavaScript-хак решающий проблему, пожалуйста, не делайте это. Те, кто делятся своими знаниями, очень ценные кадры. Они могут значительно улучшить качество любой команды.
  • Постоянно находится в поиске нового. Большинство успешных разработчиков, с которыми я встречался обладают этой общей чертой. Будь то чтение блогов, проведение большого количества времени в дискуссиях по программированию или беседах о новинках в веб-разработке во время обеденных перерывов. Все время быть в поиске нового, позволяет лучшим разработчикам всегда оставаться впереди планеты всей.

Кратчайший маршрут

Ух, потребовалось не менее шести часов для написания этой статьи. Почти закончили! Возможно, вы, поинтересуетесь: «Хорошо, классная история, но где же кратчайший маршрут?» Вот, он.

Я организовал его так, словно мог бы вернуться назад и воспользоваться им верно. Наслаждайтесь!

Javascript

HTML&CSS

Инструменты разработчика

AngularJS

ReactJS

Back End

Бонус: Мои инструменты

jetbrains.com/webstorm:полнофункциональная среда для web-разработки, платная. Для студентов есть бесплатная лицензия на 1 год.

atom.io: бесплатный текстовый редактор.

sublimetext.com: быстрый и легкий текстовый редактор с поддержкой плагинов, эстетический внешний вид. (Обычно я держу Webstorm / Atom, как IDE для серьезной работы, а Sublime Text — для быстрого редактирования файлов.)

caniuse.com: поддержка браузером имеет решающее значение для веб-сайтов. Это ресурс №1 для определении, какие функции СSS поддерживаются браузером.

c9.io: Cloud 9 — облачная среда разработки и IDE с поддержкой Git. Отлично подходит для программирования удаленно и тестирования NodeJS или других элементов на стороне сервера без необходимости устанавливать что-либо на компьютере

www.codepen.io, www.plnkr.co/edit/ и jsfiddle.net: отличные облачные front end — интерактивные среды, позволяющие быстро создавать демонстрационные версии HTML / CSS / JS, с которыми можно поделиться, или поработать позже, создав бесплатную учетную запись. CodePen — лучше подходит для связанных с CSS вещами из-за его минималистического интерфейса и множества функций. Plunker для JavaScript demos из-за его мощных функций JS. JSFiddle — сервис для совместной работы.

vanillalist.com: репозиторий плагинов и библиотек JavaScript, использующих только vanilla JavaScript (не требуются библиотеки для работы, такие как jQuery).

youmightnotneedjquery.com: посмотрите сами.

publicapis.com: когда-нибудь задавались вопросом, какие существуют общедоступные API?

gravit.io: облачное приложение для дизайнеров, конкурирующее с Adobe Illustrator. (Бесплатное!) Полезно для создания быстрых макетов и веб-дизайна.

color.adobe.com:поможет создать гармоничные комбинации цветов для любого веб-сайта. Также есть витрина цветовых палитр, созданных другими дизайнерами, а также система ранжирования, которая поможет в вдохновении.

chir.ag/projects/name-that-color: перестаньте тратить время на поиск названий для переменных цвета less/sass, а просто используйте это приложение.

Вывод

Мне очень понравилось писать эту статью. Я очень счастлив, что наконец смог вернуть что-то невероятному участливому сообществу разработчиков по всему миру.

Источник: medium.freecodecamp.com, 17 августа 2016

Перевод выполнен abv24.com

Как стать веб-программистом с нуля?

Хочу стать веб-программистом!

Желание стать web-программистом возникает не на пустом месте. Многие искушенные интернет-пользователи знают, либо подозревают, что в Интернете крутятся большие деньги. Если взглянуть на двадцатку Forbes самых богатых людей в мире за 2015 год, то можно увидеть, что в ней аж пять представителей IT-индустрии: Билл Гейтс ($79,2 млрд), Ларри Эллисон ($54,3 млрд), Марк Цукерберг ($33,4 млрд), Ларри Пейдж ($29,7 млрд) и Сергей Брин ($29,2 млрд). Все эти люди имеют непосредственное отношение к программированию. Можно сделать простой вывод — умея программировать, можно неплохо заработать. Естественно, необходимо быть профессионалом своего дела.

С чего начать?

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

  • HTML — (от английского HyperText Markup Language) язык разметки гипертекста. Сразу заметим, что HTML не является языком программирования. Видеокурс по HTML можно скачать в разделе «Видеокурсы для чайников»
  • CSS — (от английского Cascading Style Sheets) каскадные таблицы стилей. CSS — это формальный язык описания внешнего вида документа, написанного с использованием языка разметки, т.е. HTML. Видеокурс по CSS также  можно скачать в разделе «Видеокурсы для чайников»

Пока вы не изучите HTML и CSS, хотя бы на базовом уровне, не приступайте к изучению языков программирования. HTML и CSS необходимо изучить вне зависимости от того, какой язык веб-программирования вы будете использовать в дальнейшем.

Какой язык изучать?

Если с HTML и CSS все понятно, то с выбором языка веб-программирования дело обстоит сложнее. Дело в том, что подобных языков множество и их можно разделить на две группы:

  1. Клиентские — выполняются в браузере (Google Chrome, Opera, Firefox и т.д.) пользователя;
  2. Серверные — выполняются на стороне сервера, т.е. как правило на удаленном компьютере, на котором расположен сайт.

Языки веб-программирования делятся на клиентские и серверные

Подобно разделению языков веб-программирования, можно разделить и веб-разработчиков на две группы:

  1. Front-end разработчики;
  2. Back-end разработчики.

Front-end разработчик занимается «приблудами» которые видят посетителя сайта, например выпадающие меню, всплывающие окна и т.д. Если вы планируете стать веб-разработчиком именно клиентской части, то кроме HTML и CSS вам необходимо изучать язык web-программирования JavaScript. Код написанный на JavaScript может выполняться в любом браузере установленном на любом устройстве. Это достигается тем, что все современные браузере имеют в свое составе интерпретатор JavaScript. Теоретически, front-end программисту нет особой нужды изучать серверные языки программирования, однако профессионалы их знают. Это необходимо для понимания взаимодействия клиентской и серверной части, что может быть критичным при работе над серьезными веб-проектами.

Back-end разработчик занимается программированием серверной части, без которой невозможно существования динамического сайта, например сайта работающего на движке WordPress или Joomla. Посетители сайта, как правило, даже не подозревают о её существовании. Именно back-end программист отвечает за то, чтобы пользователь мог зарегистрироваться на сайте, а его данные сохранились в базе данных. Back-end программист должен владеть хотя бы одним серверным языком программирования, например PHP.

Если вы являетесь поклонником бесплатного движка WordPress и планируете создавать на нём сайты и плагины в одиночку, то следует изучить как JavaScript, так и PHP. Не обойтись и без знания MySQL — системы управления базами данных. Именно в MySQL храниться «самая ценная» информация, такая как тексты статей, настройки движка, комментарии пользователей и т.д.

Итак, обучаясь веб-программированию, советуем двигаться согласно предлагаемого алгоритма от HTML до PHP + MySQL

Книги по веб-программированию для чайников

Посмотрев продукцию магазина OZON, мы подобрали несколько книг по JavaScript, PHP и MySQL которые будут понятны начинающим веб-программистам. Книги написаны известными авторами, такими как: Крис Минник, Ева Холланд, Эрик Фримен, Элизабет Робсон, Никхил Абрахам, Бретт Маклафлин.

Среда разработки

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

WebStorm — среда разработки на JavaScript, CSS  и HTML (front-end разработки). Этот вариант подойдет тем, кто пока решил не заморачиваться с изучением серверных языков программирования, а хочет опробовать себя в разработке только клиентской части сайта.

PhpStorm — позволяет убить сразу двух зайцев, так как в ней можно программировать как на PHP, так и на JavaScript. PhpStorm включает в себя все возможности WebStorm, содержит инструменты для работы с базами данных. PhpStorm — идеальный выбор для тех, кто решил серьезно погрузиться в веб-разработку.

Важно! Продукты компании JetBrains кросс-платформенные, т.е. могут устанавливаться на компьютеры работающие под управление различных операционных систем ((Windows, Mac OS X, Linux).

Интерфейс интегрированной среды разработки PhpStorm

Рекомендуем посмотреть подборку видео по установке и настройке PhpStorm.

Заключение

Резюмируя все сказанное выше, отметим одну важную вещь — чтобы стать хорошим программистом, нужно много программировать. Практика, практика и ещё раз практика!

Если вам интересны статьи посвященные программированию, то оставляйте комментарии и предлагайте свои темы.

Советы для начинающих веб-разработчиков | Блог Perfecto Web

Мы очень часто встречаем людей, которые хотели бы научится веб-разработке и сделать в этой области карьеру, но просто не знают с чего начать. Каким должен быть первый шаг? Что изучать? Какие перспективы? Эти и многие другие вопросы мучают многих, кто хочет встать на путь веб-разработчика.

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

Мотивация

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

Будем с вами честны: мотивация на старте может очень быстро угаснуть и не заряжать вас энергией бесконечно. Как продлить силу действия мотивации? Знаете, есть такие зеленые бумажки, бывают даже других цветов, по-моему называются деньгами. Так вот, деньги — это расходный материал, который помогает нам с легкостью приобретать нужные нам вещи, делать то, что без них практически невозможно. К чему я это? К тому, что именно деньги могут быть отличной мотивацией.

Но откуда деньги, если вы даже не определились, чем будете заниматься? Вам должно хватить начальной мотивации на период, пока вы делаете первые шаги. На этой волне уже можно будет что-то продать. Вы наверное думаете, что это произойдет через 2-3 года, а может и вовсе лет через 5? Буду рад развеять ваши сомнения. Вы сможете продать что-то уже через 2-3 месяца. А через 2-3 года продажи значительно вырастут, как и ваша прибыль. Вы сможете тратить то же самое количество времени на более дорогие продукты. Теперь вы сможете выполнять работу качественно, быстро и профессионально, за счет чего и результат не заставит себя ждать (в том числе в виде приятно хрустящих купюр).

Мотивация

Возможно, вы и в данный момент думаете, что в мире и так не мало хороших разработчиков, зачем кому-то покупать у новичка что-либо? Понимаете, есть и вторая сторона — клиент. И точно также, как разработчики разбиваются на новичков, специалистов и профи, так и клиенты либо давно на рынке, либо находятся в начале своего профессионального пути. Соответственно, и запросы у клиентов различные.

Возьмем, например, клиента, который любит рыбачить. Он работает инженером связи и получает среднюю зарплату. И вот он решил сделать себе сайт-блог о рыбалке. Во многих случаях подобные клиенты обладают ограниченным бюджетом и качество разработки для них не стоит на первом месте. Разумеется, он не будет кричать об этом, так как платить будет свои заработанные средства. И вот тут сделанный вами сайт, который будет на чистом HTML или на каком-то бесплатном движке, вполне может удовлетворить его потребности. Тут вы получаете свои первые 50$ (условно) и к вашей мотивации добавляется +50 очков. Этого хватит для продолжения обучения и разработки следующего заказа.

Какую специализацию выбрать?

Этот пункт мог бы быть первым, но исходя из нашего опыта, его место именно здесь. Итак, ваш мотивационный дух привел вас к поиску специализации. Тут все очень и очень просто. В этом пункте вы полностью должны забыть о деньгах, о трендах, о вашем друге Максе, который зарабатывает «ого-го какие деньги», делая сайты. Вам нужно вспомнить все то, что вам нравилось в детстве, в школе, в прошлом году, вчера. Именно анализируя все это, вы сможете определиться, действительно ли вы хотите быть веб дизайнером, веб программистом или же вам нравится маркетинг, с помощью которого вы хотели бы помогать проектам стать успешнее.

Я приведу вам свой личный пример. В далеком детстве (года в 4-6) мне нравилось брать в руки паяльник, ковыряться в печатных платах, играться со светодиодами и батарейками. К 6-10 годам у меня был компьютер Atari. С ним в комплекте шел магнитофон, а на магнитной ленте кассеты были записаны игры. Да, я играл, безусловно, в 8 битные игры! Но у меня был приличный интерес к языку Basic, который имелся в этом Atari и можно было даже писать программы, которые в последствии выводили результат на экран. Тогда я даже не знал, что это программирование и это язык Basic. Я копировал код из книжки и смотрел на визуализации на экране. Далее начал экспериментировать. Менять цифры, команды и получал новые картинки и звуки. Это меня очень радовало. Далее, когда я был в школе, я наткнулся на фильм Матрица. Смотрел я его много-много раз и он до сих пор для меня один из лучших фильмов, опередивших свое время. В школе мне очень нравилась алгебра и геометрия. А также, у меня был некий «анти-учебник» внутри самого себя. Нам задавали уроки — я учил. Далее надо было писать контрольную, используя полученные материалы. Я знал как решить задачу, исходя из выученных данных, но я всегда старался «изобрести» что-то и решить задачу каким-то обходным путем. Подобное у меня появилось лет в 12. Всегда хотел делать не так, как нас учили, но в итоге придти к решению быстрее, аккуратнее и не так, как это делают все.

Какую специализацию выбрать?

Теперь пришло время задать вопрос: «Кем я должен был стать?» Да, программистом, а скорее всего архитектором программного комплекса. Попытайтесь использовать мой подход и вы сможете понять, что будет вам действительно нравиться долгое-долгое время. Всего этого мне никто не говорил. И как бы я стал программистом, даже не думая обо всем этом. Но если бы я изначально думал именно в таком ключе, я бы смог определиться раньше. К слову, первые шаги в программировании начал делать с 13 лет на языке Pascal (не считая Atari в детстве). Но я уверен, что можно было начать и с 10 лет!

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

Хочу стать программистом. Какой язык выбрать?

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

HTML + CSS
HTML

Начать свой путь в веб-разработке однозначно стоит с изучения HTML разметки. И совершенно не важно программист вы или дизайнер. Знать HTML — это как знать основы работы компьютера и его внутреннего обустройства. Без знаний HTML вы не будете ни хорошим веб программистом, ни веб дизайнером. Для его фундаментального освоения потребуется максимум пара месяцев усердности и стараний.

Можете начать с этих двух учебников для базового понимания:
• Учебник HTML;
• Учебник CSS.

Имейте ввиду, в интернете очень много доступной информации. И первые 2-3 выдачи в Google по ключевым словам «Учебник HTML» будут вполне актуальными и релевантными. Изначально нужно настраивать себя на поиск ответов самостоятельно.

JavaScript
JavaScript

Вторым шагом считаем изучение именно данного сценарного языка программирования. Он поможет сделать ваши сайты интерактивными. С его помощью вы сможете делать сценарные приложения, которые будут работать в браузере у клиента. Как пример: калькуляторы, слайдеры, анимации, графики и прочее. Комплекса из Java Script, HTML, CSS будет достаточно для первых продаж, например, голой верстки сайтов.

PHP
PHP

Далее переходим к более серьезным языкам. Рассмотрим PHP. Он является одним из лидеров среди языков для создания динамичных сайтов. Если вы хотите разрабатывать сайты, рекомендуем начать свой путь именно с него. В любой момент вы сможете выучить другие языки, но PHP поможет вам быстро освоить базовые понятия и начать продавать свое творение. При изучении PHP вы уже в полную начнете вникать в суть сайтостроений.

Java
Java

Разработан компанией Sun Microsystems. Java является классом на основе объектно-ориентированного языка программирования. Это супер популярный язык программирования, стандарт для корпоративного программного обеспечения, веб-контента, игр и мобильных приложений. А также язык программирования для OS Android. Java разработан таким образом, что может работать на нескольких программных платформах. В связи с чем, программа написанная на Mac OS X может работать и на Windows.

Ruby
Ruby

Всем смыслом Ruby было создать язык программирования, который будет являться простым и легким в коде. Он был разработан, как язык сценариев, для создания веб-сайтов и мобильных приложений и является динамичным и объектно-ориентированным. Ruby создал Ruby On Rails, который используется на многих веб-сайтах, в том числе Groupon и GitHub. А также, многие считают Ruby хорошей стартовой точкой для начинающих разработчиков.

C++
C++

C++ является языком промежуточного уровня объектно-ориентированного программирования, изначально разработанный для улучшения языка C. На C++ созданы многие популярные программы, такие как Firefox, Winamp и Adobe. Он используется для разработки программного обеспечения систем, прикладного программного обеспечения, серверных и клиентских высокопроизводительных приложений, а также для создания видеоигр. Знать его отлично, но расчитывать на него, как на язык для создания сайтов, не стоит.

Python
Python

Python является языком сценариев высокого уровня для веб-сайтов и мобильных приложений на стороне сервера. Он считается легко изучаемым языком, а также легко читаемым. Разработчики могут использовать меньше строк кода для достижения тех же задач на других языках программирования. На базе Python собраны многие сложные продукты: Instagram, Django, Rdio. Python также активно используется в продуктах Google, Yahoo и NASA. Для создания высоконагружаемых проектов вам подойдет Python, как один из языков, решающий вопрос нагрузки. Советуем изучать Python как второй или третий язык.

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

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

Никогда не верьте тренингам, типа «Как стать программистом за 24 часа». Нужно отнестись с пониманием к тому, что вы можете достигнуть высоких результатов только упорным трудом, практикой и только со временем. В среднем считается, что для того, чтобы стать хорошим программистом, нужно потратить минимум 10.000 часов на программирование. А это в среднем 5 лет, если учитывать, что в день будете тратить 4 часа. Да именно 4, а не 8, так как 8 часов чистого программирования будет приличной нагрузкой для мозга, что мешает концентрации и качественному освоению материала.

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

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

Писать сам код — это лишь часть программирования. Вы должны владеть самоконтролем, иметь постоянное желание саморазвития, быть максимально дисциплинированным и настойчивым. Именно над этими качествами вам нужно работать с первых дней. Легких путей не бывает. Посещением уроков и тренингов вы не получите тех знаний, которые вы сможете получить самостоятельно. Именно упорство, труд и настойчивость поставят вас выше других.

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

Сколько времени потребуется на обучение?

Сколько времени потребуется на обучение

Вечность! Программирование, как и многие другие сферы, требуют постоянного саморазвития. С каждым днем новые возможности, новые решения. Всегда следите за новостями, смотрите в окружающий мир, постоянно развивайтесь. С каждым проектом вы будете знать что-то лучше, чем вчера. И с каждым проектом вы будете считать себя умнее, по сравнению с вчерашним днем. Это нормально и даже отлично!

Всегда ищите метод сделать текущий проект лучше, чем предыдущий! Если у вас новый проект, идентичный которому вы уже делали полгода назад, не стоит использовать код 1 в 1 с этого проекта. Всегда старайтесь писать код заново и с каждым разом старайтесь писать его лучше чем вчера.

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

Бонус для вашей мотивации

Сколько получают программисты

Данный график отображает готовую прибыль, которую в среднем получает хороший программист на UpWork.com. Пусть данный график будет дополнительной мотивацией к вашим начинаниям. Также учитывайте тот факт, что мы живем в эпоху, когда люди стараются максимально все автоматизировать. По этой причине буквально каждый год сокращаются многие сферы деятельности.Тем самым вы можете быть уверенны, что в ближайшем будущем позиция программистов только укрепится.

Успеха в ваших начинаниях. Будьте настойчивыми, любите то что выбрали и все получится!

Как стать веб программистом 🚩 Веб-программирование

Почему веб разработчик?

  • Достаточно низкий порог входа

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

По прогнозам экспертов, в ближайшие несколько лет IT сфера может полностью переместиться на web-пространство. Приоритет в сторону web-платформ делают многие крупные компании, по сравнению с нативным ПО.

  • Высокие зарплаты

Этот пункт даже не нуждается в комментариях. Зарплаты веб программистов колеблются от 40 до 200 т.р. (в зависимости от технологии)

Что делает веб разработчик?

Профессия веб разработчика в основном подразумевает создание веб сайтов и их продвижение. В свою очередь, здесь есть 2 большие группы: FRONTEND-разработка и BACKEND-разработка. Если в кратце — фронтенд программист создает дизайн и анимацию веб-сайта. Бэкенд программист работает над логикой сайта. Например, регистрация и авторизация, создание динамических страниц, всем этим занимается бэкенд программист.

Чаще всего веб программисты не зацикливаются на одной отрасли, а изучают сразу две, обладая знаниями и в той и другой сфере. Таких специалистов называют FULL-STACK разработчиками.

Нужен ли английский?

Да. IT сфера развивается быстрее, чем вы думаете. И для того, что бы быть всегда востребованным специалистом, нужно быстро развиваться и учить новые вещи. Допустим, одна популярная технология, которой все пользуются сегодня, завтра может стать уже не актуальной. На её смену придет другая, ещё лучше прежней. А самая новая информация и документация написана как раз на английском языке.

В каком направлении развиваться?

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

Какие технологии учить?

Для каждого направления есть свои основные технологии.

Для FRONTEND это:

  1. HTML 5
  2. CSS 3 + BOOTSTRAP
  3. JAVASCRIPT + библиотеки (самая популярная — JQUERY)

Для BACKEND это:

  1. PHP
  2. MYSQL
  3. PYTHON

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

Это и все?

Здесь приведено минимальное количество знаний, которыми вы должны обладать. Этого может нехватить. Почему не следует рассказать все более подробно? Вам нужно развить одну главную способность. Именно это качество должно быть у вас, как у специалиста — самообучаемость и умение находить информацию. Конечно, можно пользоваться тем, что давно известно и возможно скоро устареет, но тогда вы будете на несколько позиций ниже тех, кто «в теме» и уже применяет в деле самые новые технологии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *