Generated with Avocode. Generated with Avocode. Generated with Avocode. Generated with Avocode. Generated with Avocode. hat Generated with Avocode. Generated with Avocode. Generated with Avocode. Generated with Avocode. Generated with Avocode. Generated with Avocode. path40

Как правильно изучать программирование: метод Франклина

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

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

В XXI веке обществу нужны работники информационных технологий (IT): инженеры, дизайнеры и программисты. Кто такой программист? Это профессионал, который всегда открыт новым знаниям и готов принять быстро меняющийся мир. Сегодня это самая перспективная профессия. С такой профессией вы всегда заработаете на хлеб с маслом в любой стране мира.

Языки программирования универсальны, так что работать вы сможете где угодно: или в родной России, или в теплой Калифорнии, куда уезжают самые талантливые ребята. Если вы не попали в топ мирового рейтинга — не беда. Рядовой программист может эмигрировать в Новую Зеландию, Германию, северные штаты вроде Иллинойса или Миннесоты. Выбирайте сами, в какую страну уехать жить и работать. Или остаться на родине. Кому-то больше нравится быть первым парнем на деревне, чем последним в городе (к тому же низкий социальный статус негативно отражается на состоянии иммунной системы). Когда у вас достаточно денег, то можно и здесь прилично жить.

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

Талант программиста можно заметить в человеке, который не написал ни строчки кода. Это человек, который любит головоломки. Он любит обдумывать задачки, словно это сладкое мороженое, от которого невозможно оторваться. Каждая флуктуация нелогичности в окружающем мире — новый вызов для него. Всё нужно упростить, упорядочить и алгоритмизировать. Какими качествами должен обладать математик, описано в первых главах книги «Прелюдия к математике» У.У. Сойера. Многое из этого нужно, чтобы стать программистом.

Самообучение

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

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

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

Ямамото Цунэтомо

Одно из правил самурайского кодекса из сборника сочинений «Бусидо»
БУСИДО. Кодекс самураяhttps://books.google.by/books?id=kzFMDwAAQBAJ

Но рынку нужны надежные работники в большом количестве. Не каждому подходит путь самурая. Поэтому для широких масс выпустили кучу самоучителей — тысячи книг «для чайников». Книги в обложках, похожих друг на друга как близнецы: «Python для чайников», «Java для идиотов», «C# с нуля» и так далее.

Raysonho, CC0 Public Domain

Самоучитель хорош тем, что быстро погружает в тему. Вы начнете кодить практически в тот день, когда открыли книжку. Только следуйте пошаговым инструкциям. Но, как говорит преподаватель и тренер по программированию Джеймс Коппел из Массачусетского технологического института, есть одна небольшая проблема: эти книги ничему не учат. Главное там — длинные листинги кода, которые читатель должен воспроизвести.

Как и в конспектах университетских лекций, «код переходит со страницы книги на экран читателя, минуя мозг». Обучение с помощью лекций попросту неэффективно: студенты, которые слушают обычные лекции, на 55% чаще проваливают экзамен, чем те, кто участвовал в обсуждении материала, пусть даже в минимальной форме. То же справедливо и для самоучителей, когда у вас нет возможности ни с кем обсудить материал. Информация зачастую просто минует мозг. Ничего не запоминается.

Метод Франклинa

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

Этот метод очень прост на практике. Фактически, он сводится к трем действиям.

Читать книгу как обычно. Когда попадется образец кода, прочитать его.

Закрыть книгу.

Попробовать набрать код.

Повторить пункты 1−3.

Суть в том, чтобы усвоить мысленные образы — структуры данных, чувствительные к распространению. Хотя метод кажется совсем простым, но в этом случае мозг начинает работать по принципу автокодировщика в машинном обучении: «Автокодировщик представляет собой нейронную сеть, которая пытается воспроизвести на выходе такие же данные, какие были на входе, но с прохождением через промежуточный слой, который слишком мал, чтобы полностью представлять данные. В ходе этой процедуры ему приходится выучить более компактную репрезентацию данных. Здесь в качестве нейронной сети выступает скопление дендритов в вашей голове», — пишет Джеймс Коппел.

Лекции и литература

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

  1. Выучить английский язык (хотя можно найти немало курсов и на русском языке).
  2. Выбрать программу обучения по интересующему предмету (специальности). Определиться, какое направление программирования наиболее интересно.
  3. Найти учебные материалы по этому предмету.

Образовательные ресурсы с курсами и лекциями

   MIT OpenCourseWare: обучающие курсы, видеозаписи лекций и семинаров Массачусетского технологического института.

   KhanAcademy: бесплатные лекции, в том числе по математике и информатике.

   Coursera: курсы от ведущих западных университетов.

Учебная литература

   Список бесплатных книг по программированию (англ. яз.)

   Сборник учебной литературы для программиста

   Бесплатные книги по программированию на русском и английском

   Подборка бесплатных книг

Самоучители для начинающих

   Занимательное программирование. Самоучитель. Автор: М. Мозговой.

   C# для школьников. Учебное пособие. Автор: М. Драйер.

   Программирование на Java для детей, родителей, дедушек и бабушек. Автор: Я. Файн.

Главная проблема в самообучении — отсутствие системного подхода. Трудно понять, что учить в первую очередь, а что во вторую, в каком порядке.

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

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

Программа обучения. Системный подход

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

Сколько надо учиться на программиста? Например, программа обучения «Профессия веб-разработчик» рассчитана на один год и включает в себя три глобальных курса:

Веб-разработчик

Практический годовой курс для тех, кто хочет стать профессиональным веб‑разработчиком, запустить свой интернет‑проект или веб‑сервис и получить первые заказы на разработку

JavaScript с нуля

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

Базовые навыки PHP

Курс, на котором вы познакомитесь с базовыми понятиями программирования и поймете главные принципы. Научитесь писать чистый, структурированный, а самое главное — работающий код. Уже после первого курса вы сможете сделать свой первый сайт на PHP. Вы самостоятельно сделаете то, что раньше казалось фантастикой!

Хотя система платная, но зато повышает шансы на успешный результат. А результат — это престижная, востребованная и высокооплачиваемая профессия с интересными проектами и большими перспективами развития.

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

Курс «Профессия Веб-разработчик»

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

  • 32 часа теории и 16 практических заданий
  • Живая обратная связь с преподавателями
  • Неограниченный доступ к материалам курса
  • Стажировка в компаниях-партнёрах
  • Дипломный проект от реального заказчика
  • Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы

Комментарии

0
Чтобы оставить комментарий,  авторизуйтесь
Хочешь получать крутые статьи по программированию?
Подпишись на рассылку

Skillbox