I'm a self-taught software engineer, and I got into the field by spending nights and weekends experimenting with code. I loved learning unfamiliar technologies, struggling through difficult problems, and eventually turning that effort into something original. Even after work, I usually had a side project going.
AI has changed that experience for me. Code is much cheaper to produce now, and almost anyone with a subscription can generate a working prototype. The result may be rough, but it still feels like I'm competing for attention with far more projects than before. The barrier to entry was part of what made programming feel special.
Even learning has lost some of its appeal. I can still study things the slow way, but it's difficult to justify spending hours fighting through a problem when I can ask an AI to explain it immediately. I still enjoy software engineering professionally and don't plan to leave the field, but I feel burned out on one of my main hobbies without actually losing interest in programming itself.
Maybe I'm being overly attached to the idea that programming should be difficult or exclusive. Has anyone else experienced this, and how have you kept tinkering enjoyable?
4 Answers
The easy part is producing code; the difficult part is still deciding what should be built, designing the architecture, understanding trade-offs, testing it, and maintaining it. A quick prototype made by someone who doesn’t understand the system is very different from reliable software. Experienced developers still have an advantage in judgment, taste, security, and knowing when generated code is wrong.
Try separating personal projects from competition entirely. If you built something to learn or satisfy your curiosity, its value doesn’t depend on how many people use it or whether someone else could build a prototype faster. AI can be part of the process, but you can still challenge its suggestions, understand the output, and build things because you want to.
That’s what helped me too. Other people using or enjoying a project is a bonus, not the reason I made it. The satisfaction can come from the creative process itself.
Another option is to change the scale or direction of your tinkering. Use AI to get past routine setup and explore harder problems: low-level programming, agents and tooling, hardware, electronics, unusual interfaces, or projects you previously considered too large. The implementation barrier has dropped, but the craft and problem-solving barrier hasn’t. You may need to find a deeper rabbit hole instead of trying to recreate the old one.
For side projects, deliberately remove AI from the workflow. Close the chat window, disable autocomplete, and use documentation and your own notes instead. Treat it like working with hand tools: slower, but the friction is the point. After a couple of weeks, the urge to outsource every problem starts to fade, and the debugging loop becomes enjoyable again.

I’ve found it useful to use AI for boilerplate or as a design sounding board, while keeping ownership of the architecture and decisions. It becomes an accelerator rather than a replacement for understanding.