Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Код

Четыре ошибки новичков в программировании

Время чтения статьи ~3 минуты 5

Всем привет! Меня зовут Андрей, я фронтенд-разработчик в RAMBLER&Co, ранее в Иннове. Программированием я занимаюсь около года, до этого около двух лет занимался HTML-вёрсткой. Расскажу о том, какие ошибки я совершил за эти три года, чтобы вы (если вы новичок) их не повторяли.

Ошибка №1: изучение основ языка вместо основ программирования

Свой путь в веб-разработке я начинал с книги по HTML/CSS, которую мне дал почитать знакомый программист. В конце книги был дополнительный раздел с основами языка JavaScript. Разумеется, я начал его читать и ничего не понял. Помню как увидел пример простого цикла for (var i = 0; i < 10; i++) и долго недоумевал, как это вообще работает. В итоге у меня сложилось неправильное впечатление о языке: я решил, что JS ужасный язык и его нельзя изучать.

Впоследствии я пробовал PHP, Python и даже С#, разобрался с циклами и другими базовыми вещами, но плохое впечатление от JS так и осталось, пока я не решил снова попробовать его изучить.

Не следует начинать с изучения конкретного языка. В первую очередь нужно изучить базовые вещи вроде переменных, условий и циклов. Хекслет в этом плане молодцы, в курсе «Основы программирования» как раз объясняются все необходимые базовые концепции, причём кроме условий, циклов и прочих подобных вещей в курсе рассказывается о модульном тестировании, чистых функциях и отладке, что меня приятно удивило. Я изучал основы самостоятельно и о тестировании или чистых функциях узнал примерно спустя год после начала обучения, а на Хекслете эти темы даются в первом же курсе.

Ошибка №2: неправильные ожидания от ВУЗа

Закончив школу, я, как и подавляющее большинство сверстников, поступил в местный (омский) ВУЗ. Специальность называлась «Математическое обеспечение и администрирование информационных систем». Почему я выбрал её? Я прочёл на Хабре статью о том, какие специальности лучше всего подходят для обучения программированию, и МОиАИС была в этой статье на первом месте.

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

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

Ошибка №3: распыление вместо концентрации

«О, дайджест последних новостей... ого, туториал по вёрстке табов на css! А тут ещё и статья о реакте для новичков... А здесь пишут, что нужно использовать ангуляр вместо реакта...» — и у вас уже открыто 50 вкладок в браузере и вы лихорадочно читаете всё, что попадётся. А потом обнаруживаете, что уже час ночи и в общем-то надо бы пойти спать, но в очередь на чтение ещё 20 статей... Наверняка многие из вас сталкивались с такой ситуацией.

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

Ошибка №4: знания языков и фреймворков недостаточно

Когда я освоил вёрстку на достаточно хорошем уровне, я решил двигаться дальше — во фронтенд и программирование. «Изучу JavaScript и какой-нибудь фреймворк — и дело в шляпе, буду крутым программистом». Сейчас я пишу приложения на JS, Реакте и Редаксе, но этого недостаточно для «крутого программиста».

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

Аватар пользователя Андрей Романов
Андрей Романов 16 октября 2016
5
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря