Skip to content
LutzTalk
Go back

I Am Not A Software Developer

6 min read

When someone says “software developer,” the picture is usually the same. A person buried in a code editor for ten hours a day, living in syntax, thinking in frameworks, and spending half their life hunting down why something compiled yesterday but doesn’t compile today. The deepest relationship in that job description is with a programming language.

For a long time, that picture was accurate. Back in 2016, the application was the center of the universe. Teams built their own auth, managed their own databases, and implemented most of the business logic inside a single codebase. If something broke, there was a good chance it was a line of code written by someone on the team. Being a developer meant understanding the internals deeply enough to build, debug, and ship reliably.

That job still exists. It just isn’t the whole story anymore, and it definitely isn’t how most modern systems actually get built. (I can hear the pitchforks coming out already. Stay with me)

The Shift From Writing To Assembling

Software development has drifted from the keyboard to the dry erase board. Modern systems are less about writing everything from scratch and more about composing platforms that already exist.

Identity isn’t just something you model in a database and wrap with a few endpoints. It’s an external service with its own policies, lifecycle, and failure scenarios. Messaging, payments, analytics, media, AI, and automation aren’t features you “build”. These are table stakes for modern apps.

This is why a lot of projects in 2026 don’t start in a code editor. They start with tool selection, boundary definition, and the uncomfortable questions that show up before implementation even begins. Where does the source of truth live. Which system owns identity? What happens when two services disagree? How does a failure propagate through the chain? If a vendor changes behavior, how quickly does it get detected, and how painful is the rollback?

Once those decisions are made, the code becomes the connective tissue. It matters, but it’s no longer the main event.

My Path: The Evolution Of A Builder

My perspective didn’t come from a computer science degree or a traditional “developer” path. It came from moving through environments where failure is immediate and obvious.

It started in A/V, where reality is physical and the constraints are non-negotiable. Signals are either clean or they aren’t. Sync is either right or it isn’t. Latency isn’t an abstract metric, it’s a broken experience that people can feel in their gut. That experience hard-wires an instinct for how systems behave under pressure, because there’s no pretending things are fine when a room can’t communicate.

From there, the work moved into networking, which is basically learning the plumbing that everything else relies on. Once you’ve spent enough time in networks, it becomes hard to look at any software system without thinking about what’s actually happening under the hood. Where traffic flows, where bottlenecks form, what trust assumptions are being made, and how a “simple” request can cross five domains before it hits the destination.

Then came collaboration, voice, and video, which is the intersection of all of it. That world forces a different standard because users don’t tolerate ambiguity. When media paths degrade, people feel it instantly and LOUDLY. That kind of work makes it impossible to treat systems as theoretical because you can watch the failure propagate in real time.

Eventually, software showed up in the middle of all that, but it wasn’t a clean transition into “now writing apps all day.” It was more like getting pulled into the layer that sits between systems, "Can you take a look at this with me?", knowing I had no idea what I was looking at. The work demanded scripts and automation, because manual operations collapse the moment you have real volume. APIs became the only way to actually interrogate what a platform was doing, and basic programming became the tool to build control surfaces that didn’t exist yet.

Enough Python and Ruby to get real work done. Enough database fundamentals to test a REST request to store and retrieve data. Enough security instincts to know when something is being held together with hope and best intentions.

That’s where the builder identity comes from. It’s not a rejection of software, it’s a reflection of the path that led here.

Why “Builder” Fits Better Than A Job Title

This is where the job title start getting messy.

“Architect” sounds too removed from implementation. “Ops” doesn’t capture the design work. “Developer” implies the center of gravity is code, when a lot of the hardest problems are upstream of code and downstream of code at the same time. I Am Not A Software Developer.

Builder sits in the middle of that mess. Builder work usually starts with something vague and operationally painful, and it turns into something real that runs. Not a slide deck. A system that has to survive real inputs, real change, and real failure behavior.

People in this role sometimes call themselves “fake coders,” and I get why that happens. It’s not a lack of respect for the craft. It’s usually an admission that the leverage isn’t in knowing every corner of a language. The leverage is in system sense, and in being able to see how a bridge between two platforms is going to collapse long before it collapses.

What The Best Developers Are Doing With AI Right Now

This is the part that’s been interesting to watch in real conversations with some of the smartest software developers out there. The best ones aren’t treating AI like a shortcut. They’re treating it like a way to change what deserves human attention. Daily threads of AI, tech stack decision making, and general opinions on what works and what doesn't.

They’ll let AI handle scaffolding and repetitive tasks because it clears the path to spend more time on the parts that actually hurt later. Security posture, architectural boundaries, performance constraints, etc.

Regression testing hell and the myriad of "I tested this locally"

That’s the difference between “using AI to write code” and using AI to build systems. The value isn’t that code appears faster. The value is that the human stays focused on judgment.

That’s also why prompting doesn’t feel like a party trick. It behaves like every other interface. If the system design is weak, no prompt is going to save it. If the problem is structured well and the constraints are real, the tool becomes an accelerator instead of a liability.

At The End Of The Day...

Saying “I Am Not A Software Developer” isn’t a rejection of the craft. It’s an acknowledgement of someones abilities to use all tools available.

Modern work is increasingly about orchestration. It’s about knowing how platforms behave, how they fail, how they change, and how to compose them into something dependable. Syntax still matters, and it always will, but it’s not the main character of the story anymore.


Share this post on:

Previous Post
5G, Home Internet, and Why Networks Are Cool
Next Post
Under the Hood: Building IsItSnowingThere.com