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

(0 голоса, среднее 0 из 5)



Для изучения основ программирования, синтаксиса языка и наиболее важных элементов стандартных библиотек среднему способному человеку потребуется около месяца регулярной практики по 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 часов работы, вам также нужно посвятить собственное время тому, чтобы не отставать от новых технологий. Если ваша единственная цель в изучении программирования - заработать деньги, я не советую вам идти этим путем.