I have decided to start a blog series on the skills to learn to become a backend engineer. I have started out as a front-end engineer but looking to expand my skills to learn more about backend engineering
I found this awesome YouTube channel called Hussein Nasser and he talks about different topics regarding backend engineering. In the video that I have watched (https://www.youtube.com/watch?v=V3ZPPPKEipA&list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT&index=1) he mentions some skills to learn for backend engineering. Here are some things he mentioned:
Communication Protocols: Learning the basics of the communication protocols (low level) ex. TCP and UDP to higher level (HTTP), Web Sockets
Web Servers: Have the ability to serve content (Static, Caching, Dynamic). Learn the types of web servers
Database Engineering: Relational & Non-Relational Databases
Proxies: Reverse Proxies, Load balances (Huge Potential)
Caching: Caching Layers, Statefull vs Stateless Caching
Messaging Systems: Message queue, Pub/Sub
Web API Frameworks: (Node.JS, Django, Express)
Message Formats: JSON & protobuf
Security: TLS, Encryption, Firewalls
Most important thing to take away is that you aren't going to be an expert at everything. Pick a few topics and dive deep into it.
Top comments (1)
I would also mention testing. All coding challenges I've had so far for backend positions included requiring me to mock or stub an API call / response.