Polyglot systems.
WHY SYSTEMS BECOME POLYGLOT
Different parts have different requirements Teams choose differently Acquisitions and history
WHAT IT COSTS
More tooling More expertise required Harder movement between teams Duplicated logic Harder consistency
WHAT TO LIMIT
The number of languages in use.
WHY
Each is a permanent commitment to expertise, tooling and maintenance.
WHAT TO ESTABLISH
An approved set, with a process for adding to it.
WHAT TO REQUIRE FOR ANY ADDITION
A reason the existing set cannot serve Someone accountable for maintaining it A plan for who supports it
WHAT TO SHARE ACROSS LANGUAGES
API contracts, defined once Data formats Conventions for logging, configuration and errors
WHAT NOT TO SHARE
Business logic implemented separately in each.
WHY
Implementations diverge, and the difference becomes a bug.
WHAT TO DO INSTEAD
Implement it once, and expose it as a service.
WHAT TO DOCUMENT
Which language is used where, and why.