You don’t know communication
Tags: webdev, programming, productivity, watercooler
Published: 2023-12-12 12:46:38

Also, why communication (and ChatGPT) are the opposite of zip.

## Intro

When people are asked about problems inside their organization, one of the points raised is about communication. Everyone complains about this, but what are **you** doing about it?

## You *think* instead of asking

I’m a programmer with a background in business, and I can see from both points of view.

The business part needs something, the user needs something. For them it’s clear what they want, they might not know how to put it into words, but it should be clear to you what they want right?

Then you think it’s clear what they want and start doing it.

Come release day… “What the hell is this? Not what I wanted at all!”

Or even worse: exactly what they wanted… and also useless because they will soon figure out that it doesn’t solve their problem at all.

When you think of tech interviews, the one thing everyone says and remembers everyone is to “always ask clarifying questions”. Except they mean only for the technical part and totally forget about *why* you’re doing that thing.

I did even try asking about that part one time and was told to “keep focused on the problem”. Go figure out why we have so much bloatware going around…

As a side note, one example is Spotify for podcasts. I like podcasts and hate their Android app (not sure how much this applies to other platforms but) for the podcasts, when you add new episodes… it saves them to a stack! (the first episode added is the last to be played)

I’m sure Spotify developers are really talented and all, and the stack is really well implemented, but at some point, someone should asked: “Hey, isn’t a queue (first in, first out) better suited for this?”. 

It’s, of course, not the only example. Some time back, and I hope it was just a meme, I saw about a streaming service adding a… shuffle button! Let’s see this TV series… on shuffle!?

Don’t get me wrong, I’m sure there are cases for that. And that’s the problem!

You *think* it’s not a problem but you don’t actually know and you don’t ask if you should do that.

## You don’t keep people updated

I’m sure you’re using “agile”, but since you probably not even asking questions I doubt you’re keeping the user up to date.

I understand some companies add multiple levels of abstractions from the user who needs something up to you, a developer adding the shuffle episode button.

But the closer you can work with actual users, the better what you’re doing will be.

And yes, some of it might bleed into what designers and product owners do, but you probably don’t have those doing that and so it falls unto you to do it and not just blindly do whatever you think that one user wants.

Even if you have, a stack instead of a queue situation might happen when you just do what they tell you without trying to figure out what the problem exactly is.

## ZIP vs ChatGPT

Let’s compare how ZIP and ChatGPT (also communication) work.

(BTW, think ChatGPT as any GPT.)

### ZIP

You have a “big text” (think pure information), you shrink it to a “smaller text”.

Then you send that to someone who will unzip the “smaller text” back to the original “big text”.

### ChatGPT

Let’s say you need to remind me about something and you’ll send an email… instead of sending: “Hey Bruno, you forgot that something, do it ASAP.” You put that into ChatGPT that will create a whole page email for the same thing.

I, receiving a lot of emails started using ChatGPT to resume the information so instead of reading the whole page email I get back basically what you wanted to say initially.

In other words, the opposite of ZIP: “small text” → “big text” → Send → “big text” → “small text”

### “Short cuts make long delays.” ― J.R.R. Tolkien

Even before ChatGPT, we would do that dance, except by hand.

And not only by email, how many times did we “beat around the bush” instead of just saying something?

This article, for example, might need some trimming in some places and more words in others. After all, some things might be clearer for me, and for some of you readers than other things. Others might be commonplace for you and not for me.

But more than anything, all those extra steps to make a message more “polite” or something can hurt the actual message.

“I need it ASAP” is something different than “If it's not too much trouble, could this be done at your earliest convenience?”

There’s a balance and I don’t know where it is. If you ever talk with me by text you’ll see I’m short with messages, even with articles. But I’ll be long when explaining something to someone.

Especially here in Brazil, some people don’t like that. They expect the dance of not going straight to the point. In other places, they expect you to go to the point without delay. So there’s also that.

## It always depends…

As with everything in programming and other things in life… it depends.

Even though it depends, I doubt some things will ever be a bad thing:

- to ask clarifying questions
- asking to repeat when you didn’t understand (as opposed to just nodding it away)
- saying what you think they want (think rephrasing)
- keeping people updated on what you’re doing
- asking for people's input in problems you’re tackling