Developer experience

Articles on developer experience in Node.js microservices: cutting boilerplate, generated typed clients, running a local fleet, and isolated CLI environments.

6 articles

Jul 23, 2026 · Andrii Glushko

One isolated imq CLI home per @imqueue project

Every imq invocation shares one ~/.imq — one config, one pid registry, one set of logs. Here's how to give each project its own isolated CLI environment with IMQ_CLI_HOME, plus recipes for direnv, shell wrappers, per-client tokens and disposable sandboxes.

read →
Jul 19, 2026 · Serhiy Morenko

Type-safe service-to-service communication in TypeScript

End-to-end types across service boundaries are easy inside one process and hard the moment you cross a network. Here's how to keep them without hand-writing clients or maintaining a schema language.

read →
Jul 17, 2026 · Serhiy Morenko

Stop hand-writing and maintaining your microservice clients

Every service you call needs a client, and hand-maintained clients drift out of sync with the services they talk to. Here's why that happens, how to make the client fall out of the service, and what the generated approach costs.

read →
Jul 4, 2026 · Serhiy Morenko

Cutting the boilerplate out of Node.js microservices

Most of a new service's first commit is ceremony — transport wiring, serialization, a client, CI, a Dockerfile. Here's where the boilerplate hides and how to stop writing it by hand.

read →
Jul 2, 2026 · Serhiy Morenko

Versioning microservices without breaking every caller

A change to one service's method quietly breaks the services that call it — and you find out in production. Here's how to make breaking changes loud at build time, which changes are actually safe, and how to handle the window where both versions are live.

read →
Jun 29, 2026 · Serhiy Morenko

Testing services that call each other

Integration tests that require every service and its infrastructure running are slow, flaky, and painful. Here's a layered approach that tests most of your logic without spinning up the world.

read →