разбор

Как перестать бояться и начать программировать?

9 карточек
1

Признайте: программирование — это важно

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

2

Поймите, что программирование — это круто

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

3

Поверьте, что к программированию способен всякий

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

4

Определитесь, с чего вам хотелось бы начать

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

5

Выберите язык программирования, который хотите освоить первым

Выбор языка — сложный вопрос. Разработчики вечно спорят, с чего лучше начинать. Одни говорят, что нужно сперва освоить более древние языки, которые заложат основу — вроде С или С++. Другие считают, что для начала лучше подойдут языки попроще — вроде Python или JavaScript. Часто рекомендуют отталкиваться от конкретных задач — скажем, если вы хотите создавать какие-то проекты со статистикой, хорошо бы изучить Matlab или R. Для приложений под iOS подойдет Objective C или Swift. Жестких правил тут нет — учите тот язык, который понравится. Главное — учите хорошо.

6

Начните учиться

В интернете полно книг и онлайн-курсов для начинающих разработчиков. Наверное, самый известный проект — Codecademy. Есть приложения для iPad вроде Codea или Swifty. Это очень легко, красиво и приятно — учиться с помощью подобных сервисов, но нужно знать об одной ловушке, в которую попадают многие. Надо с самого начала понимать, что 10-часовой курс, пройденный в интернете, не делает из вас настоящего программиста. И нельзя отчаиваться, когда вам перестанут все время помогать при любом затруднении и хвалить за каждое небольшое достижение. Самое главное — научиться учиться. Привыкайте искать ответы на свои вопросы в интернете — поверьте, почти все трудности, испытываемые начинающими программистами, разобраны уже миллион раз. Искать подсказки лучше всего в Google и на английском языке, так больше шансов получить качественный ответ. Обращайте внимание на советы на сайте stackoverflow.com — там высок шанс найти хорошую подсказку. Есть и другой вариант — офлайн-курсы для программистов. Их в последнее время открывается довольно много. Основной критерий отбора курсов такой — у вас не должно быть ощущения, что вы попали в каменный век.

7

Получите удовольствие и продолжайте

Как мы уже говорили, учиться лучше всего на конкретных небольших задачах. Это позволит вам все время видеть результат — для мотивации нет ничего важнее. Берите пример с Джениффер Девольт, которая изучала искусства, а в один прекрасный день решила научиться делать сайты. Девольт придумала себе график: 180 сайтов за 180 дней, без выходных и без всяких обучающих курсов — только Google. Каждый день она выкладывала готовый сайт и код на Github. Она начинала с элементарных вещей, но через полгода научилась выполнять куда более сложные задачи. 

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

8

Держитесь

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

9

Начните учиться вместе с детьми

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

Magic link? Это волшебная ссылка: она открывает лайт-версию материала. Ее можно отправить тому, у кого «Медуза» заблокирована, — и все откроется! Будьте осторожны: «Медуза» в РФ — «нежелательная» организация. Не посылайте наши статьи людям, которым вы не доверяете.