This. as a CS graduate from a local university, the company I ended up co-founding started on research work out of an engineering lab. The engineers there scoffed at the idea that a CS major might write better code than they could. They were maybe 200k lines of java in. Antipatterns everywhere; as a junior on the project I very hastily implemented my interpretation of MVC on Swing, pub-sub with guava, IOC with guice, added the first automated tests in unit-tests then added some UI automation to try and cover those.
An application with a good architecture means you can have non-CS domain-experts writing code in a comfortable environment. But the plumbing that is required to support that can become hideously complex, and will almost certainly require somebody with a bit more CS background.
and I'm still getting killed by windows DLL loading scheme 😩