design career learning

Learning to Design as a Developer

· 3 min read

For a long time, I had a clean mental separation: developers write code, designers make things look good. I was a developer. Design wasn’t my problem.

This worked fine until I started building things alone.

The gap nobody talks about

When you’re on a team, you can get away with handing off a finished component to a designer for polish. When you’re building a side project solo — or freelancing — there’s no one to hand it to. You have to make it look good yourself.

My early projects looked like it. Functional, sure. But visually flat. Uncomfortable to use. The kind of thing that works fine in a demo but makes real users hesitate.

I could feel the gap but I didn’t know where to start closing it.

Design is not taste

The first thing I got wrong: I thought design was about having good taste. Either you had an eye for it or you didn’t. I didn’t, so design was out.

This is wrong. Design is a set of learnable principles. Visual hierarchy, contrast, spacing, alignment — these are rules, not intuitions. You can study them like you study data structures. They have right answers (or at least, less wrong ones).

The book that cracked this open for me was Refactoring UI by Adam Wathan and Steve Schoger. Two pages in, I realised I’d been thinking about this completely backwards.

Start with spacing

If you want one thing to fix first: fix your spacing.

Most developer-made UIs feel wrong because the spacing is arbitrary. margin: 12px here, padding: 7px there. Nothing aligns with anything else. The eye has nowhere to rest.

Pick a base unit — 4px or 8px — and only use multiples of it. 4, 8, 12, 16, 24, 32, 48, 64. That’s your whole spacing vocabulary. Enforce it ruthlessly.

This alone makes layouts feel more intentional.

Steal like a designer

Good designers don’t reinvent interfaces from scratch. They study existing patterns, borrow what works, and adapt it to context. This is not cheating — it’s how the craft progresses.

Keep a folder of screenshots. When you see an interface detail you like — a hover effect, a button style, a way of handling empty states — screenshot it. Study it. Understand why it works. Then build your version of it.

This portfolio you’re reading right now came from a Figma file. I studied it, broke it into components, and built it piece by piece. Every section taught me something.

The feedback loop

Design gets better with feedback. Ship things. Show people. Watch them use it without explaining anything. The moments they hesitate, the things they misread, the buttons they don’t notice — those are your bugs.

As a developer, I already had this instinct from code review. Applying it to visual work just required me to stop being precious about it.

Where I am now

I’m not a designer. I don’t have a formal background in it and I’d lose a head-to-head comparison with someone who does. But I can build things that look and feel considered. I can open Figma without freezing.

That’s enough to ship products I’m proud of.

That's all for now.

Got a project in mind?
Let's build it