Теперь, когда вы уже имеете представление о веб-разработке, попробуем ответить на вопрос: а как, собственно, в нее влиться?
Относительно простыми способами попасть в этот мир можно назвать следующие:
Все остальные способы требуют умения программировать. Знания, необходимые веб-разработчику, можно разделить на несколько направлений.
Как я уже неоднократно упоминал, в разных уроках и курсах (например в курсе «Жизнь программиста»), существует набор вещей, которые нужно знать независимо от выбранного в дальнейшем направления:
В хороших местах смотрят именно на вашу базу, потому что довольно глупо от начинающего разработчика требовать знания прикладных инструментов. Иначе это уже не новичок. Не забывайте, что в такие компании как Google, Facebook или Яндекс попадают прямо со студенческой скамьи. При том, что решаемые задачи гораздо более сложные, чем разработка сайтов.
Пусть вас не пугает то, что было перечислено выше. В реальности необходимый уровень очень примитивен. Скорее всего, вы уже знаете многое из описанного выше, но не сможете это сформулировать. Все же мы 10 лет учились в школе, а математики и физики там было хоть отбавляй.
Отдельной темой являются разные виды мышления:
Мышление решает все. Именно его уровень определяет то, какие вы будете выдавать решения. Прокачка мышления на ранних стадиях намного важнее знания прикладных инструментов. Хекслет делает акцент именно на этом. Задачки здесь построены так, что их невозможно решить в школьном стиле "просто использовать формулу". Придется думать над алгоритмом решения. Это неоднократно отмечено большинством наших пользователей, а также компаниями, которые собеседуют наших выпускников.
Ниже перечислен список технологий, которые важно знать хотя бы на базовом уровне любому веб-разработчику для устройства на работу. С ростом профессионального уровня глубина будет увеличиваться, но пока вы только начинаете свой путь, достаточно иметь общее представление. В любом случае, после прохождения первых собеседований, станет понятно, что из перечисленного ниже желательно дотянуть.
Операционные системы — это одна из наиважнейших тем в программировании. У разработчиков постоянно возникают сложности и вопросы, большая часть ответов на которые, к их удивлению, лежит в области знаний операционных систем.
Будет полезно знать, но на работу, скорее всего, возьмут и без этого:
То, о чем обычно не говорят и очень часто не используют. При этом невозможно себе представить профессионального разработчика, который бы не писал тестов. Такие люди конечно же есть, но их нельзя называть профессионалами (они так не считают).
Все остальные пункты из списка выше, это то, с чего, например, мы начинаем обучение программистов, работающих в Хекслете. Ведь программист — это не тот, кто должен писать код. Это человек, решающий задачи бизнеса, как правило, с помощью написания кода, но еще лучше если он будет решать их с помощью удаления кода. Подробнее.
В течение своей профессиональной карьеры я собирал лучшие из лучших книг. Эти знания не устаревают со временем, и эти книги важны независимо от вашего рабочего окружения. Список доступен по ссылке.
Часть из этих книг читается очень легко, часть требует глубокого погружения. Подробно тема чтения книг разбирается в этой статье.
В наших курсах мы довольно долго идем к непосредственно веб-разработке. Это связано с тем, что перед нами стоит амбициозная цель не просто дать вам прикладные знания по конкретному набору технологий, а сформировать правильное мышление, привить культуру кода и подготовить для работы над по-настоящему серьезными проектами.
Состояние кипящего мозга в процессе решения задач на Хекслете - это нормальное состояние ;)
К требованиям знания конкретных технологий, библиотек и даже языков в вакансиях для новичков лучше относиться как к «мы используем в работе». Другими словами, ничего страшного в том, что вы не знаете этих вещей. Посмотреть и почитать про них будет полезно, но учить точно не стоит до тех пор, пока вы не поймете, зачем вам оно.
Типичный пример — это знание jQuery на позицию верстальщика или frontend-разработчика. В реальности jQuery представляет из себя набор функций для разных задач, которые учатся по ходу действа и ровно в том объеме, который нужен для решения конкретной задачи (учить его от и до абсолютно бессмысленно). При этом в вакансиях не пишут о по-настоящему важных вещах. Работа того же jQuery целиком и полностью завязана на DOM. А вот без понимания объектной модели документа использование jQuery приводит к совершенно неадекватному коду.
Предвижу вопрос: «Неужели так много надо знать?». В реальности знать нужно на порядок больше. Даже зная описанное выше в первый месяц работы программистом вы будете каждый день узнавать огромное количество нового, а старое понимать лучше и глубже. Программирование — достаточно серьезная область, в которую с нуля после пары месяцев обучения попасть нельзя. Кому-то может и везет так, но и задачи будут соответствующими.
Следующие курсы погружают вас в мир программирования. Этот путь сложен и требует большой дисциплины, желания и самостоятельной работы. Надеюсь, что вы пройдете его до конца и добьетесь своей цели.
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Статья «Ловушки обучения»
Вебинар «Как самостоятельно учиться»
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт