Написание игрушечного ПО — это радость ( jsbarretto.com )
Одна вещь, которую я усвоил при создании игрушек для программного обеспечения или даже просто небольшого личного программного обеспечения (вещей, которая действительно полезна), заключается в том, что следует избегать внедрения гибких конфигурационных движков. Я попадал в эту ловушку, когда думал, что должен сделать свое программное обеспечение ориентированным на конфигурацию, чтобы его могли использовать другие, если я решу сделать свой код FOSS. Проблема в том, что создание конфигурационного движка намного менее эффективно, чем просто написание кода для выполнения этой чертовой задачи . Я почти никогда не делился кодом за пределами небольших библиотек с очень низкой сложностью, и я тратил много времени на написание кода для других гипотетических людей, когда мне следовало бы писать его просто для себя.

Одно из лучших дел, которые я сделал для себя в плане карьеры, произошло во время 6-месячного отпуска между работами. У меня было несколько проектов, которые я хотел сделать, но я постоянно обнаруживал, что меня сковывает расширение масштабов — когда у вас нет никаких ограничений, сложно решить, насколько большим должен быть проект, и проекты вырастали до этих огромных, не поддающихся завершению чудовищ.
Я решил ограничить себя одной неделей на проект — все, что я мог сделать за неделю, я делал для этого проекта. Опыт перехода от нуля к чему-то полезному на новом языке, новом фреймворке или в новой области за неделю был чрезвычайно укрепляющим уверенность — осознание того, что я на самом деле довольно хорош во всем этом программировании, и прорывание кучи стен, с которыми я сталкивался ранее в своей профессиональной карьере, дало мне невероятное количество доверия к себе, чтобы иметь возможность принимать новые вызовы, которые действительно помогли мне, когда я искал новую работу. В то же время это напомнило мне, что я любил в программировании — за неделю я смог создать что-то, что решило проблему, которая была у меня или у кого-то из моих знакомых, и я смог сделать это творческим и интеллектуально сложным способом.
Если когда-нибудь у вас появится возможность взять пару месяцев отпуска между работами, пропустить курс leetcoding или что-то еще и просто заняться созданием каких-нибудь игрушечных проектов, вы удивитесь, как много вы уже знаете.
Разработка игрушечного программного обеспечения во многом похожа на работу над вашим велосипедом/машиной/лодкой/чем угодно.
Работать над велосипедом весело. Работать над велосипедом, на котором завтра нужно ехать на работу, — это стресс.
Я скучаю по написанию игрушечного ПО. Это весело. Но неизбежно я хочу использовать это ПО, и вот тут-то и начинаются проблемы. Вы находите все ошибки, но нет времени их исправить.
Недавно я написал собственное приложение для выставления счетов. Я был окутан радостью добавления нужных мне функций. Многие из этих функций предоставляются за дополнительную ежемесячную плату за известный продукт.
Мне нужно было своевременно выставить счет. Как бы мне ни хотелось использовать свое приложение, я обнаружил определенные странности, которые мне нужно было решить (со стилем, добавлением адресов и т. д.) — Вот тут-то я и понял, о чем вы говорите.
В какой-то момент становится лучше расставить приоритеты между «удовольствием» от работы над велосипедом и «полезностью» ежедневного вождения.
При этом, возможно, со временем интересность/полезность каждого из них сравняется.
У меня также больше интересов, связанных с “рабочим ПО”, чем времени и энергии. Во многих из них есть тонна обыденных скучных деталей, которые я уже делал тысячу раз. На самом деле я немного взволнован тем, что могу работать над тем, над чем хочу работать.
С учетом сказанного, это вызов и рутина сама по себе — курировать то, что пишет «ИИ». Так что не все так гладко.
Отказ от ответственности: Я пока еще на ранней стадии экспериментов. Посмотрим, придерживаюсь ли я этих взглядов через несколько месяцев.
Это довольно впечатляющий список, и многие вещи, которые автор считает низкими по сложности, были бы довольно высокими для меня. Это определенно вдохновляет, заставляет меня хотеть сдуть пыль с собственной игрушки.
Тем не менее, я считаю, что заключение об обучении с LLM заслуживает большего количества нюансов. Это действительно зависит от того, как вы их используете.
Это ужасная подсказка для обучения:
> Реализуйте это решение для меня
Это УДИВИТЕЛЬНАЯ подсказка для обучения:
> Пожалуйста, дайте мне обзор ELF. Сосредоточьтесь на абстракциях самого высокого уровня, больше на «почему», чем на «как»
Конечно, можно утверждать, что это что-то отнимает, поскольку вам не нужно проводить исследование самостоятельно, когда бы ни возник вопрос. Однако, если вы занимаетесь честной интеллектуальной работой (т. е. действительно думаете), то наличие учителя-сократа, всегда готового обсудить ваши вопросы, является существенным ускорителем процесса обучения.
Дубликат: https://news.ycombinator.com/item?id=44284291 (117 баллов | 8 дней назад | 28 комментариев)
Похоже, ссылка изменилась и поэтому не была обнаружена детектором дубликатов.
> В 2025 году красота и мастерство написания программного обеспечения разрушаются. ИИ грозит заменить нас (или, по крайней мере, самые радостные аспекты нашего мастерства), а разработка программного обеспечения все больше становится товаром, измеряется, упаковывается и индустриализируется. Разработка программного обеспечения требует больше простых радостей, и я обнаружил, что создание игрушечных программ — отличный способ вспомнить, почему я снова начал работать с компьютерами.
Грустно, но правда. Особенно мне нравится комментарий о потере самой «радостной» части.
Я получаю больше радости, чем когда-либо, работая над игрушечным программным обеспечением, используя LLM. Моя радость исходит от создания вещей, обдумывания архитектуры, компонентов, креативных решений, которые создают что-то новое и захватывающее. Ручной набор строк кода — это НЕ то, что приносит мне радость лично, это средство для достижения цели. Танцы с агентскими LLM доставляют мне огромное удовольствие. Однако я могу понять, что если часть кода — это то, что приносит вам радость, то мы, вероятно, движемся не в том направлении, которое вам нравится. Для тех из нас, кто любит строить, в первую очередь, это рай.

Игра GameBoy Advance (сложность = 3/10, время = 2 недели) Ух ты!
Физический движок (сложность = 5/10, время = 1 неделя) Что??
Поточная виртуальная машина (сложность = 6/10, время = 1 неделя) I—
Оболочка POSIX (сложность = 4/10, время = 3-5 дней) Ладно… Я не верю этому человеку.
Но независимо от предполагаемых сроков, я ценю эту идею!
Я собирался сделать похожий комментарий. Этот список хорош, но время везде разное. Если бы они убрали эти оценки, список был бы намного лучше. Если хэш-карта занимает у кого-то 3-5 дней, они не делают потоковую виртуальную машину за 7 дней.

Ха, эти “игрушки” весьма амбициозны. Вот мои радостные игрушки: https://akkartik.itch.io/carousel/devlog
Source: news.ycombinator.com