Working with your developer / designer counterpart can feel like an arranged marriage at first. You look, talk & think different. You solve problems in different ways. Most of the time you do not even solve the same problems. But you have a lot in common.
Share some passion
You both have an immense passion for good work, well made products and attention to detail. This can be a starting point for an amazing collaboration: acknowledge and embrace this. You both love your work. Think about that the next time you work with your counterpart.
"Explain me your problems"
Start understanding each others problems. Ask a thousand questions until you understand why the developer is spending an hour in his terminal. Or why the designer spends this time on a seemingly unimportant detail. This "explain me your problems" mentality will help you understand your own problems better as well. If you can explain it, you understand it.
Open up your process
If there's no involvement, there's no commitment. So open up your process. How would your designer buddy solve your problems? How does he think? What's important to him? What does he believe in? Ask these questions. But first and foremost, ask this one simple question: "How can I help you today?"
Now stop complaining
Share a desk. Pair up with someone new. Create a team where everyone has interest in the skills of others. Share the responsibility for the product that is shipped. It doesn't stop at your discipline.
Don't complain about a designer that locks himself away from the team or a developer that screws up your designs. From now on, the only complaint you can have about a designer or developer is that he's not at your desk.