Ketan Bhatt

Archive Notes

Race Conditions/Concurrency Defects in Databases: A Catalogue

July 03, 2020 programming

I came across defects caused by race conditions that might occur when we work with databases, while reading Designing Data-Intensive Applications (DDIA), by Martin Kleppmann. It turns out that if we aren’t careful, concurrent transactions can cause a lot of headaches, to say the…

Get your code reviewed by Martin Fowler, kinda

June 30, 2020 programming

I picked up Refactoring, by Martin Fowler, and I am learning a lot. The book is written like a catalogue that you can refer back to later. And, for those who are seeking, the book is an excellent chance to get your code reviewed by Martin Fowler!! 😮 Martin starts the book with…

Avoid breaking habits with help from Economics

May 29, 2019 self-improvement

Recently, while reading “How Will You Measure Your Life?”, I came across the concept of Marginal Thinking and I thought that it could be used as a mental model for motivating people who struggle with building new habits (like this guy I know, me). Aside: I highly recommend…

Why do we make irrational decisions?

January 15, 2019 self-improvement

We often get surprised by the decisions taken by those around us. “But how could you not see that this whole Bitcoin thing was a bubble?”, or “how can you pass on that job opportunity?”, or “did you not know that there are more parts that need to be built here, and so this…

On taking feedback well

December 10, 2018 self-improvement

A colleague and I were discussing how it is difficult to take critical feedback well. The conversation was textual and I ended up writing a lot of thoughts. In a bid to save my keystrokes from dying, I thought I will pen down my thoughts here so that I can share them with peeps…

Deep Work, by Cal Newport

October 14, 2018 productivity

I have always been interested in how to do more meaningful work, and get better and better at what I do. This quest sees me read content which is sometimes technical in nature and sometimes talks about how to be a better leader [1, 2]. Sometimes I go a little meta and read about…

Don’t be the Alpha Geek: Your team deserves better

August 12, 2018 self-improvement

Alpha Geek? I recently came across the term “Alpha Geek” in “The Manager’s Path”. The Alpha geek is usually an excellent, effective engineer who is driven to always have the right answers, and solve hard problems. Alrighty! I want to be one! Where do I sign up? He knows exactly…

How I stopped being awful at managing: Leadership lessons from a Dev

May 06, 2018 management

At Squad, we have been following the concept of having small inter-disciplinary teams, which we call Solver Teams (the concept is beautifully explained by Spotify, we took a lot of inspiration from them). As fate would have it, I got to lead a team responsible for building the…

Two years with Celery in Production: Bug Fix Edition

December 17, 2017 programming

Photo by Martin Oslic on Unsplash As mentioned in an earlier post, we rely on Celery for publishing and consuming tasks to/from our RabbitMQ (RMQ) broker. We are very happy with the whole setup and it works reliably for us. But this wasn’t exactly the case up until four weeks…

Blazingly fast querying on huge tables by avoiding joins

May 14, 2017 programming

Tl;dr: Avoid joins on large tables and evaluate parts of queries beforehand to get 100–10,000x performance gains! As mentioned in a previous post, because of some of our tables growing in size, our queries started performing poorly which resulted in a performance hit to our most…