What does HackerNews think of build-your-own-x?
Master programming by recreating your favorite technologies from scratch.
For backend engineering specific, some free & paid resources are
- O'Reilly Membership - This is a gold mine. For the $400 I believe you can purchase a yearly membership, where you get access to the entire O'Reilly catalogue. Designing Data Intensive Applications is included of course. They also have some video courses & conference talks in addition to the books. If you don't want to spend the $400 then they also offer a 7 day trial and don't ask for a credit card....
- quastor.org is a good read (but it's free). They follow all the big tech engineering blogs and send summaries of the interesting backend-dev blog posts.
- bytebytego - this is also free. It's mostly diagrams and provides a very high level overview but it's a good subscription. You can also purchase their books on their website.
- LeetCode membership - good for interview prep if you're looking for a FAANG-job, pretty much useless for everything else (could be helpful if you like competitive coding though!).
- Udemy Courses by Hussein Nasser - I really liked his course on databases. Delves into the different database engines, tradeoffs, query optimization, etc. He also has a YouTube channel with lots of free content.
- codecrafters - I haven't done this myself but it's a bunch of interesting challenges where you build a toy version of Redis, build a bittorrent client, build a toy version of Git, etc. Could be useful to understand how tech works. In terms of a free version, there's also (https://github.com/codecrafters-io/build-your-own-x) which is a collection of blog posts where you're building different things in various languages.
You WILL get very interesting ideas and concepts, it's fun, basically, that's it.
+ You won't solve problem faster than your colleges with solid competitive programming background;
+ you won't be able to optimize the code and cut 30% of your company's server cost,
+ you won't feel comfortable to read real-world complex project code,
+ you won't get some domain-specific knowledge to solve problems you previously can't solve.
+ .....
It won't make you a better problem solver; at least its impact is way smaller than pick up go/rust/cpp/java and carefully try implement challenge like: https://github.com/codecrafters-io/build-your-own-x
(Discussed in https://news.ycombinator.com/item?id=32157759)
It has a collection of blogs for building various small projects to learn different languages.
"Build your own X" - "This repository is a compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch." [0]
I plan to do it, I also saw interesting projects like implementing a compiler in Lisp, on `build-your-own-x` repo : https://github.com/codecrafters-io/build-your-own-x
I've seen these resource lists recommended often:
* Project Based Learning https://github.com/practical-tutorials/project-based-learnin...
* Build your own X https://github.com/codecrafters-io/build-your-own-x)
> a compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch