Building software applications that handle millions of concurrent users is hard. Designing such applications need both technical skill and some creative product design. In this blog, I review Tirumala Tirupathi Devasthanam's (TTD) online booking system for the devotees. I explain the challenges behind such system and try suggest a better way to design a booking system that needs to serve millions of users.
read moreOther articles
Start by writing messy code
The conventional wisdom in software engineering advocates for breaking down code into loosely coupled functions, classes, and modules, among other things. Numerous books and blog posts discuss various approaches that help us achieve the best possible design for our code.
Sometimes, we may get lucky and find a design pattern …
read moreHow I developed a maintainer mindset?
Lurking on the internet forums related to software engineering, you will often find people asking questions like:
- Is getting accepting a support role bad for your career?
- How do I get out of a support job?
- Is technical support experience valuable?
I found myself asking these same questions some years …
read moreDeploying software is like opening a bakery 🧁
What the hell is a deployment? That's what my wife asked me when she came across this word on her beginner's IT course.
I was honestly stumped.
Sofware development is full of jargon. As I have spent years working in this field I have developed a habit of collecting the …
read more🌟 How can a backend developer contribute to a seamless user experience? 🌟
As a backend developer, it's easy to get lost behind multiple layers of the modern tech stack and focus solely on reading and writing data through the plumbing of software systems. However, it's important to recognize the impact we can have in contributing positively to the user experience. Our goal …
read more"Managing Python Dependencies Robustly."
I wanted to write a blog post about something I learned this week. We use a standard set of open source packages in our projects. Almost all of them are pretty stable and cause no problems, but on some rare occasions, rarer than in the case of code I write …
read more"Observations on API Design."
There are a lot of resources regarding designing good APIs. I personally found the talk from Joshua Bloch to be highly informative. I can also add Martin Fowler's articles and talks, along the with highly recommended book "Design Patterns" by Erich Gamma et al., as good sources to refer when …
read more"Learning to work on existing codebases."
Working with legacy code is probably the most common part of a developer’s job in the software industry. Unless you’re only going to work in super early phase startups or constantly get assigned to greenfield projects, you will encounter legacy code. There are many articles written on the …
read more"Mistakes and Learnings."
It’s been over a year since I have started working at my current company. There have been lots of ups and downs. I know that’s a cliched thing to say, but it’s true. In this post, I have decided to really introspect over some of the mistakes …
read more"At the outset.."
Like many, I too have been contemplating to start blogging. And here I am, after many false starts, finally starting to put words onto the internet.
My intentions here are very simple. I just want to log my learnings and observations, as I begin to transition from being a novice …
read more