Skip to main content

The gap was never the code

I got into this industry backwards.

In 2009 the University of Texas ran a program that hired social sciences grads and taught them administrative computing on the job. With Natural and ADABAS, we looked into the past of a giant institution trying not to fall behind, while we looked forward with the tools of the modern web: HTML, CSS, and JavaScript. Coming from the bicycle industry, this was a huge opportunity and I knew it.

So, I didn’t learn to code to become a better designer. I found design because I was already coding. And my favorite tool was CSS, because CSS let me design.

The last ten percent

My path wound from higher education to enterprise tech and into modern product design. Figma became the standard, Agile the rhythm, and I staked a solid position between design and development everywhere I went.

At Files.com, designers were expected to push their own PRs – I loved that. But despite my CSS expertise, I felt a ceiling there too. Modern React tooling, build systems, and the foundations derived from a proper CS education created a natural separation between the engineers and myself. We even invented a role to tackle the problem – “local dev assist” – an engineer on call for the moment I hit a blocking terminal error.

I could design the component and (mostly) build the component, but getting unstuck might cost someone else’s afternoon.

Backlog? What backlog?

My open source projects illustrate the progression best. The Tint & Shade Generator had open issues tagged “help wanted” for ages, the ones just past what I could close alone. One night I pointed Claude Code at the first one. Then the next.

Years of backlog cleared in days. I kept waiting for the part where it got hard again. It mostly didn’t. It was fun.

Migrating the whole site from 11ty to Astro, a job I’d conservatively budgeted a week for, happened uneventfully in the background over a lunch break. When Claude restructured something sub-optimally, I knew. I could knowledgeably revert, modify, and push back the same way I would with a peer engineer (only this one wasn’t juggling other deadlines).

When macOS altered their timer utility in Tahoe 26, rather than adapt my workflow to the new behavior, I built my own. Tock is a macOS menu bar timer built in Swift, a language I’d never worked with, and shipped to the App Store solo in a couple days. Even Apple’s weird submission quirks stopped being a reason not to ship.

Tock running in the macOS menu bar
Tock app, doing its thing.

Designer who codes? Designer who ships.

Remember that whole “should designers code” debate? Seems quaint now.

While I recognize that the design craft, particularly early-stage, does its best work free from the constraints of development, the source of truth is ultimately what’s delivered to users. And that source is opening up quickly for the curious just as much as the technically sophisticated. The tools are unproven and the output uneven, and that ambiguity is the natural place for the next generation of visual creators.

The designers who invested in code weren’t just preparing for the jobs that asked for it, they were preparing for this moment of acceleration. Twenty dollars a month for a coding partner? My employers used to pay for that in thousands of dollars of borrowed engineering time, at a tenth of the speed.

The gap was never the code. It was the cost of discovery – the unfamiliar tooling, the new languages, a random error message cataloged forever in an unanswered Stack Overflow question. And the pull in the other direction: another Figma feature to master, another reason to stay in the silo.

That cost is gone now, so what are we shipping?