It's time to ditch Medium for good! 🌈⚡️

Introducing Devblog by Hashnode. Blog on your domain for FREE. Highly customizable and optimized for developers.

Learn more

What should we try to develop while learning as a backend developer?

What do we need to learn for backend development, not language and not skills, but just concepts?

For example:

  1. authentication and authorization
  2. social login

Please don't give answer like database, rest api. These are just skills.

Write your answer…

5 answers

What you mention as concepts and skills are - in your example - equivalent.

Authentication and Authorization are concepts, but so are databases and REST APIs. Designing a secure role-based auth system is a skill. Similarly, designing a REST API which confers with the JSON:API standard is a skill. You get the point.

With that said, I would highly recommend you to take a project and then apply these concepts (on the top of my head):

  • Role-based or tier-based authentication and authorization;
  • Data structures based on volatility vs. immutability;
  • Server-Side and client-side caching;
  • Message Queues and their more-applied form: delayed response mechanisms;
  • Payment systems (this is a tough one)

Reply to this…

Share your programming knowledge and learn from the best developers on Hashnode

Get started

I would learn how to develop an API, you can't say its just a skill, you need to learn all the bits around it, like making sure an endpoint is private, making sure it's secure, making sure it doesn't bottleneck your app and crash your server etc. With this you can also add authentication, be it via social etc. File uploading on an API? CRUD? etc

Reply to this…

  • Is interoperability needed or vendor lock-in OK? (PaaS, Vendor Pub/Sub vs Kafka, ...)
  • Do microservices come in handy and what scalability will the platform have
  • NoSQL vs SQL (scalability of the data)

Hard to tell. Decisions go case by case.

Reply to this…

With "concepts", I think you mean "features". Features highly depend on what software you are building. For learning how to build these features, you should try to develop some sort of a pet project - say a Hashnode website clone. List down all the features you see and develop one for yourself.

Show all replies

Dwight Badua is right here. If you clone a service (such as Hashnode), you learn the concepts which are dependent on features; when you add "you" to a concept, you get a skill. For example, databases are a concept; designing a secure and reliable data structure along with the normalized forms is a skill.

Reply to this…

Are you meaning "goals" instead "skills"?

I meant to try that all backenders do in the job.

Reply to this…