ULIDs are great, but they are not the ultimate ID generation solution, in fact, no algorithm or approach is ideal.
Remember, the only truth of computer science is that - you get some, you lose some. You will never find a data structure or algorithm that is not trading off something in return. So, never take anything at its face value, but rather look for the trade-off it would have made, and that’s the sign of a good engineer.
by the way, I cover this topic in depth in my System Design Masterclass, and for every single design decision, we will look for the trade-off. This will help you think and operate like a real senior engineer.
The upcoming batch starts on August 9th and only 28 seats are left. So, if you are looking to build the right intuition to understand, design, and implement any system out there, check out
arpitbhayani.me/course
Every cohort is new and is sprinkled with nuances and practical insights that help you operate like a seasoned engineer and participate well in technical design discussions at the workplace.
This is why I absolutely love the comments I receive on my YT videos because they are filled with great questions and observations. Keep them coming.