# A Haircut

Source: https://www.yegor256.com/2015/02/23/haircut.html

I received a haircut today, and the niceness of my hairdresser led him to fill the
appointment with courteous questions about how I wanted my hair cut, what size of clipper
he should use, how long the sides should be, and how much should be removed
from the front. He also offered me many types of shampoo and a cup of tea.
All this reminded me of the work we do as programmers, and I
decided to write a short post about it. I've already
[mentioned before]({% pst 2015/jan/2015-01-26-happy-boss-false-objective %})
that trying to make a customer happy is a false objective. This hairdresser
was a perfect illustrative example of this very mistake. By the way, in the end,
I wasn't happy, and he got no tip. How could this happen if he was so
friendly and nice?


{% jb_picture_body %}

I'm not a hairdresser, and I have very little understanding of how to deal
with hair. I came to him because I assumed he knew more about this
business than I did. I chose him through the assistance of Yelp. I wanted _him_ to tell me
how long the hair on the sides should be and how much should be removed on the
top. I expected _him_ to give me his professional judgment and stand by it.

Instead of asking me how much I wanted removed on the sides, he should have
told me there should be less on the sides. This is what
a true professional would do. A true professional would give me _his_ vision
of the haircut that best suits me and would try to convince me that
it was the best choice.

{% quote He tried to please me. In the end, he lost %}

A true professional would not ask me but would _tell_ me instead, because
he would understand that my goal was not to boss him around and make him do my
hair the way I wanted it. My goal was to get the best out
of his professional skill.

Unfortunately, the guy was either weak or immature. He didn't argue with me
and didn't try to convince me. He tried to _please_ me. In the end, he
lost.

Exactly the same thing happens when we ask our customers about
the technologies they want us to use. I hear this question very often:
_What language do you want us to use_ (meaning Java or Ruby or something else)?
Or _what database should we use?_ Or _how do you want us to design this?_

Don't do that. Don't lose like that hairdresser. Don't ask your clients
what they want. Instead, _learn_ their business requirements and then
_suggest_ the solution you think is the best for them. Then, insist and argue
if they don't agree.
[Convince]({% pst 2016/jul/2016-07-21-convince-me %})
them. Even if they fire you in the end for
your stubbornness, it's better than being that hairdresser who is doomed
to please every single client without getting anywhere further.

Remember, the
[client]({% pst 2015/jan/2015-01-26-happy-boss-false-objective %})
is not the king; his hairs are.

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">The client is...</p>&mdash; Yegor Bugayenko (@yegor256) <a href="https://twitter.com/yegor256/status/1277224378934099970?ref_src=twsrc%5Etfw">June 28, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
