Как перестать бояться и начать программировать?
1.
Признайте: программирование — это важно
2.
Поймите, что программирование — это круто
3.
Поверьте, что к программированию способен всякий
4.
Определитесь, с чего вам хотелось бы начать
5.
Выберите язык программирования, который хотите освоить первым
6.
Начните учиться
7.
Получите удовольствие и продолжайте
8.
Держитесь
9.
Начните учиться вместе с детьми
Признайте: программирование — это важно
Программирование называют новым «английским языком» — в том смысле, что скоро почти всякая профессия потребует знания принципов кодинга хотя бы на каком-то уровне. С этим можно спорить, а вот с тем, что умение программировать дает хорошее конкурентное преимущество во множестве областей, спорить сложно. Если говорить не просто о навыках, а о профессии, то программирование — хороший выбор. Вне зависимости от страны проживания и экономической ситуации для грамотного программиста всегда найдется дело.
Поймите, что программирование — это круто
Тут можно многое сказать, но самое главное, пожалуй, в том, что программирование позволяет по-новому посмотреть на мир, где технологии играют все большую роль. Митчелл Резник, создатель Scratch, как-то привел такую метафору: люди, которые умеют писать, смотрят на мир несколько иначе, чем те, кто умеет только читать. Приятно пользоваться умными приложениями, спортивными гаджетами и смотреть красивые сайты, но понимать, как все устроено еще приятнее — потому что это дает новый угол зрения и новые возможности. Профессия программиста может быть в чем-то близка профессии изобретателя — с помощью подручных средств разработчики создают новые вещи, которые позволяют сделать жизнь чуть проще и чуть лучше. И выкиньте из головы все предрассудки о разработчиках-социопатах. Программисты — вовсе не такие закрытые люди, как вам, возможно, кажется. У разработчиков очень мощное сообщество, и вы всегда сможете, например, найти человека, который поможет вам в решении сложного вопроса.
Поверьте, что к программированию способен всякий
Конечно, есть люди, которые больше или меньше способны к программированию. Но не нужно думать, что программисты вырастают только из странных замкнутых детей, которые учились на пятерки по математике и закончили подходящий вуз. Скажем, основатель «Вконтакте» Павел Дуров закончил университет по специальности «Английская филология и перевод». Забудьте про деление на «физиков» и «лириков», «математиков» и «гуманитариев». Программирование бывает разным, и для разных задач потребуются разные типы мышления. Вот здесь можно почитать всякие вдохновляющие истории о, казалось бы, очень далеких от программирования людях, которые вдруг стали делать сайты и приложения.
Определитесь, с чего вам хотелось бы начать
Перед тем, как начать обучение, надо понять, какие примерно задачи вам интересно решать. Это необязательно должно быть что-то очень сложное. Например, вам надо посчитать среднюю цену на однокомнатные квартиры в Москве в определенном районе или сделать бот в мессенджере, который собирал бы все последние объявления о продаже подержанной сантехники — это нормальные задачи. Начинать программировать можно и с других небольших проектов — скажем, создания сайта или игрового приложения.
Выберите язык программирования, который хотите освоить первым
Выбор языка — сложный вопрос. Разработчики вечно спорят, с чего лучше начинать. Одни говорят, что нужно сперва освоить более древние языки, которые заложат основу — вроде С или С++. Другие считают, что для начала лучше подойдут языки попроще — вроде Python или JavaScript. Часто рекомендуют отталкиваться от конкретных задач — скажем, если вы хотите создавать какие-то проекты со статистикой, хорошо бы изучить Matlab или R. Для приложений под iOS подойдет Objective C или Swift. Жестких правил тут нет — учите тот язык, который понравится. Главное — учите хорошо.
Начните учиться
В интернете полно книг и онлайн-курсов для начинающих разработчиков. Наверное, самый известный проект — Codecademy. Есть приложения для iPad вроде Codea или Swifty. Это очень легко, красиво и приятно — учиться с помощью подобных сервисов, но нужно знать об одной ловушке, в которую попадают многие. Надо с самого начала понимать, что 10-часовой курс, пройденный в интернете, не делает из вас настоящего программиста. И нельзя отчаиваться, когда вам перестанут все время помогать при любом затруднении и хвалить за каждое небольшое достижение. Самое главное — научиться учиться. Привыкайте искать ответы на свои вопросы в интернете — поверьте, почти все трудности, испытываемые начинающими программистами, разобраны уже миллион раз. Искать подсказки лучше всего в Google и на английском языке, так больше шансов получить качественный ответ. Обращайте внимание на советы на сайте stackoverflow.com — там высок шанс найти хорошую подсказку. Есть и другой вариант — офлайн-курсы для программистов. Их в последнее время открывается довольно много. Основной критерий отбора курсов такой — у вас не должно быть ощущения, что вы попали в каменный век.
Получите удовольствие и продолжайте
Как мы уже говорили, учиться лучше всего на конкретных небольших задачах. Это позволит вам все время видеть результат — для мотивации нет ничего важнее. Берите пример с Джениффер Девольт, которая изучала искусства, а в один прекрасный день решила научиться делать сайты. Девольт придумала себе график: 180 сайтов за 180 дней, без выходных и без всяких обучающих курсов — только Google. Каждый день она выкладывала готовый сайт и код на Github. Она начинала с элементарных вещей, но через полгода научилась выполнять куда более сложные задачи.
Не стесняйтесь копировать чужие решения — на первых порах без этого почти никак. Только не бездумно копируйте чужие ответы, но старайтесь разобраться, что делает каждая строка. Для этого можно менять значения и следить, как изменится результат.
Держитесь
После стадии «ура, я научился заставлять котика махать хвостом» часто наступает стадия «ох, до нормальных задач мне еще очень далеко». В этот момент важно не падать духом. Есть разные способы преодолевать уныние, один из них — найти кого-нибудь, кто готов учиться вместе с вами. Вдвоем искать ошибки и продвигаться вперед обычно сильно проще.
Начните учиться вместе с детьми
Если у вас есть дети, начните учить их программированию. Есть много обучающих программ, придуманных специально для детей. Например, для того, чтобы делать небольшие игры и открытки в Scratch, не надо даже уметь писать. Такие программы полезны не только для детей: с их помощью и взрослый человек сможет понять базовые принципы программирования, и вдохновиться на что-то более сложное.