Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Обучение Введение в веб-разработку

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

Относительно простыми способами попасть в этот мир можно назвать следующие:

  • Устроиться ручным тестировщиком
  • Научиться верстать

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

Информатика

Как я уже неоднократно упоминал, в разных уроках и курсах (например в курсе «Жизнь программиста»), существует набор вещей, которые нужно знать независимо от выбранного в дальнейшем направления:

  • Элементы дискретной математики
    • Графы
    • Автоматы
    • Кодирование
  • Алгоритмы и структуры данных
  • Теория множеств
  • Логика
  • Системы счисления

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

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

Отдельной темой являются разные виды мышления:

  • Логическое мышление
  • Абстрактное мышление
  • Системное мышление
  • Вычислительное мышление

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

Специальные знания

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

Клиентская часть

  • HTML
  • CSS
  • JavaScript

Софт

  • Популярные веб-серверы и принципы их работы
  • Git и системы контроля версий (наш курс по Git ждёт вас после базовых курсов во всех программах обучения)
  • SSH и работа с ключами (см. наш гайд «Что такое SSH»)

Операционные системы

  • Уверенное владение командной строкой Linux
  • Базовое администрирование Linux
  • Процессы/Потоки
  • Сеть

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

Сеть

  • HTTP
  • DNS
  • TCP/IP

Стек (для любого языка)

Будет полезно знать, но на работу, скорее всего, возьмут и без этого:

  • Микрофреймворк
  • Роутинг
  • ORM
  • Шаблонизация

Пожелания от Хекслета

  • Автоматизированное тестирование
  • Управление конфигурацией (Ansible и подобные)
  • Процессы (Agile: Scrum, Kanban)
  • Теория ограничений
  • Lean Startup

Тесты

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

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

Книги

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

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

Хекслет

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

Состояние кипящего мозга в процессе решения задач на Хекслете - это нормальное состояние ;)

А что насчет требований в вакансиях?

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

Типичный пример — это знание jQuery на позицию верстальщика или frontend-разработчика. В реальности jQuery представляет из себя набор функций для разных задач, которые учатся по ходу действа и ровно в том объеме, который нужен для решения конкретной задачи (учить его от и до абсолютно бессмысленно). При этом в вакансиях не пишут о по-настоящему важных вещах. Работа того же jQuery целиком и полностью завязана на DOM. А вот без понимания объектной модели документа использование jQuery приводит к совершенно неадекватному коду.

Заключение

Предвижу вопрос: «Неужели так много надо знать?». В реальности знать нужно на порядок больше. Даже зная описанное выше в первый месяц работы программистом вы будете каждый день узнавать огромное количество нового, а старое понимать лучше и глубже. Программирование — достаточно серьезная область, в которую с нуля после пары месяцев обучения попасть нельзя. Кому-то может и везет так, но и задачи будут соответствующими.

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


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 120 курсов, 2000+ часов теории
  • 900 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»