Category: Uncategorized

  • Basics matter

    I remember the time when I was an independent consultant. I was consulting with a startup in Pune.

    The startup probably had 4-5 employees. And unlike startups keen to burn through their runway, this startup was conservative in both spending and targeting growth.

    When I was “interviewed” for a consultant role, the task was quite simple. Some bad data had to be removed, and some fresh data needed to be added online.

    I began writing the SQL query under the co-founder’s watchful eye. I did not get SQL right on the first go. However, I had a trick up my sleeve – transactions.

    I prefixed my SQL with a BEGIN TRANSACTION

    BEGIN TRANSACTION
    <query>
    SELECT 
    ROLLBACK TRANSACTION

    What this allowed us to do was revise the query through discussion. But <this> does not seem right. Can we do <that>?

    By the 3rd or 4th iteration, the SELECT appeared to return the data we were expecting.

    Big Learning: Always treat production data with reverence. It needs a sense of sanctity.

    Trust was established that I treated the data with as much care as the founders believed it deserved.

    I went on to win the client.

    It was much later, through random conversations, that I learned that a previous candidate had messed up badly, deleting all good data and preserving only bad data. The founders had to revert to a previous backup, losing the latest batch of data.

    So my reverence for production data (using transactions and committing only after confirming that the updates were sensible) struck a chord with the client.

    I guess basics like being careful around production systems matter.