Creativity in Code
2024-11-10
In Response to a Thoughtful Question: How Do You Come Up with Unique Ideas?
Recently, someone asked me an intriguing question: “How do you come up with new, unique ideas? Is it all need-based, or does curiosity play a role?”
Curiosity vs. Necessity: The Balance Behind Great Ideas
Curiosity definitely plays a role in my process, but it’s not enough on its own. If I only followed curiosity, I’d end up writing useless code, just for the sake of creativity or fun—though, I’ll admit, I do that sometimes too. But nothing beats the satisfaction of solving a real problem. The best moments come when I focus on the tasks I dread the most and build tools to never face them again. Take game menus, for example. When I first started coding games, I dreaded creating menus—it was the worst part. But eventually, I learned to create modular, reusable code. Now, instead of seeing it as a chore, it’s a challenge. Once I make a menu good enough, I know I’ll never have to build another one from scratch again. That’s when creativity and necessity meet, and the work becomes truly rewarding.
As a programmer, creator, and an everyday tinkerer, I think the answer is more complex than one or the other. So here’s my take, straight from the trenches of creation.
1. Creating for Myself First
I don't start out with the aim to make things for everyone. I build tools and systems primarily for myself. If other people happen to find value in what I’ve made, that’s great—but I don’t mind being a bit of a selfish programmer. It’s about fulfilling my own curiosity and needs, not necessarily catering to the masses. Besides, sometimes the most personal projects turn out to resonate with others in unexpected ways.
This approach lets me work with freedom, without overthinking whether my ideas are “unique.” Ideas are everywhere; it’s how we execute them that counts. Rather than reinventing the wheel, I dig deep and make sure the work is functional, efficient, and actually enjoyable for me to use.
2. Building from First Principles
I always start from first principles. When you boil things down to their essence, you can build back up with a fresh perspective. It’s a bit like stripping a car down to its parts so you can reassemble it with better knowledge of how everything works. Often, I’ll develop new tools or even tools to make those tools. There’s beauty in going back to basics and figuring out the most effective way to achieve a goal without shortcuts or quick fixes.
3. The Productive Procrastinator’s Paradox
I don’t worry about whether an idea is “unique”—ideas are everywhere; it’s all about the execution.
In some ways, I’m productively procrastinating half the time. There’s something exhilarating about exploring new systems, even if it means I spend a whole day creating a way to track tasks instead of doing the actual tasks. It sounds like a joke, but it’s part of how I create. Just recently, I came up with my own numerical format so I could fit the time into a minimal two-character display (plus the “:” divider for minutes and seconds).
This so-called “productive procrastination” is essential to my process. I get lost in the details, in the pursuit of a seamless execution, and often emerge with something valuable—even if it wasn’t what I originally intended to create. It’s a paradox: I’m most productive when I let my curiosity distract me from immediate goals.
4. Solving Problems Once and For All
I don’t go for quick fixes or slapdash solutions. When I tackle a problem, I want to solve it thoroughly and permanently. To me, there’s little sense in patching up an issue only to have it crop up again down the line. I aim to create something sustainable, something that doesn't need constant revisiting. Whether it's organizing my work, managing a project, or just solving some random annoyance in my workflow, I’m always looking to design solutions that don’t require future tweaking.
5. The Creative Process as a Journey
Creativity isn’t just about making something new—it’s about uncovering new ways to look at what already exists. My approach might seem a bit unconventional, even eccentric, but it’s how I find the ideas and solutions that bring real meaning to my work. So to answer that original question: yes, curiosity and need both drive my ideas. And I’m content knowing that my process—however chaotic it may look—is grounded in a commitment to quality, efficiency, and exploration.
6. The Productive Laziness of Programmers
Programmers are lazy—but it’s the kind of laziness that drives us to optimize relentlessly. We might spend a year building something that only takes a minute because we hate doing the same task twice and believe there’s no limit to improvement. The world around us is flawed, but in our code, we have control. If something’s inefficient, we can reinvent it and make it better. It's about more than automation; it’s about perfecting processes, pushing boundaries, and never settling for “good enough.”
Ultimately, I follow my instincts, build on my interests, and don’t worry if my work resonates with everyone. I focus on creating things I’d want to use, understanding that if I love it, maybe others will too. If I could just focus on creating instead of getting bogged down by day-to-day survival, I reckon I could make some serious advancements.