one way is by using schemas to communicate between them that are backwards compatible. eg with avro its quite nice
But the you're outsourcing the same shared code problem to a third party shared library. It fundamentally doesn't go away.
But the you're outsourcing the same shared code problem to a third party shared library. It fundamentally doesn't go away.