Reddit is the only major site I know which is regularly (well not so often, but often enough for me to realize) unplanned, and planned, downtime. Makes me wonder whether their architecture is really something to follow.
I've always thought some sort of straightforward partitioning strategy, even the simple one from Building Scalable Web Sites[1], or the Instagram model, would fit pretty nicely over most over multiple Reddit product dimensions -- partition by subreddit (with special instances for exceptionally busy reddits), partition by domain, etc.
[1] Hard to believe that book came out 12 years ago
I just realised that this is especially interesting, given that they're one of the most steady-growing major sites, at least if this reddit post is anything to go by [1].
Without even looking at architecture, they went from lisp to python to node. While I certainly wouldn't have chosen any of those languages, it seems like every step they took was a step backwards. What's next, tcl/tk?
React and Node are well engineered and in demand, plus you can even use it to build mobile app with React Native, which is in demand too. Don't listen to advices from anonymous random guy from the internet, doubt even me.
Keep learning those two, they are valuable in the job market. Don't lose core focus on language (js) vs framework/tooling. Knowing the core language is the adaptable skill.
[1] Hard to believe that book came out 12 years ago
edit: s/shard/partition