Tech Industry
Yesterday
5403
BREAKING: Internal sources confirm another round of layoffs just hit emails at Tesla. For real.
India
12h
735
Earning a lot of money early on may not be best strategy
India
7h
663
Rahul Gandhi is poison but the people who believe in him are a lot worse
Fitness
Yesterday
1165
Does cardio help for weight loss ?
Health & Wellness
Yesterday
1205
Low Testosterone
For example, implementing my own version of and scaling: 1. chess engine like Chess.com 2. cache like redis 3. real-time messaging like WhatsApp 4. Photo sharing like Instagram Is it worth doing this where I create distributed systems backends to address these problems, package it into docker containers, and scale using AWS? I will also be reading DDIA. Of course I expect it will be barebones feature-wise but will it help in system designs thinking as opposed to just reading Alex Xu?
That's a lot of time implementing something on the side to hope to get to the right question. You could spend your prep time in better ways. Ideally, you're working on scale problems at work- read up on new patterns and technologies before you worry terribly about implementing them.
That's so boring and a waste of time. Work on learning things at the level you're applying.
Design is the easy part, scaling across DCs and simulating faults is the hard part. I know few ways of simulating the real world traffic.
My 2c, the chess engine probably won't help learn distributed systems, 99% of the work will be figuring out niche stuff like efficient legal move generation, position scoring, and fiddling with bitboards. Might still be worth doing as a fun side project though, depending on how interested you are in chess.
These prompts could help with OOP, concurrency, low-level design, DDD, etc.
F
They are open source, feel free to copy paste the implementation.