Designers coding is fine. Designers programming is not.
In reality separation of concerns is a luxury only afforded to larger teams and orgs.
If you have the people, do it. If you don't, you're in for a bad time concerning yourself with it.
Granted the html in Java is just straight idiocy, and my point refers to far less insidious mixings.
separation of concerns in your codebase is a necessity.