The job of software architects is the role Heidegger ascribes to man when he calls us "shepherds of Being". To understand the world as it is, and find the right abstractions to describe it. To constantly evolve those abstractions toward better ones, clearer ones, to seek out ways to represent things that make solutions seem obvious and inevitable.
A mathematics professor once said to me that as time went by, the definitions in mathematics became more complex while the theorems became simpler. "Why is that?", I asked, and he replied, "It's progress!" This is the sort of progress that the software architect seeks as well: to set up the problem so excellently that the solutions are smooth and the process is enlightening.
Great writing, and great code, are first and foremost about great ideas. About brilliant ideas that change how you view the world for the better.
The only real lesson to be learned is "write for your audience" in my humble opinion.
To fully disprove my point, at what point do we never execute something with code so the distinction is even worth mentioning?