# Must know concepts

* [ ] HTTP
* [ ] REST
* [ ] GraphQL
* [ ] Relational database
  * [ ] N + 1 select issue and how to solve it
* [ ] NoSQL  database
  * [ ] CAP theorem
  * [ ] Tradeoffs
* [ ] Void premature optimization
  * [ ] Measure and profile
* [ ] Unit test all the things
* [ ] Invest time in good design
  * [ ] Read open source projects
    * [ ] Code organization
* [ ] Dependency Injection / Inversion of Control
* [ ] Cloud patterns
  * [ ] Exponential backoff
  * [ ] Throttling
* [ ] Cookies
* [ ] localStorage
* [ ] XSS
* [ ] CSRF
* [ ] JWT
* [ ] Session cookies
* [ ] Stateful vs stateless architecture
* [ ] DevOps
  * [ ] Containers
  * [ ] Serverless
  * [ ] CI/CD
* [ ] Multithreading
* [ ] Load balancers
* [ ] Web servers
* [ ] Caches&#x20;
  * [ ] Redis
  * [ ] memcached
* [ ] Search datasotres (Elasticsearch, Solr)
* [ ] Log/event/message processor (Kafka)
* [ ] Task queues/task processing libraries
* [ ] Periodic jobs (cron)
* [ ] Reliability
* [ ] Monitoring
* [ ] Observability
* [ ] Error/failure handling
* [ ] Migration strategies
* [ ] Data normalization/denormalization
* [ ] Horizontal vs Vertical scalability

{% hint style="info" %}
This is an summarized content from the Hacker News [article ](https://news.ycombinator.com/item?id=18961793)
{% endhint %}
