I just want to bulid cool things

If you know me, you’ve probably heard me (on many occassions) say something like, “I just want to build cool things”. I’ve always been a fan of bringing ideas to life. I’m a fan of converting creative thoughts into tangible outputs. I’m a fan of methodically breaking down problems into their constituent pieces and watching the problems dissapear via my creations. And I’ve always enjoyed software as my vehicle of creativity. I LOVE programming languages. I love the process of shaping these languages together and making pixels come to life or hand-carving information to flow in the right way, in the right order, and at the right time to do something magical. For a while now, building software has been my creative outlet of choice. And I’m not technically a software engineer by profession. Oftentimes (almost always), I just build things for myself: things like the oh-my-posh NBA segment or the NBA CmdPal extension (clearly I like basketball) were small problems scoped to my world that I enjoyed solving for myself. It didn’t matter if other people ever enjoyed using these tools because they continue to spark joy and creativity for me. Sometimes you just build things… because it’s awesome. And that’s good enough. I have plenty of fun projects that I’ve never shared with the world – years of exploring different programming languages and use cases… and years of fun doing it.

But these days… maybe just today… I’m feeling a little tired. Building is feeling less fun. Less creative. Less… cool. I’m exhausted of the pace of releases in the industry. I’m tired of feeling like writing code the old fashioned way is a dying art… a waste of time. When I listen to the loudest voices in the room, it feels like if I’m not directing LLMs (read: coding agents) to concurrently solve 100 threads at the same time, I’m wasting my time. And when I see how capable these models continue to be… it makes me feel like maybe the voices are correct. Maybe my contributions are less meaningful. My passion for building is muted by the ‘flibbertigibetting’ and ‘bunning’ spinner. Is it fun to orchestrate parallel agents to accomplish tasks? Sure. Sometimes. But sometimes it feels like it’s stripping the very joy which I hold so deeply for being a creative in the software space. Sometimes, like today, it makes me want to harness my creative energy doing something else.

Days like today make me wonder how computer scientists felt when compiler technology started spreading in the 1950s. Perhaps the art of building with ISA or machine code just felt better at the time for passionate builders. I wonder if they also felt a sense of loss.

Is this just another level of abstraction or the end of something bigger?

When Grace Hopper created the first compiler, her motivations seemed pretty clear:

“It’s much easier for most people to write an English statement than it is to use symbols… So I decided data processors ought to be able to write their programs in English, and the computers would translate them into machine code.”

A whole era of computer scientists no longer needed to worry about writing assembly code. She had just leveled up the language of computers. You just “write [your] programs in English” and watch the machine translate your words into executable programs. But if you’re old enough to remember a time before coding agents and young enough that your introduction to computing was through “modern” programming languages, you’ll remember how foreign it still felt to build software at first. Conditions, loops, functions, recursion, classes, inheritence, types, race conditions, segmentation faults, data structures… it was all a beautiful, foreign unknown world. While the words on the screen may have held properties of the english language… it never really felt just like “[writing] an English statement”. It was something deeper. To me, it was a brand new way of thinking. I learned how to deeply think about the properties of machines: the constraints and confines of the languages I was building with. It took (and still takes) a tremendous amount of effort to map a problem to a composable software solution: chunking out logic, reading documentation about API behaviors, diving deep into the weeds of exactly how the words on the screen are interconnected not only to one another, but ultimately to the hardware on which they are compiled to and run on.

To me, computer science has always actually felt like an art. And, perhaps counterintuitively, the more Grace Hopper’s vision for the future of computing is actualized and the less scientific the process feels… the less the process feels like art. To be completely honest, I think part of it has to do with the idea that programming had felt like an impossibly difficult skill that I would never perfect, but increasingly gave me a way to express myself in unique ways. As english becomes the de facto way to program… perhaps I feel an inability to express myself in a way that feels fundamentally differentiated. If everyone can do it… is it creativity? Is it art? Or is it a commodity? Do I still find ways to express my creativity through code? YES. Do I still want to build with computers? OF COURSE. But these feelings are beginning to impact the joy that came with the craft.

Is AI just the next level of abstraction that brings a new generation of builders to the table? Will we have more creativity in software than before? Or is it fundamentally a shift away from the art (like literally the art) of programming? Did computer scientists shy away from compiled languages to preserve their creativity and joy? Or did they jump in to the new world and unlock a whole new suite of things they could build? Was it cool?

On a brigher note: Continuing to Build with Joy

I’m not saying I’m done building software. That will probably (hopefully) never happen. And I’m not saying I don’t LOVE programming. I don’t think the joy is gone. Maybe now is the time to go even deeper into the weeds than I’ve ever gone! But I do feel for programmers who have loved their craft before coding agents came along. For the people that loved the process of programming. Folks who loved the input just as much as the final output. It’s not an easy time to be a builder like that… but I don’t think it’s time to shy away from the challenges that computers can help solve. There are a lot of problems out there. And if history repeats itself like with the compiler… we will have more builders, building cool things over the next decade than ever before. I don’t think that is a bad thing. And it’s not like I’m opposed to building with LLMs/agents. In fact, I do it all the time. Maybe it’s just a change of gears, and the art isn’t lost. Maybe I can build more things that I want to build that nobody else will build for me.

I think it will be increasingly important to find ways to get humans more involed in the software building process without taking away the best parts of coding with agentic tooling. If that’s the case, I’m looking forward to the next era of developer tooling. I think the best tools that come out will be the ones that don’t just try to automate the entire process away, but empower builders to step in at the right time to inject more creativity, more art, and more joy into the process. So, ultimately, I don’t think the joy of building is gone or the art of programming is dead. I believe we will find ways to embed our ideas more intimately into the software we build over time. As a community, we will build tools that pull the passion out of creators to be shared with the world.

Writing has always been and will always be an art. The printing press didn’t change that. More folks became literate and more folks became writers (some good, some bad, some great). The art was never lost and the creativity has never faded. And I don’t think that this experience will be any different for programmers and software builders. Building software will always be an art. So let’s keep building with joy.