DEV Community

Cover image for Your Users Experience Your Backend Too.
Hilda Enyioko
Hilda Enyioko

Posted on

Your Users Experience Your Backend Too.

For a long time, whenever we hear 'User Experience', we instinctively think of UI/UX designers, product designers, or maybe frontend engineers.

Why?
Because we tend to think users interact first with a graphical or command-line interface, while the backend engine plays little to no role in how they experience the product.

The first half is correct.
The second half, incorrect.

A user doesn't experience your frontend in isolation. They experience the entire system.

As I continue to compound my experience building products as a backend-leaning engineer, I've found it increasingly necessary to think beyond whether an endpoint works or whether an architecture is technically sound.

I have to ask:

How does this technical decision affect the user's experience?

Here's how.

1. API Response Times Become UX

A user doesn't care that your endpoint executes 17 database queries, that your service is making five downstream requests, or that your server is experiencing a cold start.

They care that they clicked “Pay” three seconds ago and nothing has happened.

Eventually, they may refresh the page, click the button again, or abandon the application altogether.

The frontend can add a beautiful loading animation, but it cannot completely hide a system that is fundamentally slow.

2. Error Messages Become UX

One of the easiest ways to see the relationship between backend engineering and UX is through errors.

Imagine trying to make a payment and receiving:

400 Bad Request

Technically, something has gone wrong.

But the user has learned almost nothing.

Compare that with:

“Your payment could not be completed because your card was declined. Please try another payment method.”

Good backend error handling should therefore answer three questions:

  • What happened?
  • Why did it happen?
  • What can the user do about it?

3. API Design Becomes UX

API design can feel very far removed from UX. After all, users don't see JSON responses.

But, developers build products using those responses. The decisions we make in the API eventually shape the experience users receive.

Consider an API that requires the frontend to make four separate requests just to populate one screen.

Technically, every endpoint may be perfectly valid. However, the API collectively creates unnecessary complexity.

Poor API design can lead to:

  • Excessive network requests
  • More loading states
  • Complicated frontend logic
  • Inconsistent data
  • Difficult error handling
  • More opportunities for failure

4. System Architecture Choices Become UX

This is where backend engineering becomes particularly interesting.

Consider the difference between synchronous and asynchronous processing. Suppose a user uploads a large file.

Should the application make them stare at a loading screen until the entire processing pipeline finishes?
Or should it accept the upload, acknowledge the request, process it in the background, and notify them when it's ready?

The system architecture determines the experience.

5. Scaling Architecture Choices Become UX

A system can work perfectly with 100 users and become frustrating with 10,000. When your application lags by 8:00 am when everyone's on it, your users don't see your infrastructure problem. They don't know that your database connection pool is exhausted or that your server isn't horizontally scaled.

However, they experience it as a slow application.
This is where we hear,
"It's frustrating to use."

Why Does This Matter More in the Vibecoding Era?

The barrier to building software has never been lower.

With so many AI agents in vogue, anyone can describe a feature, generate an API, connect a database, build a frontend, and have something running within hours.

As exciting as this is, it creates a new problem.

Working software is becoming easier to produce. Good software is not.

As software becomes easier to generate, engineers need to become better at thinking about the systems they are generating.

The value increasingly moves from:

“Can you write the code?”

to:

“Can you make good technical decisions?”

Top comments (0)