← All posts
2 min read

What do backend engineers do?

My Thoughts on backend engineering


ChatGPT says:

“Backend engineering is the design and development of the server-side logic, data storage, APIs, and infrastructure that make an application work.”

Of course, this is not a wrong answer, although quite limiting in my view. I spent some time thinking about what it is that backend engineers actually do, and found that most of the answer lies in just the word "Engineering".

Suppose you ask someone to build a bridge over a creek. They find a plank, lay it across, and say it's done.

Does that make the person a civil engineer? In a sense the bridge works. Someone can walk across it, carefully, on a sunny day. But bridges aren't judged on sunny days. They're judged when the creek rises after a storm, when four people try to cross at once or when someone's pushing a bike across it and the plank slides out from under them, or just snaps.

A civil engineer has to think and design the bridge so that it's durable and can sustain persistent load throughout the year. It can be repaired with minimal disruptions, and most importantly it's safe so that people trust it while making sure they stay well within the budget. Engineers solve problems that might not be apparent at the moment. They solve for scale that the problem actually demands.

When designing a software system, it's imperative that you are designing it for people. Thus it should not tank when you get a surge in traffic. If it does, it must be repairable and recoverable with minimal disruption. It should be fast enough to not feel sloppy. It must keep mission-critical data safe.

It should also be easily modifiable for often-changing requirements, and observable enough to see and reason about what's happening at all times. And all this must be done by making intelligent tradeoffs with costs and other business constraints. Backend engineers build for scale. The stuff ChatGPT says is just their routine activities, not their identity.