Rustam Rakhimov
Software architecture, backend engineering, AI agents, and security
I am a software engineer who writes about software architecture, backend engineering, AI agents, and security. These are practical notes drawn from real work rather than tutorials. Views here are my own.
Featured writing
-
Architecture Is Becoming Part of the Implementation Process
· 6 min read · software-engineering architecture ai
Why AI-assisted prototyping makes architectural experimentation cheap enough to fold decision-making into implementation, and how ADRs still preserve the context.
-
Managing Agent State with ACID Principles
· 10 min read · ai software-engineering architecture
Applying database ACID principles - atomicity, consistency, isolation, and durability - to keep AI agent state recoverable across multi-step tasks.
-
Thinking Like a Modern Software Architect
· 3 min read · architect
Rising above the code to reason about systems, evolution, constraints, and trade-offs - the why, when, and to what extent of architectural decisions.
Latest posts
Managing Agent State with ACID Principles
My Experience with the Certified AI Security Professional (CAISP) Course
Artificial Intelligence is transforming every industry — but with innovation comes new security risks. Recently, I had the chance to explore these challenges firsthand through the Certified AI Security Professional (CAISP) course by Practical DevSecOps.
How the Gemini CLI Agent Thinks and Acts
Have you ever wondered what goes on inside an AI-powered command-line tool? How does it understand your requests, execute commands, and interact with your file system, all while feeling like a natural extension of your workflow?
Thinking Like a Modern Software Architect
Building a Natural Language-Powered MCP SSE Server with Node.js
Recently, I built a custom MCP (Model Context Protocol) server using Node.js that supports Server-Sent Events (SSE) and an array of practical tools — including a powerful Natural Language to SQL (NL2SQL) converter. The final result was a lightweight yet extensible backend service that can be integrated with Claude Desktop, Windsurf AI, or any other MCP-compatible interface.
Testing Complex Logic Within Task Runners in Java
In this blog post, we’ll explore a common challenge faced by Java developers - testing complex logic within task runners. We’ll discuss a practical approach to isolate and test the logic within task runners effectively.
Rollout Logics Wrapper
In modern software development, the process extends beyond simply completing a task and moving on. It entails continuous work on new updates, features, and bug fixes. Therefore, the role of feature flags becomes crucial in the software’s lifecycle. Feature flags can be classified as either static or dynamic, depending on the speed at which their changes are applied to the application’s behavior. In this post, we will not discuss the various types of feature flags; instead, we will concentrate on the different approaches for writing code that depends on these variables and styles.
Singleton Unit test in typescript
Singleton is one of the most popular Design Pattern, that we can meet practically in any project. Sometime we try not to use it and design the project Singleton free, but sooner or later we all end up using it. Then question raise how to unit test it and all languages have methods. I run into a small task, where had to write a unit test for a singleton in typescript. Most of my searches were not that great, where in some places people suggested to have a reset() function, while others have suggested cheating ways by using ‘any’ casting. Finally got a good suggestion from my colleague to use extend test class from original singleton, and in constructor purposefully call parent’s constructor, where we actually can do proper reset. (credits to Nathan).
Quick Overview of JavaScript Event Loops
This post will be mostly about the quick summary on Event Loops in JavaScript. I think it is crucial thing to understand for JavaScript developers. For the details of please refer to the conference video presented by Erin Zimmer.