I started out writing code before I designed interfaces. I still write some every week. Not because designers must code — but because it changes the questions I ask while designing.
Fewer surprises in handoff
Knowing how a layout will be built means I design states that actually exist: loading, empty, error, overflow. Engineers get fewer “what happens when…” questions, and the shipped product looks like the design.
- Design with real data lengths, not perfect placeholders.
- Specify behaviour, not just appearance.
- Use the same spacing and type tokens the codebase uses.
Better conversations
When you understand the cost of an idea, you can negotiate it. Sometimes a small change to the design saves a week of engineering; sometimes the expensive version is worth it. Either way, the trade-off is visible.
Empathy for users is the job. Empathy for the people building it makes the job easier.
Prototypes that tell the truth
Some interactions only make sense when you can feel them. A quick coded prototype answers questions a static mockup can't — timing, scrolling, real input — before anyone commits to building it properly.
