How to Learn System Design 👩‍💻 #developer #softwaredeveloper #code #programming #opensource

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

“System Design Primer” on GitHub 👩‍💻

Sorry, no links allowed in comments ☹️

CodingWithLewis
Автор

I can also recommend the book "Distributed Systems" by Andrew S. Tanenbaum. Its main topic is not system design but it also explains the problems dealing with such systems. :)

mhouney
Автор

Once you start thinking like this... you can fall into the trap of overfitting on future concerns when most of the time it's better to start with a laughably simple system that doesn't scale but actually solves the customer problem (which may take multiple attempts when it turns out you haven't fully figured out the customer problem yet). Then, if you're lucky, customers like it and you can tackle the "problem of success" aka scalability.
Of course, sometimes you're working on a team that already knows exactly how much traffic a system is going to get, in which case go nuts. But only if you need it.

batlin
Автор

U: donnemartin
R: system-design-primer

noname_
Автор

True engineers may appreciate DevOps, but no one else will. It's like good infrastructure. People take it for granted.

Dogberto
Автор

The line 'You start to respect DevOps engineers' caught me. haha! ❤️

fulltimecoding
Автор

This is the first time the Microservice Architecture ever made sense... I never understood why... This was great.

busyrand
Автор

I really love your vids! I stumbled upon you yesterday searching about different programming languages on YouTube and found you, and still you have the best dev content I’ve ever found by quality, thank you so much!

PixelLabsX
Автор

but making a system super scalable just increases scope, so imo its better to make a simple system that can be modified when it needs to be scaled up.

eg just having something really simple: mariadb and your app on one vm. if you need to scale up, you can do lots of things:
1. separate db and app into 2 vms sharing a vlan
2. to scale up again, duplicate your app onto multiple more vms, and set up a load balancer
3. if you need to scale up fron one database, modify your project to allow spreading users between multiple databases

ThatJay
Автор

I'm learning about this now, and using an imaginary mmo as learning project. Super interesting!

iamjimgroth
Автор

This is exactly the thing i'm trying to figure out right now. Cause the program i'm having troubles now, doesn't have hundreds of modules, but for me as a novice it's kinda hard to follow the exact execution path. And part of it seems to fail, and it makes understanding it even harder

Eeatch
Автор

You can't learn/practice scaling if you don't first learn other aspects of making apps and face scaling issues after having published the app either yourself or when working in a company, I think that's just the harsh truth, there is an order you can't break

yassinesafraoui
Автор

Once you start thinking like this, you'll start to respect devops engineers 🥰

bjo
Автор

Thank you, will definitely come in handy! :D

Csf
Автор

Also don't do any of that if you get 500 visitors per day
Beware of Premature optimization

lordadamson
Автор

99% developers don't need to worry about system design.
You can hardly find ANY sofrware engineers who ever had to build a large scalable system....
It can take hundreds of people, years to build a single system and those people are super rare ...like suuuper rare.

Hellstaraditya
Автор

this is for web development only, not general software

planktonfun
Автор

I think beside the coding in depth expertise, deep knowledge and experience in system design defers a software engineer from a developer. This is jst my opinion

IlyesCodes
Автор

Could you add the same short with Frontend System Design?

tuku_mann
Автор

Yeah, am really connecting to what you saying

isaacwhiz