> The core tech must be separable from the product

Won't this lead to premature abstraction and application of design patterns everywhere? I mean, sure, of course you should do separation of concerns, keep your business domain layer clean of persistence/network/UI/… concerns etc. But your domain layer will still be very much tied to your product. There is no way around that.

Maybe he is saying that there’s always a veneer which is how you attract buyers, but the internal that may make things work is not the latter’s concern.

So while you may have a few concepts that serve as interfaces between the two layers, but how the latter evolve should be disconnected..