Время изучения языков программирования

Сколько времени нужно потратить на изучение 1 языка программирования на серьезном уровне?

Я считаю, что не существует «серьезного уровня» владения языком программирования. По той же причине почему никто не говорит о серьезном уровне владения арифметикой. Арифметика — сама по себе это только основа математики.

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

Но дальше больше. Туда входят еще паттерны программирования и так называемые «хорошие практики». Многие из которых универсальны, но некоторые характерны для данной отрасли, языка или вообще конкретного стека. Которые еще сложнее в освоении вот почему. Если Вы сделали что-то неправильно с точки зрения языка программирования или фреймворка — программа не будет работать и Вы это сразу увидите. Если Вы не правильно используете паттерны или нарушаете Best Practice программа будет до поры до времени отлично работать. Но пока ее сложность не превысит определенный уровень в лучшем случае. А в худшем уже долго и успешно проработав у клиента, но когда в нее придется вносить изменения или расширить функционал.

Читайте также:  Программирование tia portal обучение

Можно еще привести фундаментальную теорию, как то парадигмы программирования, алгоритмы и т.п.

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

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

Источник

Сложности самообучения программированию и как их преодолеть

Перед вами перевод статьи Xiang Zhou, опубликованной на сайте freeCodeCamp. Если вы разработчик-самоучка и хотите преодолеть все преграды на пути к цели, добро пожаловать под кат!

«Белая книга на коричневом деревянном столе», фото Alexander Michl на Unsplash

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

Такие веб-сайты, как Code.org, Codecademy и freeCodeCamp набирают все большую популярность, а в сети появилось огромное количество курсов, в том числе и на YouTube.

Однако программирование — это не так просто. Есть определенные трудности, с которыми все мы сталкиваемся, когда учимся писать код.

1. Сколько времени нужно уделять программированию каждый день

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

Как же при этом ежедневно находить время на программирование?

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

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

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

Итак, все сводится к одному: только вы сами знаете, сколько часов в день сможете заниматься программированием так, чтобы это вошло в привычку, но не выматывало. Последнее особенно важно. Основатель freeCodeCamp Квинси Ларсон однажды сказал в своем твите:

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

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

2. Как найти золотую середину между «почти не сдвинулся с места» и «сгорел на работе»

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

С того момента я стал напоминать себе, что не стоит истощаться и доходить до точки невозврата.

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

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

  • находил проблему, которая требовала решения;
  • находил решение на форумах в сети;
  • пробовал выйти из затруднения несколькими способами, проверяя, какой из них сработает;
  • решал проблему.

Я трачу 50% времени на сложные задачи — изучение основ, концептов, алгоритмов и прочего. Остальные 50% остаются на мои собственные проекты, которыми я занимаюсь с удовольствием. Так я добиваюсь гармонии в своем ежедневном расписании.

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

3. Единственный способ преодолеть препятствия — любить свою работу

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

4. Всегда возвращайтесь к программированию, когда заканчиваете с другими делами

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

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

Честно говоря, иногда это попросту невозможно. Случалось, что я подолгу не занимался написанием кода — однажды даже целых два месяца.

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

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

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

5. Мотивируйте себя любым способом

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

Я часто читаю этот подфорум на reddit, так как многие его пользователи — разработчики. При создании софта они все используют самое мощное железо. Что может быть лучшей наградой для программиста?

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

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

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

Не поддавайтесь искушению рассуждать: «Я ведь учусь — этого достаточно. Я задумаюсь о поиске работы потом, когда буду готов».

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

Все перечисленные преграды вырастут на вашем пути к карьере девелопера. Встречайте их с правильным настроем: они сделают вас только сильнее и лучше.

И наконец, приятного программирования! Наслаждайтесь тем, что создаете, — будь то ваш проект или ваше будущее.

Источник

Оцените статью