Having started my own company prior to joining Blinkit, I had developed the skin to not only adapt and improvise but also nurtured the intense desire to work on a game changing product with a great bunch of people. This is exactly what Blinkit offered me. The idea of building tech to enable 10 minute delivery fascinated me because of the technical and operational challenges that it brought about.
My journey started in early 2021 with the Inventory team which was building systems for accurate and faster product replenishments at scale. Initially I started off making a few security patches, optimizing database operations and file uploads while I was getting ramped up with enough business context (thanks for this, Shagun). We saw huge wins with these optimisations too, we were able to bring down the processing time for certain tricky file uploads that previously took 20 mins down to just 15 seconds which consequently had great business impact. Eventually, I started working on a system called ARS (Automatic Replenishment System).
I was enticed by all the custom constructs that it used and its significance in the real world. As a team, we built `ARS Lite`, a system that automatically raised internal stock transfer orders between warehouses. Surprisingly, the execution time for an ARS Lite run turned out to be 10 minutes which is the same as the number of minutes we deliver in. In hindsight, although I made a lot of mistakes, I learnt a ton of stuff technically and contextually which enabled me to make better decisions later. I am thankful and humbled to have had a great set of mentors/friends such as Keyur, Manik and Yash who not only made it fun to work with but also brought in a clear sense of vision and direction amongst other things.
After spending some time with the Inventory team, I spent some time with the warehouse team where I helped build a couple of features for the native Android apps used by the folks operating the dark stores. This gave me a lot of insight on the operations that happen within a warehouse and how the tech we build has a tangible impact on ground operations (thanks, Abhishek MR, for giving me all the context and bearing with the endless questions).
Fast forwarding to the present, I work with the finance tech team to build systems that organize the finances of the company. This is a tricky problem with a lot of nuances since we deal with inventory, offers, invoices, taxes, vendors and more. We use an open source system called ERPNext to alleviate some of these pain points. However the discomfort of not having a solid understanding of all the financial constructs have pushed the whole team to level up with knowledge that holds good across organizations. Some of us have even read the book ‘Accounting Made Simple’ to gain a deeper understanding of how companies operate with respect to cash flow.
I’ve also learned the importance of documentation in this team. Since our system is the focal point for most of the data on the supply side of things, dealing with the gotchas of the upstream systems keeps reminding us how important it is to document things and we’ve inculcated this as a strong habit to the point where in we attach screenshots and write elaborate descriptions in every pull request we raise. One of our long term goals is also to simplify a lot of these nuances that have crept into the supply systems. Again, I’ve been fortunate enough to have great teammates who not only make it fun to work with but also raise the bar for one another. Special shout out to Pradeep for being a proactive leader and giving us actionable insights on how we could become a better version of ourselves, professionally and personally.
Throughout the journey so far, there’s been tons of learning both technical and contextual. From vectorizing operations on Pandas dataframes to dealing with partial indexes on JSONB fields in Postgres and even raising pull requests directly to the open source ERPNext repository, the immense amount of learning has been humbling. I’ve also been able to significantly improve on my system design knowledge thanks to the meticulously written confluence pages by Deepu, Hamim, Mayur, Chinmay and so on.
During this process, there’s been a lot of sunk cost but it’s enabled me to build scar tissue that has provided me an inherent sense of what will not work when we’re about to build feature X. Another thing that I had only read but never truly comprehended was to never get attached to the code I’ve written. I’ve realized the importance of this as I continue to build tech here.
I am grateful to have had the opportunity to interact with brilliant folks across functions and teams from diverse backgrounds. Conversations with them helped me understand how the work that we all do fit into the bigger picture (thanks, Shakti, for helping me see this). If there’s one trait that’s common amongst all of them, that’s high ownership. Most of the people I’ve met always want to go above and beyond the call of duty to solve problems for our customers. This in turn raises the bar for all of us and has enabled me to become a better version of myself.
I genuinely appreciate and look up to the leadership team not only for creating a clear and concise vision for the teams but also for setting up a culture that nurtures an appetite for problem solving, creativity, room for making mistakes and learning from them. There’s been a tremendous amount of learning along the way but there’s still a lot of problems to solve and a lot of lessons yet to learn. In the golden words of Jay Z, on to the next one.