Posts

  • Cloud pricing & Vendor lock-ins

    Cloud pricing is complicated. If you are trying to optimize a cloud bill for the first time that mentions more than 10 managed services, it can take a decent time to understand how this is computed. Although most of....
  • Information Overload

    Human beings are lifelong learners. For a newborn, the initial learning starts in the family. Later on, many of us undergo formal schooling, although these days, homeschooling is also an option. During my school days, most of the subject learning came from textbooks referred....
  • Multi-tasking is not so cool

    Multitasking refers to working on more than one task at a time. Although, as per research, it is not possible for humans to truly multitask like computers, we often hear this term at work. Among engineers, it comes up when...
  • Debugging Production downtimes

    Downtime refers to a period when a system/service is partially or completely unavailable. Based on the criticality of service and the customers you're serving, this can cause a loss of millions of dollars. I've been on the...
  • Efficient Remote Teams

    Just a week before the nationwide lockdown announcement in March 2020, our engineering team decided to try remote setup for one week. At that time (like many other companies), we had work from home policy for employees but...
  • Cost of time

    Time is precious. Even billionaires can not get back in time. Not even by a second. That's why all of us like to enjoy life by spending time and money on things we like. And that's good. Different people get peace by doing different things - singing, dancing, travelling...
  • Testing an app

    For many entry-level developers, the most exciting part of work is writing a shiny new feature, while rest of the things sound boring. Although writing code seems more than 90% of the work to them, but it is not true.
  • Avoid Redundant Complexity

    During my college days, I came across a code in C++ that prints map of India. The code was obfuscated and hence very hard to understand. It took me days to understand what magic it is doing, but at that time I thought complexity is good....
  • Asking Good Questions

    On a daily basis, we communicate with a lot of people - family, friends, office colleagues and often with end customers. A lot of this communication is in the form of asking questions and getting answers.
  • Efficient Fullstack Delivery

    Many organisations face the issue of missed deadlines. The reasons for this might be a one-off case or repeated scenarios. Today, we'll try to understand how can we optimize full-stack product delivery as a team
  • Migrating data across services

    Today, I'm explaining how we planned to transfer millions of rows "reliably" to a different service during our journey to services architecture.
  • Monolith → Microservices

    At LocoNav, we have been maintaining a decently large (yet manageable) monolith Rails application. Initially, all of our backend stack was in Ruby. With time, our ingestion layer was rewritten in Golang, the data layer was moved to Java but the...
  • Fixing code exceptions

    A regular day in the life of software engineer includes a lot of work - discussing status of things, writing new code, fixing customer issues, mentoring others and so on. Specifically, if we talk about fixing customer issues, they could be of two kinds
  • 'Classify' Your Codebase

    Most of the software engineers have a strong (theoratical) grip on OOPs concepts right from the college days but few still struggle to apply them while working. If you are someone who see a large number of small classes in your codebase that are well...
  • Things Code Reviewers Hate

    Is reviewing code part of your daily job? Unless you've got a super nice team (that doesn't actually exist), you must have faced most of these aspects while reviewing your peer's code.
  • Eight Productive Hours

    The key to working fewer hours is not to simply do less, but to do what truly matters most. - Unknown
  • Develop faster, better

    Over the years, has your speed of development improved?. Ofcourse, it would be much better than what it was when you were straight outside college. But have you significantly improved each year?
  • Small testing loops

    If you are a software developer, you must have spent a considerable part of your time debugging the code you, or someone else wrote. At times, it is quite frustrating to debug code due to...
  • Hello world

    I'm starting this blog to give back my learnings to the community. I've thanklessly contributed much less in the past as I was mostly occupied with my work. This was primarily because I got a chance to work only in ...