Backend: Quick Startup

ยท

4 min read

Backend: Quick Startup

What do we mean by Backend?

In simple words, as frontend is what we see on the webpage, backend is simply "what happens under the hood".

eg: when we see a login or register form on any site, how do we get authenticated? The answer is "Backend code". We write certain checks or functionality so that we can authenticate a user.

Which Tech Stack is Good for Backend?

The most diplomatic answer will be it depends on the use case. if you have learned Django or Node.js it doesn't mean that for your whole life, you will work with that.No, according to the requirements you need to upgrade yourself.

So which tech should be learned? The answer should be

  1. which is popular ( Industry demand )

  2. Good communities around the globe.

  3. Beginner Resources are available or not?

    why this is the best way?it is the best because as a newbie you don't have any clue, what's going on. You need someone (mentor) or resources to coop up with. right ๐Ÿ™ƒ

With this approach, two main frameworks come into the picture.

  1. Node.js ( Javascript )

  2. Django ( Python )

I have experience with Node.js so I will discuss that with you.

Before actually starting backend. you should cover all these topics.

  1. How Internet work?

  2. Linux basic. ( CLI )

  3. Networking basics.
    IP address, Ports, TCP, UDP, sockets etc.

  4. Version Control Systems
    eg. Git and GitHub basics

How to Start Node.js?

I am assuming that if you were willing to learn node.js you must be familiar with JavaScript and not just the basics but some advanced ES6 concepts.

What not to do?

One thing that I experience in most of the YouTube tutorials is that they call it node.js course but they directly jump in express.js. I know express.js is very popular and trusted and most of the time you will work on that only but the thing is express.js is a framework built on top of node.js which means the core technology is node. so instead of directly jumping into express.js start building servers in pure node.The OG HTTP server.

Why this is important?

to clear your basics. it's okay to build a server with express.js but when you build it node you come to know what are the problems that are solved by express.js.It strengthens your foundation.

once you are familiar with the original node server, you can jump on any framework such as express, nest etc. Nest.js is not that beginner-friendly friendly so you should start with express.

REST API

REST: Representational State Transfer Application Programming Interface

These are nothing but the endpoints that can be called from the front end.
you have to create some controllers, routes, services and much more. all of this makes sense when you start building things.

After getting familiar with Rest Architecture you explore GraphQL, TRPC and GRPC. GraphQL should be your next priority in my opinion.

Template Engines

Software that creates documents or programs by combining templates and data is known as a template engine. Other names for template engines include template processors and template parsers. They are nothing but alternatives to front-end HTML for backend purposes.

Pug, formerly known as Jade, and EJS (Embedded JavaScript) are two widely used templating engines in web development. Despite having comparable functions, there are a few significant distinctions between the two. Syntax: The syntax of EJS and Pug differs from one another fundamentally.

Database (SQL vs NoSQL)

Start with NoSQL. SQL vs NoSQL makes no sense in the beginning. why? it's because after all you have to store your data somewhere. when you begin with the backend that too with MongoDB you are not working with MongoDB instead you will work with ODM ( Object Documentation Modelling ). Even if you say you are using NoSQL, you are using ODM only ( I am not saying that you cannot but this will be very problematic in the beginning )

once you have the basics clear and you have built some hands-on projects. keep experimenting sky is the limit ๐Ÿ˜Š. You can learn the actual MongoDB or any other Relation Database and build.

What should be your checklist?

Although you have to keep upskilling yourself still there are a few checkpoints that you should mark before calling yourself a backend developer.

  1. Hashing techniques

  2. Authentication

  3. OAuth

  4. Documentation

  5. Rate limiting

  6. Load balancer etc.

Again sky is the limit, you can keep experimenting.

Resources

Project Ideas

1. Simple CRUD Application
2. Todo list
3. Blog Website
4. Food Recipe App

5. Telegram / Discord Bot
6. Node.js API
7. Social Media App
8. Image Gallary App

PS: Many GitHub repositories can help you to find project ideas.My Advice

My Advice

In this journey, sometimes you will feel low. Things will not work according to you. Tons of errors and whatnot. But the only question have to ask yourself is why you even started it. Don't give up.

Follow me on Linkedin

ย