I never really have to...because they end up looking at my screen and get quiet lol.
This is my favorite image perfectly explaining whole field.
This is a very dirty job, you literally dig s*t in the dark tunnel, often need to explain basics to people all the time, and most of people are not helping you, moreover, they also occasionally bring you even more problems.

However, of course this field has a lot of bright side, especially when you are around like-minded and exceptionally smart and very curious people, including Leaders (Managers).
Meh, tell them they can find the answers on google and that other programmers are just trying to scare them into not at least trying. The only exhausting thing is trying to get a ton done during your sprint.
When people ask me this question or say that it is easy to sit down and keep typing; I ask them the same question in their field and then they explain how exhausting or hard their job is.
Then I just try to link my pain points with theirs.
As they explain their process, we are already in the tone of understanding each other and can relate easily to the pain areas.
With their explanation of their problems, they already gave you the words and pointers to use again to explain in their vocab.
I don't! I think it is important to maintain a sense of balance. A lot of the "customers" of our programming assignments probably have exhausting jobs too. I like the idea of the humble programmer.
I'm not sure I even get the question.
And from most the answers so far, I don't see the programming part being described as exhausting.
My point is: being a programmer/developer/software-engineer/no-matter-the-title-you-write-code is sometimes exhausting, but the worst and exhausting parts usually come from the interactions with other specialists (business, product managers, ....) because of different views of the challenges, priorities and even sometimes goals.
Programming itself is often frustrating, but also often very rewarding (all the times you manage to elegantly solve some challenge, find a clever and efficient way to do something, or even when you have the opportunity to remove lot of old code you just refactored)
I'm (too) often exhausted after my days, but most of the times it's not caused by the programming part directly, but by having to use programming to solve non-programming divergences between parts of the organization (no matter a 15 people startup or a 3000 employee company, I had that feeling in both situations)
It's not exhausting to me, maybe I'm just used to long hours of being focussed.
Is like being a CEO of 3 top organisations... Trust they understand what being a CEO is like!
I would say:
Imagine you're building a city you start with something simple: a house. This is easy you spend some time building your house now you add a street. Since you don't need a central sewage system for one house you just add a small localized sewage system.
everything else you get told by the business wouldn't be cost efficient. And they are right so you move on.
you add some more houses and the city is booming you build, power plants, streets for you cars (data).
lets say you got your first 100 houses and 5 streets to build them around and you find out you need a bus line now and schools and drinking water someone forgot to mention you need drinking water too ....
so you build the school and the bus line, but you don't have enough time you always getting told the 'time to market is important' and you think instead of digging up all the streets you just transport the water above the ground behind the streets. This keeps you on schedule.
It has to be fast and easy .... and this small compromises add up as you grow and grow and you as the person who built it from the start know it all. you can do things so fast because it's your mental model. But all the others don't and in time you change your job and ....
all of the sudden you did not build the city .... you have no clue, but you think you know how a city works. you just need to turn on the water ... but you didn't build it so you assume the water is where it should be .... in the central pump system, but it's not there ... you search and search and finally you find it .... but no one has told you that if you turn on the water the bus won't work anymore.
Who would build such a crappy city? and you can be sure that the person who inherited your city probably thinks the same about it.
This is the daily job of a programmer ... all you want is to build a beautiful city and you do is playing janitor for people who don't care about beauty. they just want water, a working bus, a house and working streets.
I KISS it (Keep It Stupid Simple) by saying something like this:
You ever taken a standardized test before like an SAT? You know how your brain feels after? This is how my brain feels after a day of coding where I am intensively solving problems.
The audience here makes a difference. Are we talking about explaining it to some random person I just met who has never done anything technical at all? Or explaining it to a physicist/biologist/etc...? I would take two entirely different approaches. For a non-science person who I can tell isn't as strong on the "intellectual" side, or maybe who is but whom is just very uneducated, I will KISS it.
For a scientist or engineer, I will go into much more detail but I have a feeling that a scientist or engineer will probably mostly know how programming is exhausting and thus not have to ask the question.
I try to explain that when you're solving problems, it's kind of like exploring a vast, dark, unknown territory to find the boundaries. This exploration takes an unknown amount of time, there's a lot of trial and error, and eventually you will have mapped out the problem you're trying to solve. This stage of development might be discouraging, but it's not usually exhausting.
Once you start coming up with a solution to the problem that you now know to shape of, that's where things can get mentally strenuous. Programming is like building architecture with your thoughts, so as you are working on writing your solution you might have many different things going on that you're trying to keep track of. Like a juggler with balls in the air, or a plate spinner trying to keep all of the plates spinning, this is the part that requires the most concentration for me. Some days I just don't have enough energy left to tackle a problem and have to come back with renewed strength.
I guess the way I'd explain it is like, even though the physical act of tossing balls into the air isn't exhausting (sitting down and typing keys on a keyboard is one of the least "active" physical activities) however juggling balls for hours (tossing them in the air with precision and coordination, keeping the flow going, etc) is really mentally exhausting. Programming is like that.
Also: beware of the post-programming-snark! I've heard from multiple programmers that once they are done a long stretch of coding they often feel short and maybe even rude to other people until they recover. If a programmer is rude to you right after coding that might be why, and try to remember to be kind to others when you're done programming too!
j
stuff ;)
You dont
Daniel Sont
Code Slinger
It's like doing math homework all day long.