Shekhar Gulati Avatar

Shekhar Gulati

GitLab shekhargulati.com

My notes on GitLab’s Postgres schema design

Reading other people’s code is a sure-fire way to improve as a developer. But what about as a database designer? The same process applies!

This post by Shekhar Gulati is him sharing what he learned by applying that principle to GitLab’s schema.

I learnt a lot from the GitLab schema. They don’t blindly apply the same practices to all the table designs. Each table makes the best decision based on its purpose, the kind of data it stores, and its rate of growth.

More posts like this, please!

Practices shekhargulati.com

Factors to consider when architecting systems that uses third-party systems

In this post, I will talk about important factors you should consider when architecting systems that are powered by third-party systems. The factors I detail are:

  1. deployment model
  2. technology coherence
  3. NFRs and SLAs
  4. Infrastructure and hardware needs
  5. API style and documentation
  6. Idempotent APIs
  7. Getting data out of the third party provider
  8. Community

Practices shekhargulati.com

My software estimation process

In this post, I cover in a step by step manner how to do software estimation for project bids where there is limited clarity and a lot of ambiguity. I cover how we can use an uncertainty factor to cover the unknowns, questions/things to ask/consider at each step of the software estimation process, and some practical advice. This process is based on estimates I have done for multiple projects in the last couple of years.

Player art
  0:00 / 0:00