Systems architecture
Service boundaries, event-driven behavior and the tradeoffs of distributed systems.

I'm Ivan Malaniak, a software engineer and technical writer with more than ten years of development experience. I work on backend systems and the decisions that make software understandable, reliable and maintainable.
My experience includes distributed services, event-driven systems, centralized user and license management, AWS infrastructure and development automation. I have also worked with the Cucumber team on using Git changes to prioritize the tests a development pipeline runs.
I care about making tradeoffs explicit. Architecture, testing and delivery practices are useful when they help a team understand a problem, make a decision and maintain the result. This site is where I share those lessons and document my own experiments.
Outside engineering, I enjoy books, music and home automation. My interests include Home Assistant, IoT and learning through personal projects. I work in Ukrainian, English and Polish.
Explore my writing, or contact me through email, GitHub or LinkedIn.
Engineering practice
Service boundaries, event-driven behavior and the tradeoffs of distributed systems.
TDD, BDD and useful feedback that supports confident changes.
Cloud infrastructure, observability and repeatable development workflows.