There's a new kind of builder emerging in tech. They're not quite designers. They're not quite developers. They're something else entirely.
Design engineers.
I've been studying the work of people like Josh Puckett, Raphael Salaja, Flo Guo, and others who are defining what this role looks like. What I found changed how I think about building software.
The Problem Design Engineering Solves
Every product team knows this pain: designers create beautiful mockups. Developers build them. Somewhere in the translation, the magic disappears.
That pixel-perfect animation becomes choppy. That delightful hover state becomes generic. That considered spacing becomes "close enough." Handoffs kill craft.
Design engineering eliminates the handoff.
Code and pixels become one malleable material. There's no translation layer because the same person speaks both languages fluently. Flo Guo puts it simply: "Marrying design and implementation internalizes the translation layer, rather than externalizing it into handoffs."
What Design Engineers Actually Do
They ship production-ready interfaces. Not mockups. Not prototypes that get rebuilt. Real code that goes to real users.
But here's what makes them different from frontend developers: they think like designers. Every pixel is intentional. Every transition has a reason. Every interaction serves a purpose.
Josh Puckett taught me something that stuck: "Reduce until it's clear, refine until it's right."
That's the design engineer's loop. Build something. Strip away everything unnecessary. Polish what remains until it feels inevitable.
The Skills That Matter
Visual Thinking
Design engineers see hierarchy. They understand why a 16px gap feels different from a 24px gap. They know when a shadow is too heavy or a border is fighting for attention.
This isn't about making things "pretty." It's about making things clear. Typography, spacing, and color communicate before words do. Get them wrong and users feel friction they can't articulate.
Interaction Feel
Static mockups can't capture how something feels. That's why design engineers prototype in code early.
The User Interface Wiki by Raphael Salaja dives deep into this. A 150ms animation feels different than 200ms. An ease-out curve on entrance feels welcoming. Linear motion feels robotic. These details matter.
Motion isn't decoration. It's communication. It confirms actions happened. It guides attention to what changed. It creates continuity between states.
Systems Thinking
Individual screens don't matter. Systems do.
Design engineers build components that work everywhere, not one-off solutions for single pages. They create design tokens and patterns that scale. They think about the next hundred screens while building the first one.
Accessibility as Default
This isn't optional anymore. Tools like Rams.ai by Eli Rousso exist specifically to catch accessibility issues in code. Missing focus states. Contrast failures. Keyboard traps. Screen reader confusion.
Good accessibility is invisible. Bad accessibility excludes people. Design engineers treat it as a quality bar, not a checkbox.
The AI Acceleration
Something interesting happened with AI coding tools. They made design engineering more powerful and more necessary at the same time.
More powerful because you can iterate faster. Generate variations. Prototype ideas in minutes instead of hours. The grunt work disappears.
More necessary because AI doesn't have taste. It can write functional code. It struggles with intentional code. It doesn't know why an 8px spacing scale matters or when to break the pattern for emphasis.
Ibelick built UI Skills specifically for this. Opinionated constraints that guide AI agents when building interfaces. Rules like "never animate layout properties" and "must use accessible component primitives." The system keeps AI assistants from making the mistakes that erode quality.
This is where design engineers shine. They can leverage AI for speed while providing the judgment AI lacks. They know what good looks like. They can prompt, iterate, refine, and ultimately decide when something is done.
The Craft Mindset
What separates design engineers from good frontend developers isn't skill. It's mindset.
Developers ask: does it work?
Design engineers ask: does it work beautifully?
That distinction changes everything. It means testing on a real device, not just the browser. It means caring about the loading state and the error state and the empty state. It means sweating details that most users won't consciously notice but will definitely feel.
Interface Craft by Josh Puckett captures this perfectly. It's "a working library for those committed to designing with uncommon care." The word "care" is doing a lot of work in that sentence.
Who Should Consider This Path
Design engineering isn't for everyone. It requires genuine interest in both domains. Faking it doesn't work because the quality shows.
If you're a designer who gets frustrated that your designs don't ship as intended, who finds yourself opening devtools to tweak CSS, who wants more control over the final product... this might be your path.
If you're a developer who notices when spacing is off, who has opinions about typography, who builds side projects that look surprisingly polished... you might already be doing this.
If you're just starting out, the advice I keep hearing: get good at one domain first. Go deep on code or deep on design. Then expand. The hybrid works because both halves are strong.
What I'm Taking Forward
Studying these resources changed my practice. A few things that stuck:
Prototype in code fast. Static designs lie. The browser tells the truth. Build early to learn what works.
Reduce before refining. Most interfaces have too much. Remove elements until removing more would hurt clarity. Only then polish what remains.
Constraints enable creativity. Using Tailwind defaults, following component patterns, staying within the design system. These aren't limitations. They're foundations that let you focus on what actually matters.
Accessibility is craft. It's not extra work. It's the work. Building inclusive interfaces from the start means less rework and better quality.
Feel matters more than appearance. An interface can look perfect in screenshots and feel wrong in use. Test interactions, not just visuals.
The Emerging Discipline
Design engineering is still being defined. The job title barely existed five years ago. Now companies like Vercel, Linear, and Notion actively recruit for it.
The practitioners are documenting as they go. Flo Guo's living document on design engineering. Raphael Salaja's wiki on interface interactions. Josh Puckett's course on craft. These are the textbooks being written in real time.
What they share: a belief that interfaces can be better. That the gap between design and implementation creates unnecessary loss. That craft matters.
I think they're right.
Resources That Shaped This Thinking
These are the five resources that got me thinking about design engineering:
- Interface Craft by Josh Puckett
- User Interface Wiki by Raphael Salaja
- Design Engineering Notes by Flo Guo
- UI Skills by Ibelick
- Rams.ai by Eli Rousso
Each approaches the craft differently. Together they paint a picture of what's possible when someone owns the full surface from concept to production.
The future of building software isn't designers and developers working in silos. It's people who do both, shipping interfaces with intention, clarity, and craft.
Design engineers. Technical and creative. Practical and particular.
It's fun times.
Discussion
Start the conversation by leaving a comment below.
No comments yet. Be the first to share your thoughts!