Сколько нужно заниматься программированием в день
Перейти к содержимому

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

  • автор:

Как учиться на программиста с нуля, сколько времени и стоит ли вообще

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

Наталья Березовская

Наталья Березовская

Автор в сфере IT, digital, экономики и финансов. Ведёт некоммерческий проект для начинающих писателей «ЛитЦех».

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

Рассмотрим, сколько времени нужно, чтобы стать разработчиком при различных исходных данных.

А ты точно программист?

Сперва проанализируйте, зачем вам это нужно. Разработчиком может стать любой человек, если приложит усилия и наберётся терпения. Но абстрактные деньги — не лучший мотиватор в этом деле. Поставьте конкретную цель, для достижения которой понадобятся средства и инструменты, — именно она будет двигать вперёд. А затем спросите себя: «Действительно ли программирование меня так увлекает, действительно ли оно поможет мне в моих мечтах?»

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

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

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

Преподаватель Skillbox Вадим Шандринов так ответил на вопрос, сколько потребуется времени для становления IT-специалиста:

Понятие «профессионал» достаточно растяжимое. Если мы говорим о человеке, который зарабатывает на жизнь своей профессией, — то, чтобы выучить язык и основные методы его применения, нужно от трёх до шести месяцев.

Чтобы изучить библиотеки, которые используются в определенной области, — от полугода до года. Это и знание документации, и способность сделать продукт на этих библиотеках. И только после — размещайте свое резюме на позицию Junior, чтобы работать под руководством более опытных товарищей.

Дальше — постоянно учитесь, ходите на семинары и митапы, изучайте новые библиотеки и технологии. Это от трёх до пяти лет, чтобы стать самостоятельным разработчиком уровня Middle. А для Senior или архитектора потребуется посвятить 10 000 часов своей профессии.

Читайте также:

  • Высшее образование в IT: почему не стоит уходить из вуза
  • Ещё один гадкий я: 10 страшных грехов Microsoft
  • Как работает .NET и зачем он нужен

Сергей Немчинский: Сколько времени нужно учиться на программиста-джуна?

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

Сколько нужно учиться, чтобы стать джуном? Я могу сказать только какие-то приблизительные временные рамки, но уже это вам поможет понять, ввязываться ли вам в эту авантюру или нет. Наверняка вы знаете фразу, что для того, чтобы стать мастером в любом деле, нужно на него потратить 10 000 часов. Для того чтобы стать джуном вам не нужно 10 000 часов, а вот сколько именно нужно – попытаемся разобраться.

Уровни Junior

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

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

«Strong junior без опыта» – это наши выпускники. Они знают, как делать настоящую работу, но, по факту, еще ее ни разу не делали.

«Strong junior с опытом» – человек, который уже побывал в каком-то боевом проекте и, по большому счету, ему до уровня middle осталось накопить буквально немного опыта.

3 этапа в обучении программированию до уровня джуна

ЭТАП 1. Выбор направления. Я советую прежде чем погружаться в какое-то конкретное направление, попробовать еще пару других. Если вы увидите, что там совсем ничего не идет – значит не ваше. Но чаще всего бывает, что интересно и одно, и другое. При этом вы уже может выбирать более осмысленно. Я советую выбирать из таких вариантов: что-то из бэкенда (Java, C#, Python, Php), что-то из фронтенда (JavaScript), можно попробовать что-то из машинного ниже по уровню (СС++ или rust). Если попробуете язык и точно понимаете, что не ваше – бросайте. Если прям очень понравится – можно другое и не смотреть.

ЭТАП 2. Обучение самостоятельно или на курсах. Т.е. сначала вы выбрали направление, а потому начинаете его учить.

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

Сколько вы будете учиться на реальном проекте, чтобы стать strong junior – очень сильно зависит от вас и вашей работы.

Сколько времени нужно на обучение?

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

Если есть бэкграунд из области ИТ

Если вы из ИТ сферы и были QA, DevOps, Data Scientist или из любой другой специальности, приближенной к программированию, то обучение займет у вас минимум времени. Все что будет нужно – выучить синтаксис соответствующего языка; выучить code style языка (это тоже достаточно банальные вещи); ознакомиться с фреймворками и библиотеками языка. Эти специалисты и так будут знать алгоритмизацию (превращение задачи в алгоритм). В этом случае человеку понадобится в среднем 6 месяцев, иногда меньше.

Если вы знаете какой-то другой язык программирования, то все будет еще проще. Если этот язык родственный, например, с C# на Java или наоборот – то переход займет 1-2 месяца. Если меняете с более далекого языка, например PHP на Java, то это займет 2-4 месяца.

Если бэкграунда нет

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

По моему опыту, все новички делятся на два типа: те, у кого есть умение алгоритмизировать задачу, и у кого этого умения нет. И если его нет, то первые месяцы уйдут просто на то, чтобы научиться понимать, как выстраивать алгоритмы. Сколько на это уйдет месяцев – предположить очень трудно, все слишком индивидуально. Я ни разу не видел хорошей книги, где было бы дано задание и какой-то конкретный принцип, с помощью которого мы его алгоритмизируем. Если бы это было возможно, наверное мы бы уже создали искусственный интеллект, который пишет программы вместо программистов. Но нет. Фактически люди учатся программировать на основе опыта других людей. Поэтому время тратится в основном именно на то, чтобы научиться превращать задачу в алгоритм.

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

Я рекомендую тратить за раз не меньше 2-3 часов. Возможно, у вас не будет получаться уделять обучению каждый день, но важно, чтобы это было не реже 2-3 раз в неделю, иначе, опять же, вы все забудете. В идеале, конечно, заниматься каждый день. В любом случае на обучение у вас уйдет не меньше полугода. Как по мне, реальные сроки – от 9 до 15 месяцев. Ощутимое количество времени (от 3 до 6 месяцев) вы будете просто осваивать, что это вообще за профессия, как к ней подходить, как делать алгоритмизацию. С другой стороны – люди разные, некоторым это все может даваться легко даже без какого-либо бэкграунда. Но даже в этом случае не рассчитывайте менее чем на 6 месяцев обучения.

Всегда ваш Сергей Немчинский.

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

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

Онлайн обучение программированию

Рост зарплат в ИТ привел к увеличению числа курсов веб программирования, которые могут помочь вам выбрать правильный вектор обучения с нуля. Одной из самых эффективных школ в интернете для меня стала Академия обучения ИТ ITEA (onlineitea.com). Краткий курс максимально понятно и доступно дает необходимый объем знаний для начинающих программистов. А недорогая цена на онлайн курсы программирования в ITEA делают их лучшими среди лучших.

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

Коммерческое программирование

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

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

Сколько времени я учился?

Мой первый контакт с программированием был до того, как я пошел в среднюю школу, но это был очень маленький эпизод, на который я потратил максимум несколько часов. В старшей школе мы изучали Паскаль (сейчас это Python). Насколько я помню, классов было не так много, но я много учился дома — около 80 часов (потом я также изучил базовый синтаксис C ++).

Старшая школа:

Уроки информатики на языке Pascal: 80 часов
Во время учебы я познакомился с другими языками: C, C ++, Java, Ada95, Simula, R, SQL и C#. Количество часов лекций, упражнений и лабораторий я взял из приложения к диплому. Некоторые лекции я не посещал, поэтому возможен небольшой просчет:

Учеба:
Введение в программирование 60ч
Алгоритмы и структуры данных 60ч
Компьютерная графика (Open GL) 54ч
Объектно-ориентированное программирование 50 часов
Языки и техники программирования 30ч
Программирование событий 30ч
Основы низкоуровневого программирования 30ч
База данных, классы 60ч
Нейронные сети 44с
Параллельные и распределенные вычисления 44ч
Профессиональная практика 160ч
Веб-приложения 30ч
ImagineCup

Во время учебы я принял участие в конкурсе Imagine Cup, где создал приложение для Windows Mobile 6.5, Windows Mobile 7 и Android. Период интенсивной работы длился около 3 месяцев. Тогда я программировал по ночам и праздникам. В среднем около 4 часов в день или 360 часов на протяжении всего проекта. После конкурса приложение развивалось дальше до тех пор, пока я не закончил свое инженерное образование. Я потратил на это минимум 800 часов. За этот период я многому научился. Конечно, это было бы невозможно, если бы у меня не было прочной основы. Создание реального проекта — лучший способ научиться программированию.

Работа дома

Помимо занятий и проекта ImagineCup, с начала учебы до 5-6 семестра (когда началась работа над проектом ImagineCup) я много свободного времени уделял изучению программирования. Работая дома, я тратил в 4 раза больше времени, чем на упражнения. Если предположить, что половина времени в университете — лекции, то время, проведенное дома для учебы, составляет около 1200 часов в течение 5 семестров.
Приведенные выше расчеты носят ориентировочный характер и скорее занижены, чем завышены. Я не могу сосчитать, сколько раз я просидел всю ночь, занимаясь проектами или решая проблемы.

Чтобы начать свою первую работу, мне понадобилось около 2700ч для изучения программирования. В переводе на 8-часовую полную занятость это примерно 15,5 месяцев. Нужно ли всем столько времени? Возможно, нет. Это время было использовано не очень эффективно.

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

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

Эффективное обучение может сократить количество часов, но не более чем наполовину. На мой взгляд, 1000-1500 часов систематического и качественного обучения (ежедневного программирования в течение не менее 4-5 часов в день на протяжении года) должна быть достаточно способному и очень упрямому человеку. При менее интенсивной работе следует ожидать, что этот срок растянется. Когда лучше всего заниматься программированием? Это зависит от вашего хронотипа (сова вы или жаворонок).

В студенческие годы я был типичной совой (как и большинство молодых людей). Теперь я люблю вставать в 6 утра и сразу же приступать к работе. Независимо от того, какой у вас хронотип, вы наиболее эффективны сразу после пробуждения. Самое главное — не отвлекаться минимум 1,5 часа. Выберите время, когда все спят или когда вам не будут мешать. Выключите телефон и не отвлекайтесь.

В IT вы никогда не перестанете учиться

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

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

В заключении хочется сказать: ИТ-индустрия высокооплачиваемая, но требовательная. Помимо 8 часов работы, вам также нужно посвятить собственное время тому, чтобы не отставать от новых технологий. Если ваша единственная цель в изучении программирования — заработать деньги, я не советую вам идти этим путем.

Более новые статьи:
  • Кому и когда пригодится знание английского языка
  • Курсы китайского с репетиторами и носителями языка в Skype-Language
  • Основные типы биоритмов человека
  • Кто такие неандертальцы и почему они вымерли, кратко
  • Кому нужны курсы английского языка Skyeng

Сколько нужно времени, чтобы начать зарабатывать на программировании

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

Программирование – это удовольствие, а не деньги

Зачем вам изучать программирование? Если эта сфера привлекает только деньгами и возможностью бросить текущую работу, то придется нелегко. Ведь эту сферу надо любить. Любой разработчик скажет, что срок становления программиста – вся жизнь. Языки программирования, библиотеки, методологии – все меняется, и новые технологии появляются если не ежемесячно, то ежегодно.

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

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

Как быстро вы сможете заработать?

Помните фразу, что за 10 000 часов можно стать профессионалом в любой области? Авторы оригинального исследования опровергли это высказывание. Процесс обучения настолько индивидуален, что с трудом поддается прогнозу. Но можно обозначить примерные рамки: можно получить позицию разработчика начального уровня в течение года, а некоторые успевают за несколько месяцев.

Что влияет на скорость обучения:

  1. Образование. Если у вас хорошая математическая база, то понять логику языка программирования получится гораздо быстрее. В среднем, искать заказы можно уже через четыре месяца обучения.
  2. Количество занятий. Увольняться с работы без четких перспектив – слишком опасно. Если совмещать офис и учебу, то понадобится больше времени — вплоть до года.
  3. Талант. Абстрактный фактор, но с врождённым талантом к программированию или математике постигнуть азы и устроиться на работу получится быстрее.
  4. Предметная область. Можно программировать сайты, десктопные программы, искусственный интеллект. Естественно что, время на освоение минимальных навыков в разных направлениях будет разным. Если веб-разработчиком можно стать за несколько месяцев, то изучение нейросетей потребует больше времени. Во многом из-за необходимости в глубоких познаниях математики.

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

3 этапа становления разработчика

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

  1. Знакомство. Самостоятельное изучение программирования с нуля довольно сложно, поэтому мы рекомендуем наш базовый курс по Java. Он сэкономит много времени и даст необходимый объем знаний, чтобы претендовать на позицию стажера или джуниора.
  2. Основной этап. Если программирование вызывает интерес и приносит удовольствие, то самое время набивать руку. Пройдите продвинутый курс, найдите учителя или работайте с Open Source – это ваш путь к высокооплачиваемой должности.
  3. Вся жизнь. Когда вы уверенно будете разбираться в программировании и его логике, найдёте работу, то останется только углублять свои знания и становиться узкоспециализированным специалистом.

Заключение

Помните, что программистом может стать любой. Курсы – самый быстрый и надежный способ получить востребованные знания.

К примеру, к четвертому году обучения в университете все изученное на первом курсе может потерять актуальность. А курсы займут несколько месяцев, после чего вы сможете приступить к работе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *