Featured

A plea for lean software: 6 Lessons I learned to help keep software simple

  Preface Recently, I was browsing the codebase of my company and saw that it has three versions of dashboards for an analytics page in it. I am pretty sure that customers don't need that. This sparked something in my naive brain and I started exploring the internet for related ideas. That's when I found … Continue reading A plea for lean software: 6 Lessons I learned to help keep software simple

Advertisements

Tackling Lost Updates Problem In Database Using Stricter Transaction Isolation Level

Introduction Databases are made for scale and are a highly concurrent system. Thus it is normal for them to expect multiple concurrent connections. Also, in most situations, we'll want our database to be the source of truth and always contain consistent data. There are many concurrency related phenomena that can occur in a database when … Continue reading Tackling Lost Updates Problem In Database Using Stricter Transaction Isolation Level

Practical Design Patterns Part 1: The Command Pattern

Introduction Most software these days support undoing/redoing actions. For example, text editors support undoing what we have written, file managers support undoing file creation/deletion etc. It's a good UX practice to make software forgiving and allow users to undo their actions. I always wondered how was this implemented?  On a critical analysis, it seems as … Continue reading Practical Design Patterns Part 1: The Command Pattern

Acceptance Tests: The Best Medium of Communication Between Stakeholders (if done right)

  It's a nice pleasant morning, and you have just entered the office. You greet your friends and grab a cup of coffee. You check your email and there is a new story assigned to you. "As a customer, I get my usage logs backed up" This is where is fun begins. Communicating Requirements A … Continue reading Acceptance Tests: The Best Medium of Communication Between Stakeholders (if done right)

6 Lessons On Work Ethic I Learned In One Year Of Professional Career

Time flies. Recently I had completed one year as a full-time employee at my current employer Squad. A year has passed, and I decided it was time to revisit instances, memories, and experiences and to recollect what I had learned as a professional in this past year. It was also a wake-up call to reassess and … Continue reading 6 Lessons On Work Ethic I Learned In One Year Of Professional Career

Creating Outbound Call Warm Transfer Using Twilio In Python and Django

Have you ever been connected to a call where it was transferred to a third person for further assistance? Well, that's call transferring. Warm transfer of calls, in contrast to cold transfer, doesn't disconnect the call in between and thus gives the customers a  more seamless experience. Recently at work, I was building a system … Continue reading Creating Outbound Call Warm Transfer Using Twilio In Python and Django

Tracking Metrics to Surface and Solve Problems: Metric Tracking Practices I’ve Learned So Far

It is a nice pleasant evening, you are sipping coffee and reviewing your code one final time, just so that you can gather enough confidence to hit the deploy button. But a fact of life as a software engineer is that things can go wrong. Small changes may result in unexpected outcomes, including outages, errors … Continue reading Tracking Metrics to Surface and Solve Problems: Metric Tracking Practices I’ve Learned So Far