Unfortunately, I only have more questions.. Do we write code to communicate with the machine or with other humans who will read it? I am not even sure whether programming is a craft or an art or a science. There are definitely subsets of all 3 involved.
We have to separate the end and the mean. You write code to machine for other human. I can't think of any useful program that no one use (correct me if I missed it).
In my opinion, science bring craft which bring art (science -> craft -> art). Any can stand for itself and not feed the next, breaking the chain.
Obviously, Code is based on Computer Science and can produce art.
I'm getting away from the point, but if code is a craft it serve a purpose. Therefore, you need the least bit of empathy to understand your user problem and build what he/she need.
ps: concerning your link to the "tree falling phylo", I love this answer :
The falling of the tree or any other disturbance will produce vibration of the air. If there be no ears to hear, there will be no sound.
The answer is no if your software has no users and you are developing by yourself...
Coding is a craft not an art. Craftsmanship require skills, you need to be good at it.
Can you be a good dev if no one is using your code?
Basically, do we exists only through others eyes?
I have no idea.
Empathy is a skill/value we can only learn by interacting with others.
If a tree falls in a forest and no one is around, does it make a sound?
Unfortunately, I only have more questions.. Do we write code to communicate with the machine or with other humans who will read it? I am not even sure whether programming is a craft or an art or a science. There are definitely subsets of all 3 involved.
We have to separate the end and the mean. You write code to machine for other human. I can't think of any useful program that no one use (correct me if I missed it).
In my opinion, science bring craft which bring art (science -> craft -> art). Any can stand for itself and not feed the next, breaking the chain.
Obviously, Code is based on Computer Science and can produce art.
I'm getting away from the point, but if code is a craft it serve a purpose. Therefore, you need the least bit of empathy to understand your user problem and build what he/she need.
ps: concerning your link to the "tree falling phylo", I love this answer :
Code without user is just thin air.
It's only no if you are guaranteed to never ever read your code again in the future.
In all other cases, then you also need to have some empathy with your future self.