I have always advocated that designers should have a basic understanding of code to at least read it and understand what is capable and what isn’t. We can design something to be really fancy, but it might be too large and complicated to properly implement. I think at least understanding the basics is important for cross team communication.
I also think with so many free resources out there, there is little excuses to not learn the basics of code. I believe if you sit down and take the time, you will find something that can teach it in a way to you can understand.
That being said, I think developers should in turn understand the basics of design so everyone is on the same page. And overall, everyone should care about user experience. You can have the great design and get it working, but if it has horrible UX, the project will fail.