DEV Community

Dustin Washington
Dustin Washington

Posted on

Reframing Software Development as a Spiritual Exercise

Have you ever stared at a gemstone? The dazzling array of light, the decomposed spectrum, and the shining inner universe seemingly implied within the crystal lattice—how can something so simple, even rigid and mathematical, be so compelling? I feel we often view structure and beauty, the mechanical and the philosophical, as separate arenas of the world when, almost invariably, they are deeply and inextricably interwoven. It is surprising to me that many of us see software as raw mechanicism when so much of what a successful product is is wrapped up in how people feel about its outcomes. The goals of the system and that of the organization, if any, behind it are secondary to this feeling. I think we have gotten so used to the idea of "Software as a Service" that we have dissociated "service" from the deeply, often spiritual bent towards the baseline moral necessity of providing for others, and relegated it merely to "that which could hypothetically make money on the internet," which is a dramatic conceptual demotion.

Software: Philosophically Speaking

The art of abstracting the motive forces of our world down into increasingly manipulable units is one of the purest forms of truth-seeking that can exist, and thus an inherently philosophical and spiritual action. Every bias about how we feel the world is ordered comes into play in how we choose to systematize it. This influence is present at every level, from high-level notions of how people can be grouped and categorized, to engaging with various interpretations of statistics, to how systems can literally be structured and how abstract shapes can exist, to choosing what bears the necessity of being communicated at all.

Divorcing the craft from the philosophies we force into the silicon breeds technologists who don't have the ability to think productively about the real problems that exist in the world, both big and small. You must frequently ask yourself, "But does this actually help them?" for whoever your "them" is—and make no mistake, you always need a "them."

Software: As Digital Prayer

In a very real sense, programs are systematic prayers. There are potentially billions of operations, all highly contingent, between the editor and the outcome. Many of our cultures have a variant of "God spoke the world into existence," and I view the digital era we live in as another link in the long chain of attempts at understanding creation and emulating the creator. For my personal spiritual bent, the book of Genesis might as well be describing God's IDE.

And yet, software still fails ourselves, our communities, and our societies—frequently and trivially—not in the outcome of its particular logic but in the enabling of tangible outcomes for people. You can attempt to make whatever SaaS at whatever scale you want, but you'll go further and live better if you stay clear-eyed and human-centered in everything you create. Software has only ever been about empathy with its target users; it has only ever been for human connection and human empowerment. To misunderstand this is to misunderstand humanity's striving.

Software: Toward Worthy Goals

We can't even tell ourselves why we build much of what we build, so why would our truer, unspoken prayers get answered? In a world where we can increasingly melt data centers full of GPUs to auto-generate code, I want you to understand that generating non-functional software moves from merely being annoying to your end users and bad for business, to being personally dishonorable for everyone involved.

Science, engineering, math, and design paradigms, principles, and patterns are all paintbrushes that we use to color in an image, with the world as the canvas. They enable a certain kind of art when used appropriately and definitely when used at scale. We have the power to create and refine tools that facilitate the further empowerment of our brothers and sisters. Where is the pride, the sense of responsibility, and the excitement that should come with that? Framing our goals better allows us to be better, to do better, and to make better. You should absolutely be ashamed of yourself if your soul only produces slop when given the power of near-infinite expressivity.

Software: As A Blessing

Thinking about what you can build such that it will be a blessing to another person will enable you to build better tools and worthier products. In the modern AI/LLM-enabled era, the code itself will ever more become a secondary concern, the way machine code is to compiled and interpreted languages. The intracacies of a language's abstract syntax tree is no longer the main event. The new meta is, has always been, and will always be imagination, dedication, and being of service to others.

There is purpose in everything we do, if we so choose. I would love to hear your ideas on services that enhance the world we live in and encourage you to go for it

Top comments (0)