About
I'm a software engineer in Mumbai. I excel most at backend work, and I ship full-stack applications when that is what the work needs.
Most of the things I know to do in software began with someone asking me to do them before I felt ready.
How I got here
I started out wanting to do frontend, React mostly. During my internship I kept getting handed backend work in Node. I took it because the experience was there, and because saying no to an opportunity simply because I was unprepared seemed worse than being unprepared.
It was overwhelming. I did not have solid footing in frontend yet, let alone backend. There was rarely a point where I felt ready before the work arrived. I learned to start anyway.
My first full-time job followed the same pattern. Just as I had begun to think Node might be the right fit for me, I was told I'd be working in Python instead. Cloud work came with it, unexpectedly, and I was glad for that.
After a couple of months, my managers gave me the freedom to choose the stack for POCs I owned end to end. I came back to Node, this time because I wanted to rather than because it had been handed to me. It stuck.
By then, colleagues around me were building with generative AI and RAG while I worked on the backend underneath it. I had touched the AI layer a few times, just enough to know I didn't understand it properly.
Eventually, touching it stopped being enough. I wanted to know what was actually happening.
How I think about the work
I like shipping software, but I think I like the part before competence even more: when something is unfamiliar, slightly uncomfortable and still has to be figured out.
Courses and tutorials can teach you the shape of something. Curiosity is what takes you past it.
That is mostly why the writing on this site exists. I work something out, then I try to write it down properly. The writing is usually where I discover how much of it I had only half understood.
I don't know everything and I've stopped pretending otherwise. Software engineering corrects you too quickly for that. You build something, reality answers, and sometimes the answer is that you were wrong.
I've come to think that is one of the best things about the work.
I'm fascinated by the work of Matteo Collina, DHH, and Mitchell Hashimoto, to name a few. A line of Hashimoto's I keep coming back to is that "The pursuit of excellence does not need justification."
I am nowhere close to their level, and I know that. But I like having people to look up to. I like the idea that there is always a better version of the work, and perhaps of yourself, somewhere ahead.
There are worse things to spend a life chasing.
What I work with
- Languages
- TypeScript, JavaScript, Python
- Backend
- Node.js, Express, Bun, FastAPI
- Frontend
- React, TanStack, Tailwind CSS
- Data and cloud
- PostgreSQL, AWS
The resume has the full list and what I built with it.