After more than 13 years of working in software development, I’ve learned that writing good code is only one part of being a good engineer.
Over the years, I’ve worked on backend systems, APIs, legacy applications, architecture, performance improvements, and more recently, Generative AI and LLM-based applications. Each project has taught me something — sometimes through a successful implementation, and sometimes through a problem that took far longer to solve than expected.
I started this blog because I wanted a place to share those experiences.
I’ll be writing about things I’m actually learning and building — Python, FastAPI, backend architecture, system design, APIs, databases, performance, Generative AI, RAG, AI agents, and the occasional DSA problem.
I don’t want this to be another blog where everything looks perfect after the fact.
I want to share the why behind the solution, the mistakes I make along the way, and what becomes clearer only after actually building them.
Technology changes quickly. What worked a few years ago may not be the best approach today. AI has made that even more obvious. So I’m also using this blog as a way to keep learning, experiment with new ideas, and document what I discover.
If you’re a backend engineer, someone learning Python or AI, preparing for technical interviews, or simply interested in how software systems are built, I hope you’ll find something useful here.
This is the beginning.
More experiments, more systems, more lessons — and hopefully, a lot of better code along the way.
Welcome to my engineering notebook.
