Так чем на самом деле занимаются веб-разработчики? В чем разница между веб-разработчиком и веб-дизайнером

  • Перевод
  • Tutorial

Дорога длинна и трудна, но интересна и полезна!

Статья задумывалась как практическое руководство для желающих стать профессиональным веб-разработчиком. Я уже более 20 лет пишу код для веба. Я ежедневно работаю с веб-разработчиками и помогаю им. В статье я опишу, что вам нужно выучить, когда вам нужно это выучить и где взять информацию (чаще всего даже бесплатно). Затем я дам совет по получению реального опыта, и что самое важное – по получению денег за написание кода.

По статье разбросано множество ссылок на бесплатные и важные ресурсы. Для простоты я собрал их в PDF и разбил по категориям. Мне не платят за упоминания сайтов, ссылки на которые я привёл – я всего лишь хочу порекомендовать вам лучшие ресурсы, чтобы помочь вам достичь вашей цели.

Что нужно помнить:

1. Статью разрешается пролистывать

Руководство может помочь вам вне зависимости от вашего положения на дороге к профессиональной разработке. Прокрутите его к тому заголовку, который лучше всего описывает ваше сегодняшнее положение, и читайте оттуда. Если вы только начали этот путь, или пока размышляете об этом – последуйте совету Короля из «Алисы в стране чудес»:

Начните с начала, и продолжайте, пока не дойдёте до конца; и там уже остановитесь.

2. Попробуйте всего понемногу, а затем выбирайте специализацию.

Деньги – не самое важное. Вам необходимо ЛЮБИТЬ ваше занятие! Но вы не узнаете, что вам нравится, пока не попробуете.


Найдите свою страсть, а потом монетизируйте её

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

Я решил писать код. Мне нравится веб. Я не знаю, с чего начать


У вас всё получится!

Поздравляю! Это серьёзный первый шаг и начало чего-то весьма захватывающего. Но это может оказаться и очень сложным. Не волнуйтесь, я помогу.

Сначала вам нужно быстро познакомиться с основами всех областей веб-разработки («полный цикл»). Обучение будет разнообразным, но неглубоким. Это нужно для того, чтобы найти область, которая вам нравится, а также приобрести основные навыки в разных областях. Тогда вы сможете понимать и работать с большим набором задач, вне зависимости от того, на чём вы остановите свой выбор.

Изучите основы HTML

Язык разметки гипертекста, Hypertext Markup Language (HTML), контролирует содержимое и разметку того, что вы видите в браузере. Начав с него, вы получаете интерфейс пользователя, с которым можно взаимодействовать, и видите результаты работы своего кода. При изучении более сложных языков его важность будет возрастать. Вам ведь не нужно кодить вслепую.

Вот, что вам нужно изучить на тему HTML:

Я уже знаю основы HTML

Круто! Это очень важный шаг. Теперь изучите основы JavaScript.

Изучите основы JavaScript

JavaScript – язык веба, и все основные браузеры (Chrome, Firefox, Safari, IE, множество других) поддерживают его. Каждый сайт, каждое веб-приложение, которым вы пользовались, скорее всего, содержит огромное количество JS-кода. Не говоря уже о том, что язык набирает популяность и на других платформах – сервера, настольные компьютеры, другие устройства.

Пока вам нужны основы, и для этого подойдут следующие ресурсы:

Я знаю основы JavaScript и HTML

Потрясающе! Теперь добавим к вашим навыкам CSS

Изучите CSS

CSS, или Cascading Style Sheets (каскадные таблицы стилей). Используются для настройки внешнего вида элементов HTML на странице. Ознакомьтесь с бесплатным обучающим материалом от Mozilla, а затем обращайтесь к ресурсу CSS-Tricks для решения самых сложных проблем (справа вверху есть поиск).

Переходим к бэкенду

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

Языков для бэкенда масса, но поскольку вы знакомы с JavaScript, я порекомендую изучить использование Node.js. Он позволяет запускать JS-код на сервере, а не в браузере.

В дополнение к этому вам необходимо изучить Express и MongoDB.

Express
Это библиотека, с помощью которой Node.JS может работать веб-сервером (слушать запросы от страниц и отправлять им ответы).
MongoDB
Это база данных, позволяющая вам хранить и извлекать информацию.

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

Мне нужно выбрать между «фронтенд», «бэкенд» и разработкой полного цикла

После того, как вы попробовали оба варианта разработки, настало время делать выбор. Если вы не успели их попробовать – обратитесь к предыдущему разделу статьи, чтобы заполнить пробелы в ваших знаниях.

К этому моменту вы писали два типа кода. Один предназначен для взаимодействия с пользователем, другой – с данными. Что вы предпочитаете?

Взаимодействие с пользователем? Поздравляю, вы фронтенд-разработчик!

Взаимодействие с данными? Поздравляю, вы бэкенд-разработчик!

Оба? Поздравляю, вы разработчик полного цикла!

Ничего не понравилось? Поздравляю, веб-разработка – это не для вас. Возрадуйтесь, что вы поняли это сейчас, и не потеряли кучу времени и денег. Не готовы сдаваться? Может, вам не попался язык, который пришёлся бы вам по душе? Попробуйте изучить другие языки в разделе «Я хочу быть бэкенд-разработчиком».

Я хочу быть разработчиком полного цикла

Круто. Вам нужно ознакомиться со всем содержимым разделов «Я хочу быть бэкенд-разработчиком» и «Я хочу быть фронтенд-разработчиком».

Я хочу быть фронтенд-разработчиком и я знаю основы JavaScript, HTML и CSS

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

К этому моменту вы уже должны знать основы HTML. В противном случае вернитесь к разделу «Изучите основы HTML».

Изучите промежуточный и продвинутый HTML
Ознакомьтесь с обучающим материалом по промежуточному HTML, а затем – по продвинутому .
Изучите продвинутый клиентский JavaScript


Отличная серия книг по JS, при этом бесплатная

Для поднятия вашего уровня владения JavaScript, я рекомендую серию книг «You Don’t Know JS» за авторством Кайла Симпсона. Автор выложил всю серию в онлайн совершенно бесплатно:

Кроме того, вашим лучшим другом должен стать и MDN JavaScript .

[Также совершенно бесплатно вам доступен превосходный перевод отличной книги " " - прим.перев.]

Знать «троицу фронтенда», HTML, CSS и JavaScript – это, конечно, здорово. Но для зарабатывания денег придётся вам познакомиться с некоторыми фреймворками.

Изучите jQuery
Это самая популярная библиотека JS всех времён. Хотя из-за некоторых новых фреймворков важность jQuery чуть поуменьшилась, если вы ищете работу, велика вероятность, что jQuery будет присутствовать в описании необходимых навыков (и упоминаться на собеседовании) ещё много лет.

Рекомендую изучить jQuery при помощи материалов FreeCodeCamp – это быстрый и эффективный метод. После этого отправляйтесь на официальный обучающий сайт – там вы найдёте дополнительные инструкции.

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

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

Во время написания этой статьи следующие фреймворки пользовались популярностью:

Выбрав наиболее подходящий фреймворк и хорошенько ознакомившись с ним, стоит изучить идущий в паре с ним CSS-фреймворк. Два крупнейших игрока на этом рынке сегодня – Bootstrap и Material Design.

Bootstrap
Bootstrap сделали разработчики Twitter, и он уже довольно взрослый и популярный. Версии Bootstrap существуют для Angular, Angular 2 и React.
Material
Material – это набор правил дизайна, разработанный в Google. Он набирает популярность, существуют его версии для Angular и React. Поскольку Angular – это тоже детище Google, сочетается Material с ним превосходно.

Вот вам несколько ссылок:

Поздравляю! У вас есть ключевые навыки фронтенд-разработчика!


Вы только посмотрите на него!

Я хочу быть бэкенд-разработчиком

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


TIOBE Index of Programming Languages, www.tiobe.com/tiobe_index?page=index

Концентрируйтесь на языках, чьи названия я обвёл зелёной рамкой. Если вы не знаете их, начинайте сверху таблицы и идите вниз. Останавливайтесь, когда найдёте то, что вам нравится, и копайте вглубь!

Если вы знакомы с одним из отмеченных зелёным цветом языков, и он вам нравится – концентрируйтесь на нём.

Подкачайте необходимые для интервью умения
Вам нужно подготовиться не только к написанию кода. В хорошей статье с Life Hacker описано много полезной и ценной информации.
Главное – закрепиться на рынке
Не сильно переживайте насчёт получения работы мечты у работодателя мечты с зарплатой мечты. Сначала просто добейтесь получения работы, где вы будете писать код за деньги. Получив больше опыта, сможете планировать следующий шаг.
Хочу быть фрилансером
Сам себе хозяин – это хорошо, но это одновременно и огромное давление, и большие сложности. Лучший источник информации по фрилансу из всех, что я видел - DoubleYourFreelancing.com . У него есть серия статей , которые помогут вам стать фрилансером лучше, чем это получилось бы у меня. Читайте.

Ещё один вариант, если вы в себе уверены – сервис Toptal . Они принимают лишь 3% из всех, кто подаёт заявки, и этот процесс очень сложен, но если вы попадёте туда – у вас будет доступ к хорошо оплачиваемым работам, над которыми вы сможете трудиться удалённо.

Я начал работу, но чувствую, что зашел в тупик
Понимаю. Это нелегко, и если кто-то говорил вам обратное – он либо этим не занимался, либо пытается выманить у вас деньги. Если вы чувствуете, что зашли в тупик, попробуйте следующие варианты:
Освежите ваше первоначальное намерение
Спросите себя, запишите на бумаге, почему вы решили идти по этому пути. В силе ли всё ещё ваш ответ? Если да – то зачем останавливаться? Вперёд!

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

Чем занимается веб-дизайнер?

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

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

Веб-разработчик реализует идею веб-дизайнера, превращая макет в рабочий продукт. Его задача - разработать клиентскую (фронтенд) или серверную (бэкенд) части будущего ресурса. Также есть full-stack разработчики - они способны полностью создать рабочее приложение: и бэкенд, и фронтенд.

Так веб-разработчик может создать дизайн сайта?

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

Кто такой фронтенд-разработчик?

Фронтенд-разработчик обеспечивает разработку внешнего вида сайта - из макета, подготовленного дизайнером, создает рабочий интерфейс, с которым сможет взаимодействовать пользователь. Обычно для реализации используют языки HTML, CSS, JavaScript и разнообразные фреймворки.

А бэкенд-разработчик?

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

Кто такой full-stack разработчик?

Full-stack разработчики обладают всеми знаниями и умениями веб-разработчика: как в области фронтенда, так и бэкенда. Сейчас стандартом для full-stack разработчика считается знание верстки, клиентской и серверной частей ресурса, а также баз данных и различных фреймворков.

Как много можно на этом заработать?

Труд веб-дизайнера и веб-разработчика по данным портала trud.com оценивается в среднем 35 000–60 000 рублей в месяц, что выше или совпадает со средним показателем по России - 35 000 рублей в месяц, согласно данным banki-v.ru. У этих профессий нет ограничения зарплат сверху, и на заработную плату влияют в большей степени навыки и знания, чем стаж работы.

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

Чтобы получить все необходимые в профессии навыки, начните с обучающих курсов:

  • По окончании вы будете уметь профессионально работать в редакторе Adobe Photoshop, представлять, что такое дизайн, проектирование веб-интерфейсов и построение интерфейсов мобильных приложений.
  • сделает из вас полноценного full-stack специалиста, способного создать клиентскую сторону ресурса при помощи HTML5, CSS3, JavaScript, а также умеющего работать с базами данных и имеющего практический работы с PHP и фреймворком Yii2.

В дальнейшем продолжайте развиваться самостоятельно, осваивая новые технологии и развивая профессиональные навыки.

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

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

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

На данный момент, портал по трудоустройству Тrud.com, разместил на своих страницах более 1000 актуальных вакансий веб разработчика в Москве. Заработная плата такого специалиста всегда зависит от сложности работы. На графике мы можем увидеть изменение средней заработной платы за последние 12 месяцев.

Данная профессия является наиболее высокооплачиваемой в Москве. Оплата труда в других городах не сильно отличается.

Поиск работы веб разработчиком в Москве - только с Тrud.com

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

Тrud.com- это сайт по трудоустройству, который предоставляет соискателям самые свежие вакансии. Кроме этого, на сайте вы найдете интересные статьи, поучительные советы и рекомендации.

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

Тrud.com регулярно работает над улучшением работы портала, открываются новые разделы, добавляется интересная и полезная информация. Мы стараемся для вас!

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

В мире более 11 миллионов веб-разработчиков разного профиля и уровня. Однако, по данным CMS Magazine и «Рейтинга Рунета», 62% компаний и веб-студий остро ощущают нехватку кадров. Вот как они ответили на вопрос о дефиците сотрудников в сфере веб-разработки.

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

Причин несколько:

  • 15,9% работодателей считают, что уровень образования потенциальных сотрудников не соответствует требованиям рынка (нет достойного портфолио, отсутствует опыт командной работы).
  • 15% компаний полагают, что на рынке в принципе мало квалифицированных веб-программистов, способных разрабатывать сложные проекты (особенно в регионах).
  • 7,3% компаний замечают, что многие специалисты веб-разработки предпочитают фриланс работе в штате.
  • 6,3% веб-студий полагают, что сотрудничества не получается из-за несовпадения зарплатных ожиданий соискателей с возможностями работодателей.

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

Взгляните, например, вот на этот график «Рейтинга Рунета».


Из статьи «Рынок веб-разработки остаётся рынком „ручного“ труда»

Разработчики-фрилансеры занимают довольно крупную нишу в дорогих проектах. Им достаётся 6% проектов стоимостью от 100 до 300 тысяч рублей и 8,3% проектов дороже 300 тысяч рублей.

Требуется веб-разработчик

Убедиться в востребованности профессии веб-программиста легко. Достаточно зайти на любой онлайн-сервис по трудоустройству.

Только в Москве почти полторы тысячи вакансий. Среди IT-компаний и веб-студий за хороших разработчиков идёт нешуточная борьба.

28,4% компаний ищут сотрудников с помощью job-ресурсов, 21,4% - через социальные сети и по рекомендациям, 16,2% признают достаточно эффективным раздел с вакансиями на собственном сайте и 12,7% хантят сотрудников «со школьной скамьи», то есть приглашают на стажировку талантливых студентов, отслеживают медалистов и олимпиадников, устраивают конкурсы для студентов и так далее.

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

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

Владимир Завертайлов, основатель и руководитель интернет-студии «Сибирикс»

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

Квалификация

Под веб-разработчиком работодатель обычно понимает универсального специалиста full-stack.

Full-stack состоит из front-end- и back-end-разработки. Разработчики front-end обеспечивают создание внешнего вида сайта (портала, проекта). Back-end-разработка включает в себя теневую сторону ресурса, то, чего не видно пользователю, изнанку сайта. Но, независимо от специализации, веб-программист должен знать полный цикл. Без этого невозможно представить, как тот кусок задачи, который ты реализуешь, будет интегрироваться с общим проектом.

На сегодняшний день стандартом веб-разработки (full-stack) является следующий комплекс знаний.

Вёрстка + браузерный язык программирования + серверный язык + язык для работы с базами данных + фреймворк(и).

Получить такой комплекс знаний можно на . Это образовательная площадка, где собраны лекции и вебинары для тех, кто хочет изучать программирование. Специализация «веб-разработчик» рассчитана на 11 месяцев (плюс стажировка) и состоит из нескольких курсов.

  1. HTML / CSS . Это основы создания сайтов. Обучение идёт через практику: студенты разрабатывают сайт интернет-магазина, изучая параллельно свойства и возможности HTML / CSS.
  2. JavaScript - первый и второй уровни. Этот язык программирования призван сделать сайт живым: он взаимодействует с посетителем ресурса, реагирует на движения курсора, клики мыши и нажатия на клавиши. В первом курсе по JavaScript даются азы, во втором полученные знания закрепляются.
  3. Основы баз данных . Это 20 интенсивных видеоуроков о системах хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language).
  4. PHP - первый и второй уровни. Этот язык программирования входит в тройку самых популярных. На первом уровне студенты изучают принципы объектно-ориентированного программирования и учатся правильно использовать основные конструкции языка. Второй уровень позволяет отточить владение PHP до виртуозности.
  5. HTML5 и CSS3 . Эта связка даёт возможность верстать макеты, создавать и редактировать статические сайты. На курсе студенты проходят все этапы создания рекламного сайта для коммерческой организации.
  6. AngularJS / D3.js . Здесь студенты учатся работать с D3.js в симбиозе с мощнейшим фреймворком построения одностраничных веб-приложений Angular.js.
  7. Yii framework . Это один из самых популярных и востребованных фреймворков на PHP. На лекциях рассматривается базовый и продвинутый шаблоны приложения и разрабатывается аналог программы Evernote. В качестве домашнего задания студентам предлагается создать программу-календарь, которую впоследствии можно использовать в портфолио.

Полноценный кейс для портфолио можно составить во время двухмесячной стажировки от GeekBrains. На ней выпускники проходят весь путь от генерации идеи до реализации проекта и учатся взаимодействовать с командой. Также всегда есть шанс попасть на оплачиваемую стажировку с последующим трудоустройством в одну из компаний-партнёров GeekBrains или найти единомышленников для стартапа.

Сливки

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

По данным агентства «Тэглайн», веб-программисты получают в 1,8 раза большую зарплату, чем среднестатистический житель России.

Средняя зарплата веб-разработчика по стране - 60 310 рублей, в Москве - 75 270 рублей, в регионах - 46 790 рублей.

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

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

Фаза 1 - Нюб

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

Это было с каждым из нас!

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

Фаза 2 - Первые шаги

Через некоторое время, когда вы накопили достаточное количество знаний, приходит время делать свои первые шаги в мир кодинга. Если на первой фазе мы понятия не имели, как и где можно получить знания, то на второй мы начинаем копить свой первый маленький опыт. Конечно на данном этапе CSS нам кажется ещё чем-то странным, но мы уже можем с горем пополам стилизовать наши страницы и любоваться их видом в браузере. Ах.. это прекрасное чувство!

Фаза 3 - Негодование

Представьте, что вы потерялись в пещере, и ваш фонарик начинает гаснуть, в то время как вы ищите выход. С каждым шагом вы всё больше надеетесь увидеть проблеск света. Процесс обучения нашей профессии похож на эту ситуацию. Мы не выйдем на свет. Нам сначала нужно перелопатить кучу учебников, документации, кода. Тут главное не “перегореть”.

Если сейчас у вас как раз этот период, знайте, что вы не одни. Мы все прошли через это. Будьте настойчивы, и рано или поздно вы найдёте выход и перейдёте к следующей фазе.

Фаза 4 - Ага!

О да! Тот самый момент... прозрения! “Ага! До меня наконец дошло!”. Что может быть лучше этого чувства?! Как правило, большинство из нас ощущали его, сидя в тёмной комнате с красными глазами поздней ночью, когда весь остальной мир тихо спал.

Фаза 5 - Хрупкий код

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

Но вы уже умеете что-то делать! Работа с Github сводится к исправлению мелких недочётов и документации, но это даже очень полезно!

Фаза 6 - Копипаст

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

Фаза 7 - Самоуверенность

На данном этапе вы наконец-то уже “в теме”! Вам конечно же ещё есть к чему стремиться, однако скорость вашего развития огромна. Но товарищи по цеху говорят, что вы даже не представляете, как мало вы знаете.

В этот период главное не зазнаваться и не быть слишком самоуверенным. От этого никто не выиграет, а наоборот, в будущем это может вам аукнуться. Если вы вдруг захотите где-то съязвить и написать коммент типа “Эй ты, нюб! Иди учись кодить!” или что-то вроде этого, то воздержитесь. Не так давно вы сами были нюбом. Не унижайте людей. Мы все варимся в одном котле, просто у всех нас разный уровень.

Фаза 8 - Использование Vim

Если вы когда-то случайно взглянули на экран соседа и увидели, что он разрабатывает проекты с бешеной скоростью, то он наверняка использует редактор Vim. Когда вы максимально разовьёте свои навыки и будете умело пользоваться различного рода инструментами, то в глазах начинающих вы будете супер магом!

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

Фаза 9 - Написание кода становится искусством

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

Код является творением искусства, когда он легко читается, и легко понимается его назначение. На данном этапе пишите код для людей, а не для машины.

Фаза 10 - Закалённый разработчик

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

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

Фаза 11 - Супер Звезда

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

О таких, как вы, говорят, что “он звезда” или “ниндзя”, хотя вам не по нраву такие ярлыки. Вам, как никому другому, известно, сколько ещё есть вещей, которые можно узнать!