Any time two individuals who have never met before come together to collaborate on a project, there are going to be challenges and differences in opinion. In the web design and development industry the differences are amplified due to perception and perspective. The right-brained web designer and the left-brained developer need to have the same vision for a project. This can prove challenging for several reasons.
The most common problem is communication. The web designer's original intent for the user experience can easily get lost since the developer is receiving a static file and only thinking of the function. Part of this common issue is design versus functionality. The designer should always be aware of standards, compliant code and what works versus what does not; however, it is easy to get consumed in only the design elements. Obviously, this does not mean web designers should become developers, but asking questions about what functionality is possible can go a long way to keep a project on time and keep the vision aligned. The biggest issue though, in this relationship, is of course ego. Getting out of your own way during any project is a big step toward success.
The easiest way to avoid most of these problems is simply by keeping an open line of communication during the project. This does not just mean waiting for the other person to call/come over or every once in awhile going to the other person to ask questions, etc... My team constantly collaborates throughout the day and sometimes we both compromise and come up with a completely different solution. Being open to learning about the other side of the coin can also go a long way. Asking why the designer did certain things, or why the developer does not like to do certain things helps the other person show you actually care. Let’s be honest, learning more about design or development can only help the overall goal of the projects you work on and make you better at your individual role within the project.