В программирование все приходят по-разному. Кто-то увлекся им в школьные годы на первых уроках информатики, кто-то начал писать «лабораторки» в университете, ну а кто-то начал учиться с целью поменять профессию. Тем не менее, большинство «джунов» сходится во мнении, что начинать очень сложно, и с типичными проблемами новичков сталкивается почти каждый. Предлагаем вашему вниманию адаптацию статьи журналиста Роджера Коллье (Roger Collier) о том, как он учился программировать ради преодоления сложностей. Он оценивает свой уровень как любительский.
Если сформулировать его мысль одной строкой: программирование стоит учить именно потому, что это трудно. Сама борьба с кодом дает больше, чем результат, ради которого ее затевали.
Время позднее, далеко за полночь. Жена и дети давно спят, а вот в мои планы сон пока не входит. Все-таки я ее допишу... Я в миллионный раз отладил код и запустил его на исполнение.
Хмм... Выглядит многообещающе. Если я нажму воот сюда, программа должна вызвать функцию «вычислить следующий шаг». Так… И если нажать сюда, функция должна вызвать саму себя. Отлично. Теперь, если я нажму сюда, я должен получить... эээ… явно не это. Эх... Еще больше отладок, больше багов, а время утекает в трубу вместе с энергией… Знакомая картинка?
… Я думаю, изучать программирование это сложно. И именно поэтому мне так нравится это делать.
На самом деле мое программерское хобби еще не принесло сколь угодно весомый результат. Я сделал одно простое приложение, прошел front-end челленджи и проекты на своих курсах. Но ведь это только начало! Для меня смысл программирования заключается не в том, чтобы создавать нечто новое и неординарное, а в том, чтобы вовлечь себя в процесс создания, бросить вызов самому себе, попробовать что-то сложное хотя бы ради того, чтобы довести это до конца.
Кратко
- Автор статьи, канадский журналист, начал учить программирование как хобби и специально выбрал занятие, которое дается тяжело.
- Повод был простой: слишком много свободного времени уходило на потребление, сериалы, соцсети, спорт по телевизору, и почти ничего на созидание.
- Идею он взял из общественной кампании «Усложни себе день»: мелкие неудобства в распорядке, лестница вместо лифта или остановка пешком, приносят больше пользы, чем удобный вариант.
- Ту же логику автор переносит на учебу: сам процесс борьбы с кодом уже награда, независимо от того, выйдет из этого приложение и доход или нет.
- Джон Кеннеди в речи 1962 года объяснял выбор лунной программы тем же аргументом: не потому, что это легко, а потому, что это трудно.
- Вывод: серьезный повод, чтобы начать программировать, не обязателен. А если путь оказался тяжелым, это как раз признак того, что он правильный.
Как программирование стало моим хобби
Я начал учиться программировать на JavaScript четыре месяца назад, с руководства по фронтенду. Так программирование стало моим хобби. За последние несколько лет я разочаровался в соотношении «созидание/потребление» в своей жизни. Слишком много моего свободного времени занимало потребление. Netflix, подкасты, Twitter, журналы, телевизионный спорт, Facebook, блоги, Medium, газеты, романы, этот список можно продолжать и продолжать. В этих занятиях нет ничего плохого: они интересны, познавательны и в чем-то полезны, но, по сути, направлены исключительно на потребление. Даже чтение замечательной книги это процесс потребления. Разумеется, я не только потреблял. В рамках моей журналистской деятельности я писал. Творил, так сказать. Тем не менее, постепенно мне надоело, и я старался сделать работу хорошо только если это существенно отражалось на моих гонорарах. Несмотря на семью, работу, другие занятия и увлечения, у меня все равно оставалась масса свободного времени. И большую его часть я тратил на просмотр видео. В какой-то момент я почувствовал себя свиньей.Чем сложнее, тем лучше
В моем родном Онтарио, что в Канаде, существует проект, цель которого улучшить физическое состояние людей. Он носит имя Make Your Day Harder (Усложни себе день). Ролик самой кампании, снятый ее автором, врачом Майком Эвансом, вы увидите чуть ниже. Главная идея проекта очень проста: вам необходимо добавить несложные упражнения в свой распорядок дня. Это увеличит уровень физической активности и улучшит здоровье. Все очень просто.- Ходите по ступенькам, не пользуйтесь лифтом.
- Выходите на одну остановку раньше, чем вам нужно, и пройдитесь пешком.
- На служебной парковке паркуйтесь как можно дальше от входа в офис.
Конечно, сидение перед компьютером, когда вы пишете код, не улучшит ваше физическое состояние. Программирование это здорово, но не для мышц. Тем не менее, можно рассматривать ваше обучение Java как зарядку для мозгов. В любом случае это полезнее, чем просматривать инстаграммчик знаменитостей, потягивая пиво с чипсами.
После того, как я начал программировать, у меня все равно хватает времени для досуга. Например, за последний месяц я потратил десятки часов, наблюдая за тем, как посторонние мне люди кидают мяч в металлическое кольцо. Другими словами, я смотрел плей-оффы НБА (NBA). А так как я фанат клуба Toronto Raptors, это занятие можно приравнять еще и к самоистязанию.
Принес ли мне регулярный просмотр баскетбола пользу? Я стал пить больше пива и есть больше вредной еды, наподобие чипсов или куриных крылышек. Кроме того, я всегда ложусь значительно позднее, поскольку смотрю игры, проходящие на западном побережье. Так что здоровый сон это не про меня. И хотя это занятие мне действительно нравится, по сути, оно наносит мне вред. Это неплохое развлечение, но ничего более. Если не учитывать, конечно, лишний вес от калорийных закусок и пива, или сонливость в середине следующего дня. Но ведь это же просто и приятно! Завалитесь на диван, откройте бутылочку холодного пива, вытяните ноги и просидите так 3 часа на одном месте.
Легкий путь заманчив. Сложный же несет куда больше пользы.
Тяжело в учении, легко в бою
Я очередной раз задумался о ценности преодоления трудностей при просмотре фильма «Скрытые фигуры» (Hidden Figures, 2016). В фильме была выдержка из речи Джона Ф. Кеннеди «Мы решили покорить Луну». США не отложили космические полеты, хотя эта задача оказалась сложной. Наоборот, как заявил президент, они продолжили развивать космическую программу именно потому, что это было сложно. «Да, мы решили покорить Луну, причем именно в этом десятилетии. Это цель не из легких, но тем лучше: такое испытание позволит нам выложиться по максимуму, показать, на что мы способны, реализовать всю нашу мощь. Это вызов, который мы готовы принять здесь и сейчас. И мы рассчитываем только на победу!». Джон Ф. Кеннеди, выступление в Университете Райса в Хьюстоне, 12 сентября 1962 года (архив Библиотеки Кеннеди). В оригинале ключевая фраза звучит так: «We choose to go to the Moon in this decade and do the other things, not because they are easy, but because they are hard», то есть Луну выбрали не потому, что это легко, а именно потому, что это трудно.
Слова «тяжело», «трудно» и «сложно» чаще всего используются для описания чего-то плохого. Во многих случаях это действительно так и есть. Тяжело видеть, как страдают или болеют любимые люди, тяжко, когда умирает домашний любимец, сложно пережить разрыв отношений. Некоторые ситуации приносят лишь боль, и из них невозможно вынести что-то позитивное.
Если же так сложится, что во время работы вы создадите что-то удивительное, и пользователи выстроятся за вашим приложением в очередь с открытыми кошельками, это здорово. Если же нет, программируйте дальше. Если вы мастер написания кода и стали YouTube-гуру с большим, чем у New York Times, количеством подписчиков (а их там больше пяти миллионов), это замечательно. Если нет, продолжайте кодить.
![Рисунок: руки держат бумажный пакет с надписью EDUCATION и биркой FREE, от пакета тянется распустившаяся веревочка]()
| Изучение чего-то трудного, однако, полезно всегда само по себе. Уже сам процесс обучения можно рассматривать как награду или пользу. Тщетную борьбу с кодом можно рассматривать как лекарство для разума. |