Hi there 👋,
I have just started a mentorship journey with my manager to enhance and level up my backend and system design skills. The first challenge on my plate: Uber
Now, I’m actually not building the next Uber😅 but I’ll be breaking down how such a huge system works and how to make it scalable, reliable, and fun to learn from
The Game Plan (REC 🎯)
My mentor gave me a simple framework to guide my thinking:
- R = Requirements → What exactly should Uber do?
- E = Environment → Who’s using it, where, and under what conditions?
- C = Constraints → What limits (time, money, resources, etc.) affect the design?
This little formula (REC) will help me avoid running wild with random ideas and instead focus on real engineering decisions.
What I’ll Be Doing
Over the next two weeks, I’ll:
- Break down Uber’s requirements, environment, and constraints.
- Sketch out an architecture design.
- Share updates through blog posts like this.
- Present the design to my mentor
Why Blog About This?
Writing is one of the best ways to learn. If I can explain these concepts clearly, it means I truly understand them. Plus, this blog will keep me accountable, give me a record of my progress, and maybe even help someone else who’s on the same learning path.
That’s it for Day 1. Stay tuned — it’s going to be fun breaking it all down! 🙌