Как научиться программированию

23 апреля 2018

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

Зачем нужно программирование и где его применить?

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

Но это очевидный пример. Давайте посмотрим вокруг, находясь возле пешеходного перехода. Что мы видим? Светофоры, мигающие вывески магазинов, автомобили. На самом деле, во всех перечисленных вещах большая доля IT и, соответственно, самого программирования. Для того, чтобы на светофоре зажегся зеленый цвет - необходимо в программе проверить, чтобы у другого горел красный - иначе быть аварии. 

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

Вы хотите научиться программировать, но возникает вопрос "что для этого надо?". Для того, чтобы создавать программы и сайты надо изучить подходящий язык программирования.

Какие языки программирования и сферы существуют?

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

Хорошо, но какой язык выбрать первым?

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

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

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

Для разработки аналога GTA вам стоит посмотреть в сторону C++.

Ну а для роботов и космических станций необходимы знания С и Assembler (самый сложный низкоуровневый язык программирования).

Кто такие программисты, и кто может им стать?

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

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

Что является результатом программирования?

Фишка программирования в том, что можно сразу увидеть результат.
К примеру, вы решили сделать сайт для своего стартапа. Только начав делать страничку - вы видите результат. Не надо ждать, когда ваш код кто-то "согласует".

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

Где можно научиться программировать? 

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

Как проходит процесс обучения программирования?

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

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

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

Есть правило 10 000 часов. В среднем именно столько времени надо, чтобы вас начали считать профессионалом. Но для того, чтобы делать хорошие программы и сайты достаточно куда меньшего времени.

Один из ярких примеров: парень, который принял участие в конкурсе на разработку мобильного приложения iPhone для социальной сети ВКонтакте. На момент объявления конкурса он не умел программировать на iOS. Более того, у него не было iPhone. И именно он занял первое место в конкурсе, превзойдя опытных разработчиков. Выходит, что за 1,5 месяца он научился программировать на iOS. Все в ваших руках!

А теперь к не менее интересному вопросу: Сколько денег надо, чтобы начать программировать?

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

Итак, как видите: программирование – весьма интересно, полезно и вполне доступно каждому. Даже если в будущем вы не станете профессиональным разработчиком, то все равно такой полезный навык останется с вами на всю жизнь. Дерзайте!