This is my personal knowledge journal about engineering, technology, and the ideas that shape how we think and build.
I write about distributed systems, software architecture, artificial intelligence, and the evolving discipline of building intelligent software systems. I also explore engineering leadership, strategy, decision-making, and systems thinking through books, research papers, technical talks, and practical experience.
Some articles document concepts I’m learning. Others explore ideas in depth or share experiments and things I’ve built. It is a continuous record of learning, questioning, experimenting, and refining how I think about engineering.
Who writes here
I’m Mohit Jain, a Principal Software Engineer with about seventeen years of experience building software. I started in 2009 as a co-founder, have worked in startups I helped found and in large engineering organisations, and have led teams as well as built systems. This journal is where I think through what I’ve learned about designing and running software that people depend on.
Right now much of my learning time goes into artificial intelligence: how foundation models work, how to give them the right context, how agents are built and run, and how to tell whether any of it is reliable. I study the field through books, papers and lectures, and by building things myself.
I see the leadership, strategy and systems-thinking side of engineering as one subject with the technical work: how complex things are understood, designed and led.
What I write about
Three connected areas, not three separate blogs.
The principles behind designing and operating complex software systems.
Distributed systems · Data-intensive applications · Software architecture and system design · Reliability and scalability · Data engineering and enterprise platforms · Engineering trade-offs, system boundaries and abstractions · Building systems from scratch and learning from the measurements and failures
The foundations and engineering of modern AI systems.
Foundation models and LLMs · Transformers and model fundamentals · Context engineering, retrieval and RAG · Agent architecture, runtimes, memory and tools · Evaluation, reliability and reward hacking · Model adaptation, inference economics, security and governance · Enterprise AI systems · Building and measuring AI systems: retrieval experiments, model serving, AI-assisted development
How engineers lead, decide and think: the human side of building software.
Technical leadership and influence without authority · Architecture ownership and technical decision-making · Organizational design and team topology · Engineering strategy, execution and prioritization · Communication and writing · Systems thinking and mental models · Critical thinking and decision-making · Books, papers and learning methods
What to expect
- Plain, careful writing. I’ll try to separate what is established, what I read in a source, what I interpret, and what I’m only guessing.
- Not every article is original research, and not every article is long.
- No publishing schedule.
- A site that wanders as my interests do.
How I write
I use AI tools to help organize notes and improve clarity. The understanding, the judgment and the mistakes are mine. Opinions here are my own.
Find the code and experiments on GitHub, follow new articles, or write to me at hello@mohitnotes.com.
Learn deeply · Think clearly · Build thoughtfully