Программирование для удовольствия: почему стоит писать код просто так
Recreational Programming

Кристофер Фири в своей презентации «Recreational Programming» исследует программирование ради самого процесса, а не ради денег или карьеры. Он выделяет пять стилей — от Live Explorer до Language Explorer — и показывает, как внутренняя мотивация предотвращает выгорание и ведёт к неожиданным открытиям. В качестве примеров приводятся Zikani Nyirenda, Tsoding Daily, ThePrimeagen, Casey Muratori, Ben Eater и Dan Luu. Главный совет: занимайтесь тем, что приносит радость, и бросайте, если становится скучно.
Вы, ребята, получаете деньги?
- mrandish
Определение идеально описывает то, как я начинал с компьютерами в 1981 году. Принёс домой из Radio Shack 4K, 8-битный компьютер, который едва мог себе позволить, и подключил его к телевизору. Раньше вообще не касался компьютера, никаких предварительных знаний, и была только инструкция в коробке (которая, что удивительно, оказалась очень хорошей). Никто из моих знакомых не имел компьютера дома и не пользовался им на работе, и я всерьёз не задумывался, что на компьютерах можно зарабатывать. Я просто думал, что игры кажутся забавными, а идея изучать программирование — крутой. Как оказалось, набирать длинные листинги из чёрно-белых любительских журналов, а потом находить все опечатки — отличный способ учиться.
Самостоятельно выучить ассемблер было сложнее, потому что у меня не было документации. Я был настолько бестолковым, что реально нашёл Motorola в телефонной книге и позвонил, чтобы спросить, где можно достать руководство. Продавец, ответивший на звонок, видимо, сжалился надо мной и бесплатно выслал руководство по процессору. У меня до сих пор хранится та фиолетовая справочная карточка, и я помню распространённые опкоды наизусть (https://colorcomputerarchive.com/repo/Documents/Datasheets/M...)
Впервые я заработал примерно через 18 месяцев, когда написал довольно удобную программу для работы с дисками. Просидел всю пятницу до ночи, заканчивая её. Скопировал на дискеты, которые продавал по $5 в местной группе пользователей в субботу утром. Заработал $140 и получил своих первых 28 клиентов. Этого хватило, чтобы я подсел на создание и продажу софта. ~40 лет, три стартапа, более десятка продуктов, сотни хороших людей в штате, пара ми […]
- 1dontknow_
Это слайд-шоу или что вообще? Я имею в виду, явно не статья, но и для слайд-шоу я бы ожидал больше картинок, большей удобности для беглого просмотра и понимания, где перед, где зад и на какой я странице.
Извините, я правда хотел прочитать то, что вы написали, но, пожалуйста, придайте этому нормальную форму, потому что сейчас это неудобно.
- smnplk
Респект Tsoding [1]. Он мой любимый программист для удовольствия.
- passive
Мне не понравилось, как здесь реализована прокрутка, навигация ощущалась ограниченной. Может, предполагалось, что я должен использовать клавиатуру для навигации? Это не кажется особенно очевидным.
- severak_cz
Я определённо узнаю себя. Я в основном решатель проблем, но каждая проблема — это ещё и место для исследования новых идей и/или разработки какой-нибудь внутренней библиотеки, которая потом переиспользуется снова и снова. Ещё я легко отвлекаюсь и ухожу в какой-нибудь побочный квест в духе СДВГ, а в итоге получаю инструмент для шрифтов, который умеет ещё и карты рендерить.
- prophesi
Программирование для удовольствия когда-то было одним из критериев найма разработчика ПО. Если у тебя есть внутренняя мотивация писать код, это часто ценилось выше твоих дипломов. Именно поэтому джуны выкладывали сайты, демонстрирующие их резюме из случайных проектов, сделанных вне учёбы, чтобы получить преимущество перед конкурентами. Некоторые компании даже поощряли выделять рабочее время на сайд-проекты, чтобы предотвратить выгорание.
В то же время некоторые работники индустрии были недовольны тем, что от тебя ожидают удовольствия от программирования в свободное время, чтобы не отставать. Хотя некоторые действительно просто хотели этим заниматься, потому что были в этом хороши, и предпочли бы после работы выключать мозг разработчика и заниматься другими вещами, которые им нравятся в жизни.
С появлением высокопроизводительных LLM для программирования, однако, кажется, важнее показать, как ты можешь использовать ИИ для своих проектов для удовольствия, чем сами проекты. Для джунов это немного замкнутый круг.
Я всё ещё считаю, что это хороший критерий для входа в программирование, если тебе нравится заниматься этим для удовольствия, но это лишь несколько моих мыслей о том, как это может быть проблематично.
- gauntr
Понимаю это чувство. Я пришёл в программирование из-за видеоигр. В какой-то момент я захотел узнать, как их делают, и создать что-то своё. Через друга я узнал о BlitzBasic3D и вскоре после этого о BlitzMax. Я учился программировать, делая игры, просто для себя, большинство вещей так и не было выпущено. Я проводил часы глубоко за полночь и любил это. Прошло уже довольно много лет с тех пор, как я чувствовал себя так и имел энергию и мотивацию продолжать без колебаний.
Я изучал информатику и стал оплачиваемым инженером-программистом, весь опыт с BlitzMax заложил для меня хорошую основу (RIP Mark Sibly и спасибо за твою работу), и хотя мне нравится то, чем я занимаюсь, я не люблю это так, как любил тогда программирование игр. В наши дни я обычно ищу возможности создать что-то, что оплачивает мои счета или в конечном итоге освобождает меня от необходимости быть наёмным работником, но часто я не заставляю себя работать над этим, потому что это работа после моей оплачиваемой работы, без знания, окупится ли это, и тогда появляется мысль «Стоит ли это моего времени?», хотя сам проект может быть даже действительно интересным для реализации.
Время от времени я возвращался к программированию игр, и каждый раз я чувствовал, как это маленькое пламя снова загорается. Прошло уже немало времени, и у меня даже есть 2 идеи, которые я хотел бы увидеть реализованными. После прочтения этого я осознаю, как сильно я сейчас жажду такого программирования. Наверное, стоит потратить на это немного времени :)
- sergent_moon
Не пытаюсь быть мудаком, но как только я вижу два утверждения с «не», я обычно прекращаю читать.