Skip to main content

Command Palette

Search for a command to run...

About the Author

Hi, I’m Nidha —a senior full stack developer with more than 15 years of experience building, fixing, and modernizing enterprise applications.

My strongest roots are in Java and backend development, but I’ve worked across APIs, databases, React applications, content platforms, and cloud migrations.

A lot of my work involves systems that have been around long enough to develop their own personality. And dependencies. Mostly dependencies.

I spend a lot of time figuring out why things work

I’ve worked across travel, hospitality, e-commerce, and marketing. My projects have included modernizing learning platforms, migrating legacy content management systems, and helping applications move toward cloud infrastructure.

I enjoy understanding how a system fits together: what users need, where the data goes, and why a seemingly small change needs conversations with three other teams.

There is something satisfying about taking a complicated application and making it easier to understand, maintain, and build on.

Of course, before simplifying anything, you have to figure out which strange-looking decisions are actually holding the business together. The code you’re tempted to delete may be someone’s entire Friday workflow.

That keeps you humble.

An architect in the making

That’s how I describe the direction I’m growing in.

I want to stay close to the code while getting better at the bigger decisions: how services interact, who owns the data, what should change, and what should probably be left alone until we understand it.

I like architecture that a team can explain and work with. I also like asking whether we need all the pieces we’ve drawn.

Sometimes we do. Sometimes the diagram just had too much empty space.

Modernization has taught me to look beyond the technology choice. A newer framework doesn’t tell us which business rules still matter, how to keep users working during a transition, or what happens when the integration we depend on has a bad day.

Those are the conversations I find interesting.

What Eckhart Tolle has to do with any of this

Quite a bit, actually.

Reading Eckhart Tolle changed how I approach things—especially my tendency to turn one difficult moment into a much longer conversation in my head.

His writing has helped me come back to what is happening now. What needs my attention? What can I do about it? And how much of the stress is coming from the situation versus the story I’m adding to it?

This turns out to be useful when working with legacy applications. Also when replaying a meeting and coming up with the perfect response approximately six hours too late.

I’m learning to take my work seriously without taking every setback so personally. To make room for a little humor. To accept that I can prepare well, put in the effort, and still not control the entire outcome.

And when all else fails, to trust the universe a little.

After checking the logs, obviously. The universe deserves a decent bug report.

I’m still practicing this. My brain occasionally schedules an emergency architecture review of a conversation that everyone else has already forgotten.

But I’m getting better at noticing—and letting it go.

Why I started this blog

I wanted a place to share what I’ve learned, think through what I’m still learning, and connect with people working on similar problems.

Writing makes me slow down and explain my reasoning. It’s easy to say, “Let’s migrate this in phases.” It takes more thought to explain what that means for the database, the users, and the team maintaining both versions.

I’m starting with legacy application migration because it brings together so much of the work I enjoy: understanding existing systems, making tradeoffs, and introducing change while the business keeps running.

I’ll also write about backend engineering, architecture, CMS and cloud migrations, and my exploration of AI in software delivery.

I’m interested in where AI can help us understand and improve established systems—and where we still need to ask better questions before accepting its very confident answer.

If you’re figuring it out too, welcome

This blog is for developers growing toward architecture, teams working with systems that have a history, and anyone who enjoys discussing why we build things the way we do.

Some posts will come from experience. Others will come from something I’m learning or a question I haven’t fully answered yet.

I hope to share useful ideas, hear different perspectives, and occasionally laugh at the things we all recognize.

You can start with What I’ve Learned Migrating Legacy Applications.

Thanks for being here.

—Nidha