The Story Of Aravind On Software
I started this website in 2010 when I was working for CoStrategix as a Senior Software Analyst. I had one horrible habit of writing journals on what happened in my professional life on a daily basis. Sometimes I was so crazy that I would write minute by minute, word by word, phrase by phrase on some interesting conversations and arguments, and self-reflect on them.
Anything which I came across as a gap in my understanding, I usually did detailed research on filling that gap irrespective of the domain and context. After doing research, I would add the notes to the same journal to track things. The posts published in "Aravind On Software" are the same notes which were part of my journal. I have polished them a bit to make sure whoever reads them can make best use of it.
The name "Aravind On Software" was inspired by "Joel On Software" by Mr Joel Spolsky, whom I consider one of the most thoughtful writers on software development. I would strongly recommend reading his books to get enlightened.
The habit has not changed; the questions have. What I chase now is the future of software engineering itself, and it keeps coming back to four things: Evolutionary Architecture, Platform Engineering, Agentic AI and Developer Experience. How do engineering organizations evolve in the age of AI? What does an Internal Developer Platform look like when AI agents are first-class users of it? Can a platform actively guide engineering decisions instead of only automating tasks? How does Evolutionary Architecture change when humans and AI build software together? What does developer experience even mean when some of your developers are agents? What does an Engineering System look like in 2030?
I have no settled answers to any of those, so I do what I did in 2010: research the gap, write the notes, publish them. The difference is that some of the notes now come with a reference implementation built in the open, such as calculator-with-llm-wiki, a public repository where agents write the failing test, implement it, review the pull request and merge it. That experiment is written up in The Self-Driving Repository.