You being here implies you are interested in learning about backend systems and how to build them. It is assumed that you are at least aware of programming languages like Java, Pythong, JavaScript and more.
a) SpringBoot for Java
b) Flask or similar for python
c) Express.js for JavaScript
There are lots of good sources on youtube. Select one and make sure you finish them.
a) Understand SQL Databases
⇒ Learn about SQL
b) Understand NoSQL Databases
⇒ Learn about the 4 types of NoSQL databases and their applications
c) Figure out the difference between NoSQL and SQL and create an understanding on how to select between them
As a backend engineer, you should know how data is transferred over the internet, this helps you understand the need of technologies like proxy servers and more.
One single server can have many EndPoints /API. You should be able to create pathways so that you can route requests accordingly to the appropriate request processors
A small system can have all its services in one place. However, as your system grows, you will not be able to put things all in one place. Learning about these architecture will help you understand why different systems are designed in different ways depending on their requirements.
Your Backend service may handle sensitive data, and in order to only allow authorized access to that data, you need to put barriers in your servers and APIs.
As your systems start handling more and more data, the processing times becomes a bottleneck. In order to solve the latency of accessing the data, we incorporate caches into our system which helps us make the processing faster.