This blog is where I share practical experience from building backend systems and maintaining software over the long term. Most examples use ASP.NET Core and C#, but the focus is on software architecture and engineering principles that apply regardless of language or framework.

I don’t try to provide step-by-step recipes or checklists. My goal is to explain the reasoning behind engineering decisions so you can apply the same way of thinking to your own projects, regardless of the technology stack.

If an article makes you stop and think “I hadn’t looked at it that way before”, then it has achieved its purpose.

About Me

My name is Mirnes Mrkaljevic, and I’ve been working as a software engineer for more than ten years.

Most of my experience is in C# and ASP.NET Core, with additional experience in JavaScript and Angular. Throughout my career I’ve worked on systems where clean architecture, maintainability, testing, and scalability were everyday concerns rather than buzzwords.

I enjoy understanding why software succeeds or becomes difficult to maintain, and I like sharing those lessons with other developers.

Optimal Coder is my place to write about software architecture, engineering practices, AI in software development, and the decisions that shape real-world systems.

If you have a different perspective, a question, or simply want to discuss an article, feel free to reach out or join the conversation in the comments.

Contact

If you have a question about an article, want to discuss software architecture, or simply want to share a different perspective, I’d be happy to hear from you.

You can reach me through any of the following:


I read every message, although I may not always be able to reply immediately.