PinnedFinding a Needle in Haystack: Fixing Mysterious Bad GatewayIntroduction At my current org, we have many applications running behind the API gateway that interacts with the outside world using REST APIs. To track server-side failures we built an alert system that nudges every time we get any 5XX error. As soo...Mar 11, 2023·6 min read
Going Vernacular: Engineering Our Way to Process Multilingual NamesIntroduction At our current organization, earlier this year as we were looking at the errors at one of our signup API, we observed that nearly 5% of our requests were getting failed, all due to 400 BAD REQUEST errors, and the root cause was traced ba...Dec 4, 2023·10 min read
How to Keep Your Package Dependencies Up to Date on Azure DevOpsIntroduction As a developer, how often have you seen a repository with packages that are out of date? New package updates generally include new features, performance improvements, and security fixes. But keeping track of all outdated dependencies in ...Dec 3, 2023·5 min read
Building Resilient Systems: Retry Pattern in MicroservicesIntroduction Any application that communicates with other resources over a network has to be resilient to transient failures. These failures are sometimes self-correcting. For example, a service that is processing thousands of concurrent requests can...Mar 6, 2023·6 min read
How to Choose The Right Database for Your ApplicationImportant points to consider, Relational vs Non-relational Database, CAP theorem, and more!May 15, 2022·8 min read
SOLID Principles in JavaIn software engineering, SOLID is an acronym for 5 design principles intended to make software designs more understandable, flexible, robust, and maintainable. Adopting these practices can contribute to avoiding code smells too. The 5 SOLID principle...Jan 26, 2022·6 min read
Message Queues and Asynchronous ProcessingLow Altitude Flight Over the Messaging Queue LandscapeDec 31, 2021·7 min read