Ask HN: What are must-know concepts for back end development?
There are a number of concepts that are worth learning about at a high-level if you want to learn about building large-scale projects. Most modern/large companies use some/all of the following to build their backends:- Load balancers- Web servers- Caches (eg. Redis, memcached)- Databases (relational, non-relational, document)- Search datastores (eg. Elasticsearch, Solr)- Log/event/message processors (eg. Kafka)- Task queues/task processing libraries- Periodic jobs (eg. cron)If you dig into any of these there's a ton to learn, especially around looking into the underlying technologies used to build these higher-level systems.There are also more conceptual things that are part of building/maintaining backend systems. These are a bit fuzzier, but I would say are also as important as the specific technologies used:- Reliability- Monitoring- Observability- Error/failure handling- Migration strategies- Data normalization/denormalization- Horizontal vs. vertical scalabilityThis is by no means a complete list, but these terms are enough to get you in the right ballpark of ideas and start learning. I think highscalability.com is a great place to read about how other companies have built backend systems to solve specific problems. They have a massive list of quality articles written about various backend systems at scale.