# Developer experience articles

Source: https://imqueue.org/blog/topics/dx/

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

6 articles tagged `dx`, newest first.

- [One isolated imq CLI home per @imqueue project](https://imqueue.org/blog/isolated-imq-cli-environments/) — 2026-07-23, Andrii Glushko: 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. — [markdown](https://imqueue.org/blog/isolated-imq-cli-environments/index.md)
- [Type-safe service-to-service communication in TypeScript](https://imqueue.org/blog/type-safe-service-communication-typescript/) — 2026-07-19, Serhiy Morenko: 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. — [markdown](https://imqueue.org/blog/type-safe-service-communication-typescript/index.md)
- [Stop hand-writing and maintaining your microservice clients](https://imqueue.org/blog/stop-hand-writing-microservice-clients/) — 2026-07-17, Serhiy Morenko: 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. — [markdown](https://imqueue.org/blog/stop-hand-writing-microservice-clients/index.md)
- [Cutting the boilerplate out of Node.js microservices](https://imqueue.org/blog/cutting-boilerplate-nodejs-microservices/) — 2026-07-04, Serhiy Morenko: 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. — [markdown](https://imqueue.org/blog/cutting-boilerplate-nodejs-microservices/index.md)
- [Versioning microservices without breaking every caller](https://imqueue.org/blog/versioning-microservices-without-breaking-callers/) — 2026-07-02, Serhiy Morenko: 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. — [markdown](https://imqueue.org/blog/versioning-microservices-without-breaking-callers/index.md)
- [Testing services that call each other](https://imqueue.org/blog/testing-microservices-without-the-whole-stack/) — 2026-06-29, Serhiy Morenko: 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. — [markdown](https://imqueue.org/blog/testing-microservices-without-the-whole-stack/index.md)

## Other topics

- [Message queues](https://imqueue.org/blog/topics/queue/) — 13 articles
- [Architecture](https://imqueue.org/blog/topics/architecture/) — 10 articles
- [Comparisons](https://imqueue.org/blog/topics/comparison/) — 9 articles
- [RPC](https://imqueue.org/blog/topics/rpc/) — 9 articles
- [Patterns](https://imqueue.org/blog/topics/patterns/) — 6 articles
- [Transports](https://imqueue.org/blog/topics/transport/) — 5 articles
- [Type safety](https://imqueue.org/blog/topics/types/) — 5 articles
- [Message delivery](https://imqueue.org/blog/topics/delivery/) — 4 articles
- [Resilience](https://imqueue.org/blog/topics/resilience/) — 4 articles
- [Typed clients](https://imqueue.org/blog/topics/clients/) — 3 articles
- [Jobs & scheduling](https://imqueue.org/blog/topics/jobs/) — 3 articles

All articles: [https://imqueue.org/blog/](https://imqueue.org/blog/) — [markdown](https://imqueue.org/blog/index.md)

