DEV Community

Cover image for We Write Code for Two Audiences—with Two Different Priorities
Cesar Aguirre
Cesar Aguirre

Posted on • Originally published at canro91.github.io

We Write Code for Two Audiences—with Two Different Priorities

I originally posted this post on my blog a long time ago in a galaxy far, far away.


"[Users] don't care about your code—they care about results."

That's a controversial statement I found on this post:

It got some virtual stones in the comments from "Clean Code" police officers. I used to be one too. I've changed my mind about it.

Now? I 100% agree.

We don't write code for the sake of writing code.

We write code to accomplish something for others:

  • Connecting them with loved ones in the case of Facebook,
  • Finding a romantic partner on Tinder, or
  • Getting a good and cheap room on Airbnb.

Even for boring enterprise software, it's about happier clients and more sales.

That's what matters most to the users of Facebook, Tinder, Airbnb, and even boring enterprise software.

The other day, the VP of a software company I was contracting with taught me a lesson about Clean Code and other best practices:

"Clean Code is for us when we have to fix problems and deal with our own mess...users don't care about that."

It was a lesson I won't forget, especially coming from a VP of a software company who had been a coder too.

We write code for humans. For two audiences: our future selves and end users.

Both audiences don't necessarily intersect. Both audiences don't care about the same things.

For us and our future selves, it's about maintaining code quality to add new features and solve bugs.

For end users, connecting with loved ones, finding a romantic partner, getting a cheap room, and keeping clients happy and sales high. They care about what our code could do for them, not about the code by itself.

Quality is there to support that mission.


Starting out or already on the software engineering journey? Join my free 7-day email course and you'll get the lessons and mistakes I've learned from 10 years in software engineering to help you move your career forward.

Top comments (2)

Collapse
 
baltasarq profile image
Baltasar García Perez-Schofield

Very true. I learned that lesson when I was a youngster programming my shiny new PC. I used to show my programs full of pride, knowing that it had a new technique inside that I had just learned. But users did not know or care about that.
And they shouldn't. Why should they?

Collapse
 
canro91 profile image
Cesar Aguirre

Yes, that's something we experience in other areas like going to the doctor or driving a car. But for some reason we think it's the same for coding.