Good code is its own best documentation.
You're assuming that developers document their code properly.
As someone who scripts in Powershell, I can tell you that while the big code repositories have decent documentation, pseudo-code is almost non-existent in most public repositories.
I spend more time writing pseudo-code for my programmers than I do actually writing documentation. They don't want to do it. They just want me to tell them how to translate it from what the customer wants to how it needs to be coded.
System documentation is just like blueprints for a construction project like a house or commercial building. The foundation crew, the framing crew, the plumbers, the electricians, drywall, painting, roofing crews; and more; all are following the same blueprints, even if modifications have to be made to the plans during the project.
A software system thrown together without a similar structured project process; without the project documentation created during each phase; without cooperative effort between the various teams and members, without following a cohesive plan and design, is just a tangle of counter-productive trash.
This kind of mindless garbage is why the USA is in a major depression; and is why outsourcing, off-shoring, and bringing in foreign visa workers by the tens of millions, is even a consideration.
I’d always tell people complaining of my documentation, “Of course its hard to read, the code was hard to write.” But that was back in the days of packing assembly code into 64K blocks.
“Good code is its own best documentation.”
Good code to a certain point is good documentation however, since every programmer has his own style, it is good manners to comment your logic and why you built it that way. Otherwise you are just a rent-seeking punk looking to make yourself indespensible ans the master of black-box spaghetti code. Just saying.