If someone wanted to learn distributed systems is it better to learn a technology and build a project (Kafka, Cassandra, etc) and learn concepts as you go, or dive into theoretical concepts first (Raft, Paxos, 2pc) #google #facebook #amazon #uber #microsoft
If you want to learn concepts (which I would recommend getting a feel for first before diving into coding/contributing), I would suggest this channel for high level designs. Amazing in depth analysis: https://www.youtube.com/channel/UC9vLsnF6QPYuH51njmIooCQ
You just have to code a web app and you’ll start seeing that you need all these things like a message queue to not block the web apps for longer running tasks, etc...
In most cases I would say theory. For distributed systems.... Kafka is a really good one to get your feet wet
Forget about contributing. Most of these projects are just too big for you to go through the codebase and understand what's happening and find a bug to fix or a feature to implement. The least you can do is study these concepts. The best way is either gain a theoritical knowledge or go through the documentation of the system and learn to use it. Then try to contribute to it.
Understood that it's big, but it does start somewhere, isn't it?
Tech Industry
Yesterday
2929
Google giving meals. Meanwhile Amazon L8 “don’t take more than one fruit”
Fitness
Yesterday
1136
how can i loose 5 pounds with small changes to lifestyle
India
2d
2991
Dating for Marriage is Hard
Tech Industry
2d
1190
Prestige vs Money help me
India
Yesterday
257
Duniya me Vishwaguru ka Danka
Best way is to contribute to the open source implementation. You will learn both from this
Do you happen to know any such open source projects? Preferably those friendly to beginners ?