There is a long-standing rivalry in tech between designers and developers. Designers get stereotyped as dreamers pushing pixels to perfection, developers as the pragmatists who have to say no to impossible animations.
I sit right in the middle of that divide, somewhat by accident. I studied Computer Science and Data Engineering, drifted into UI/UX, and assumed for years that the technical background was just trivia I'd mention in interviews. It isn't. It's the single biggest reason clients keep me around.
1. Feasibility is a design input, not a constraint
Dribbble and Behance are full of breathtaking glassmorphic interfaces with physics-defying animations. They look incredible. Most of them were never meant to ship, and a developer asked to build one within a normal sprint will quietly hate whoever drew it.
Knowing HTML, CSS, and roughly how JavaScript frameworks behave means I can't design in a vacuum even when I want to. I know what the DOM will do to my layout. I know the box model will punish me for that clever overlap. And I know a design has to survive a 320px Android phone and a 27-inch monitor, not just the three tidy breakpoints in my Figma file.
None of that means compromising on aesthetics. It means the beautiful thing actually ships.
2. Half of handoff is just naming things correctly
The design handoff is where most friction lives: a designer tosses a file over the metaphorical wall and hopes someone catches it. I don't toss files over walls. I walk them through the door.
Instead of "make this box float over here," I can say flexbox, z-index, state change. That sounds trivial. It isn't. Shared vocabulary is what lets me anticipate edge cases and negotiate compromises early, before they turn into sprint blockers, and it's why devs stopped treating my files as suggestions.
3. Information architecture is data architecture wearing nicer clothes
This is where the data engineering background earns its keep. A good backend runs on clean, logical data structures. A good frontend runs on a clean, logical flow of information for the user. Same discipline, different audience.
Because I know how databases behave, I know which data is cheap to fetch and which query is slow enough to need a skeleton loader instead of a blank screen. I also know when a "simple" screen is quietly asking the backend for something expensive, which is usually the moment to redesign the screen rather than argue with the backend.
The takeaway
Technical knowledge is a form of empathy. Understanding the medium my designs get built in makes me respect the people building them, and it shows in the work.
My advice: designers, spend a weekend on CSS Grid and Flexbox. Developers, spend an afternoon on visual hierarchy and basic user research. The good products live in the overlap.
Top comments (0)