0% found this document useful (0 votes)
95 views

All You Need To Know About Backend Development

A discussion is had about the ideal roadmap for becoming a backend developer. It is recommended to first understand how the internet works by inspecting network requests and responses. Next, learn a programming language like JavaScript, Python, or Ruby to build basic HTTP servers. Learn about APIs, databases like MySQL or MongoDB, and how to integrate them with the chosen programming language. Focus on security practices like input validation and learn testing frameworks. With a strong foundation in these areas, one will have the skills needed for backend development.

Uploaded by

soni001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

All You Need To Know About Backend Development

A discussion is had about the ideal roadmap for becoming a backend developer. It is recommended to first understand how the internet works by inspecting network requests and responses. Next, learn a programming language like JavaScript, Python, or Ruby to build basic HTTP servers. Learn about APIs, databases like MySQL or MongoDB, and how to integrate them with the chosen programming language. Focus on security practices like input validation and learn testing frameworks. With a strong foundation in these areas, one will have the skills needed for backend development.

Uploaded by

soni001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 28

I think this sort of developer is very

hard to beat like you will get any and

every sort of job give us some example

of let's say three or four good projects

which you see a beginner

should definitely do this kind of

projects I still can't solve lead code

problems you give me but I don't think

that I'm a bad backend developer

hi anshika okay so up all good how are

you Mary what are you and coffee as

excited

back in development

so where will my first question to you

would be what does a back-end developer

do

yeah

sure so uh back in development think

about it as a person who handles

everything which your server does so in

order to understand key what a server do

try to take any example like Twitter for

example yeah Facebook website which is

like social media e-commerce anything in

case of e-commerce let's say if you

click on add to cart and then let's say

you move to your mobile phone

right why because your data is stored on

back end those back-end resolvers send

the same data which is sent to your


desktop to the mobile phones also so

it's about like programming a system

which is owned by the company just say

if you are working in your own startup

you have you're working anywhere so you

own which servers right you own certain

compute power so there are some servers

you own and there are some devices which

your customers own just a mobile phone

desktop everything

the systems you own

um

what when you program them back-end

programming and when you program

client-side computers like mobile phones

and desktops Mac OS that is called as

front-end programming so when

ever it becomes very vast

so what they will do is keep lhtml

JavaScript seeking and on top of that

framework for that let's say react view

angular

what could be an ideal roadmap for

back-end development

so the first thing before even getting

to roadmap is I feel give yourself a

reason now that reason could be a goal

also in a way he want to change job

let's say in three months yeah you want


to upskill yourself for a project you

want to always build uh koi startup app

idea with something in the span of four

or five months to set a goal for

yourself give yourself some thing to

look forward to okay I want to learn

backend because I want to do this this

that that job

once you have done that then it becomes

at least a question of yes

a dangerous question is cancer most of

the times if you are living in a

comfortable life

um

for backend I feel uh this is also

something which we have got damke back

in learning about Nike you start with

not a programming language initially you

start with the fundamentals of how

internet actually works

add to card click on that the back end

because information now how do you

actually know information

so in case of web browsers which is like

a very popular way to browse internet

web browsers May if you are using Chrome

yeah for any modern browser you can see

the communication your front-end or

back-end cover a lot of people know this

because a lot of tutorials exist online


key how to modify your follower account

when they start through inspect element

but that is like a very powerful tool to

inspect what is going on so the first

thing the first course or the first

learning which I would say is try to

inspect how the internet works when you

go to Facebook when you go to any chat

app

connections establish what all does that

mean what are HTTP code status code

return values headers this that so you

know this scene this might seem like a

lot of things but this is like a very

simple uh way of communication once you

have an overview I think the next step

obviously is to learn a programming

language because this language will then

allow you to uh you know for the very

basic part code of an HTTP server code

up something now when you create an HTTP

server

you can uh what what you're basically

doing is key you write some code backend

way run it and within your system you

start seeing the output in the browser

just say you wrote hello world in

node.js let's take an example you see it

in the browser now you can build on top


of this you will have to learn about

apis

now you have to create a standard set of

communication okay how do I register

let's say a user or how do I allow a

user to log in in my service so when you

learn about these apis and things

programming language eventually you

would need a database to hamper you can

persist information you can persist

information in a running program also

but that is dangerous because once you

shut or restart the program that gets

lost so that is why you need a database

right a database is think of it as a

store or think of it as a permanent

storage somewhere on your disk you offer

on your Cloud so once you have a

programming language and a database

knowledge database could be anything SQL

no SQL MySQL you know mongodb Joby

whatever you want to pick up which we

hello because initially the concepts

remain same in a database also indexes

and tables becomes collections rows

becomes records and so on one-on-one

analogy and nosql versus SQL so what you

want is

um

those Concepts first not just you know


just don't get into a fight of key nosql

is better SQL is better both are better

for you at the scale which will start as

a back-end developer so learn about them

learn about fundamentals and pick up

that programming language of yours again

I'm not getting into specifics I have my

own biases like I'm a JavaScript node.js

developer so I will recommend you that

but solution yeah there are a lot of

solutions outside there rust is one you

can even write see so C C plus plus

servers that also exists very high

performance season but that is not

recommended because it's very low level

python most popular out there so options

exist get a programming language get a

database learn how they can communicate

with each other

if you just know these two technologies

you can build a lot of complex apps a

lot of because

if you think about it most of the apps

online are crowd based only when I say

crud it means create read update and

delete operations and crud applies on

databases so when you create let's say

Twitter Facebook you created an account

you created something in their database


right then you update your profile photo

so what you are doing is you are

updating that record in the database

everything exists in the database right

that is a single storage you learn about

create read update delete operations

delete okay just if you unfriended

someone to that link got deleted all of

this technically is happening somewhere

in the database layer itself programming

language that is just a smart way to

interact with database because

why because you need validation in place

you need to make sure keylog they are

not doing wrong actions with their data

which is exposed so what you have is a

programming language as a layer of

validation and whatever you want to do

in between and database is your true

like company asset your company value so

once you have learned programming

language and database I think that is

again definitions though vary from

person to person I want a back-end

developer but expect something else

but in my opinion I feel if you just

know these two things really well a

programming language database and how to

work alongside them you are like a

backend developer in a way because you


can program back-ends I can throw you at

a backend repo and you will be able to

figure out because that is all it will

have some tooling or geek which tooling

outside eslend protea

that will be there but rest of the

things would remain the same the the

programming language Concepts and the

database you're interacting with

on top of this obviously there are

things you should consider now uh most

importantly like web Security First of

all just say apis you are creating are

they actually secure are you sanitizing

the user data are you making sure that

you're not accepting kuch B the save

user is expected to send let's say

You're Building A Bank app right or they

are expected to send a value key account

transfer from this account ten dollars

to that account so that 10 has to be a

positive number right yeah validation it

is responsibility of your back end

your software reverts back the

transaction

because that is how like the maths work

right 10 means send one One Direction to

Second Direction but negative could mean

the opposite
if you don't have these validations in

place you're not a good backend

developer so saying yourself a back-end

developer versus being a good one

right programming and database

that is like you are a back-end

developer but how to now become a good

one

web security I feel is very important

like you should be I think I also have a

video on this on YouTube but you should

be a very paranoid developer as a

back-end key code like how can this be

hacked not paranoid in a way but just

curious key try to write code but also

try to now break into your own software

because when you deploy it on your

startup your company wherever there

would be people at scale if you get

popular the first thing you will have is

getting hacked take a someone will abuse

your abuse your services someone will

um you know DDOS your services they

would send so much traffic they have to

be prepared in a way there are things

you can do at code level there are

things that needs to happen at service

level just say AWS a cloudflare you have

to bring in the big players to prevent

DDOS attacks but code level pay web


security is one

code level pay making sure that you're

using the correct tool chain just if you

are using node.js though

use typescript for type safety right so

that you catch smaller bigger bucks

while refactoring and doing all sorts of

things it makes sense to use strict es

lint things like you know you don't want

very casual style of writing because if

you let's say have much more developers

all of them would have a style of

writing code that is how it works log

develop their style of work so you would

have to have these toolkit tool chains

in place then once you have that in

place you also build up have to build a

very proper development pipeline because

what you don't want

idly is keep back-end Master builds

whatever Master yeah for whatever

production builds you have they get

crashed so what you have to do is build

a proper CI pipeline now technically I

mean some people think that this is not

a backend role but

as a back-end developer I think you

should know end to end key from the

moment you are writing code to the


moment it is deployed and how it

communicates with database and what is

the performance Implement Implement uh

station and how it varies from

deployment to deployment yes I think you

should know as a back-end developer so

for CI CD for example continuous

integration and deployment you should

have a system jumper you just push a

commit let's say if you're using it

which is the most popular you push a

comment to a get repo it runs your code

it downloads it it runs tests against

your code it builds it it checks

core features are not broken because you

can refactor as much as you want but as

long as you have tests which ensure okay

the core functionality is working you

should be good so all of this is very

hard to do manually like X scale cable

you can do it

made some change went to the page tried

register registering the user and still

working so you'll deploy it but imagine

if you're working in a company wrapper

thousands of pages I had tens of

thousands of apis there so you need some

way to automate this testing so that is

where the CI CD deployment pipelines

come in place GitHub is GitHub actions


is one of the CI CD providers so using

that alongside unit test your

integration test makes you a good

backend developer like I said okay so if

you have testing knowledge as well they

will help you ship very high quality

code then that's it I mean Escape bad

what happens is which is the important

part is deployment Services how does

your backend deploy now imagine you have

written the best code in the world but

you are running it on ec2 instance which

is T2 micro which can't handle like

thousands of connections so it's it's

useless right so your side will go down

and bad things will happen so deployment

um I think the best way or the you know

the most efficient way these days and it

is very popular also these days is

talking about Edge and serverless and

how to deploy on these things so being

aware about these Solutions exist also

is an important she's key uh you know

you as a back-end developer wrote a

micro service and you say to your

management your team key Isco instead of

ec2 why don't we deploy it on AWS Lambda

which is serverless which helps me you

know scale the code indefinitely will


not go down and so on so scalable if you

are writing scalable code that can be

deployed in scalable environments like

serverless AWS that is I think the final

frontier as a backend developer you

started with the programming language

you covered database you covered their

connection you covered the tool chain

around it you covered the deployment CI

CD tests and then you finally also were

able to determine key what environment I

have to deploy to make it very scalable

I think this sort of developer is very

hard to beat like you will get any and

every sort of job if you want because

people startups companies are looking

always looking for these Solutions which

make their code more efficient more uh

you know increase their service

availability makes it cheaper for them

to host and if you are that kind of

developer if you become that following

this roadmap I think you should be

unbeatable

tell me one thing one curiosity I have

was what about a fresher just graduating

or out of college and want to become a

back-end developer like does he or she

have to go through all of this to land a

decent job as a back-end developer so


like I said no uh requirement for

backend developer programming language

and database if you know that you will

land some basic role in some startup for

sure like because you startup Founders

people also need someone

who I can tell key let's make this API

that API it's a journey right you can't

just become a great developer and that's

it makes sense makes sense just out of

curiosity I'm asking here when we are

saying programming language we can

mention here any programming language if

you want you can start Java python JS

whatever is it right yeah I mean what I

would say is key you also have to be

careful agar if you have a preference of

working just say startups May node.js is

very popular you would not find PHP that

popular right now so the way you have to

think is yeah but we have to do a little

bit of research let's say you want to

work in a job in a startup I think

node.js is a good choice because a lot

of people a lot of companies use node.js

or python these sort of languages

if you think you want to do freelancing

then freelancing make out there a lot of

people maintain websites or maintain


Legacy code PHP I think is still very

popular especially WordPress as I said

WordPress is full PHP you will get a lot

of gigs a lot of offers for working on

WordPress setting up the stats so if you

want to do freelancing then PHP might be

good one if you want to go for bigger

companies your Enterprises they prefer

developers who have Java experience

because Java is a very popular choice in

Enterprises

and then you are figuring out the

companies do it in reverse like figure

out the companies you want to work with

ideally

and then try to see what tech stack they

use actively and then learn this and

this is like strictly for people who are

like new if you are already learning

something that's okay that's you know

you can just keep learning it because

the thing is if you also learned a thing

like if you know PHP or node.js

transitioning to another language is

already relatively easier the first

language is the hardest to learn when we

say programming languages do we mean

just the basic stuff like for Loop while

loop if Clauses or for that sake these

sort of things or we also include that


you learn this programming language and

along with that also spend time learning

data structures and algorithm

uh programming languages when I say

simplest the best programs are actually

simple like if you think about

programming languages and if you think

about code you think keyboard complex

something something difficult is

happening but if you look at code bases

which are high quality they are well

documented they are simple to understand

and they they are like you know they

don't use magic a lot just generator

functions

if you have learned JavaScript you know

these async function generators

iterables exist

mostly these are abstractions which are

used by underlying libraries not by you

similarly with data structures and

algorithms these are abstractions which

are already available out there

I mean just say languages themselves

come with a lot of things objects

sorting functions this that so all of

this exists like I've never in my life

implemented a more sort algorithm myself

kyunki that is useless to do to be


honest in a back-end web development

where you have to you have a business

objective key you have to build this

pipeline you have to build this feature

why would you implement something which

exists already out there yes for

learning purposes yes but for actual

work lightly not so

um I feel like it's not absolutely

required in terms of key you should be a

master in DSA a programming in this

algorithmic programming in general this

is not very useful if this helps you

think better as a developer then sure

but this is not like a criteria I mean I

still can't solve lead code problems you

give me but I don't think that I'm a bad

backend developer so that that notion I

think needs to be removed and it will be

removed eventually when people see key

jobs May and startups are actually not

you know just uh asking questions at all

for DSA and you know Finding shortest

path though points maybe it doesn't it

doesn't make sense like why would you

want to do that when these algorithms

already are there for you to read and

learn when they when they are required

so that is my view I have not seen any

use case as such you can if you're a


good developer you can learn on the job

if required uh but don't spend like

three four five six months if your goal

is to just uh get a job in a startup

they will not care in terms of timeline

itself let's say that a person just

wants to learn any programming language

and learn database and basic of

internets on top of that so that he can

just land a decent job in let's say some

startup or whatever company he wants to

so what do you think is an ideal time

which is more than enough to learn these

three four things and become a I'm just

saying a beginner back-end developer so

that he can get a good job that's it

I think there is no one answer to this

but I'll try to okay uh you know

discover and answer with you so I feel

that this depends on three factors

the first one is the amount of time you

put on a daily basis average amount of

time you put on a daily basis

the second factor is that

um

what resource you are using to consume

this like you know if you're using

videos or if you're actually doing

practice if you're reading it from books


and the third thing I believe is key

um what is your expectation also of a

job like

um you know if you want you can get

easily a job which is low paying uh

based on your skill but if you want a

very high paying job with you know

benefits and this that then you'll also

have to bring that level of value to the

table now speaking about time the reason

I think this is important is because

what you have to do in order to become a

great developer and let alone black

backend developer is being in touch with

code pretty much all the time right on a

daily basis

that means that seven hours of learning

on a Sunday does not mean one hour of

learning every day one hour of learning

every day is better than seven hours of

learning on a single day because when

you are in touch with code all the time

you will build your knowledge on top of

that you can't be you know just

introducing long breaks in your coding

Journey

you have to you know if you can you have

to spend at least two two and a half

three hours initially to learn about

things because you will learn a lot of


wrong things you will make a lot of

mistakes you need that buffer time

actual learning time might not be more

than a couple of months or three months

maximum but what you will need is a lot

of time to make mistakes a lot of time

to gather that experience and that is

where the time is spent people when they

figure out right people say manage bug

pay I spend so many hours and you know

semicolon missing now which is usually a

joke but semicolonkey sometimes it

happens like you have a misspelled

variable name after you have something

functions

when you do mistakes like these it feels

like waste of time but you will realize

so that is what I feel is very important

as a beginner in in your timeline you

can set a timeline of six months where

you learn you know one hour uh on a

consecutive day or you can set a

timeline of three months also where you

spend three hours every day it has

diminishing returns you just spend 24

hours so you will become in a week you

will become a master lesson here you

have to give breaks also but I think

most people underperform anyway so it's


better a refugees you know learn as much

as you can spend as much time as you can

on a daily basis do it on a daily basis

trust me like no no not on weekends not

on oh I have a job or I have a school I

I did kept learning coding when I was in

11 12 also with je preparation so I know

it as possible it's all the excuses

people give they are just excuses you

can make out time for things you want

it's just that you have to work

make sense makes sense I think a very

good point put by you when you talked

about these factors pitching coming in

about the timeline itself

discuss that it's very important to

build skills and also having practical

knowledge of whatever you are learning

so whenever we say practical knowledge

it brings us to that you have to make

some good projects like let's say if I

am learning how to build an API uh how

to connect it with my databases what are

queries to write so I'm definitely going

to build some of the projects to learn

it so so can you like give us some

example of let's say three or four good

projects which you see a beginner or

someone who is just starting out should

definitely do this kind of projects


um sure I mean in case of uh speaking

for backend I think like we mentioned

earlier back in most back-end things are

based on crud so I think you can think

of examples of projects which are built

on top of crowd applications social

media for example is one that you build

a small social media clone now this

could be like a Twitter like service or

could be anything which is built on

these operations you have user

registrations user login timelines

follow uh following your friends and so

on so this is like one way to think

about this is what features you want to

build in or what you want uh to showcase

the other user

then built on top of that so crud is a

set of one thing another set of things

could be like real time communication so

if you are going into RTC then um you

know building a chat app for example is

a good good way to go forward building a

real-time game so you take up a game

like you know uh

um I forgot the name of cows

you can build that as a multiplayer game

where people can play

um that on their browsers that will


involve web sockets that will involve

you to create websocket servers on back

end then if you really want to impress

your interviewer you can tell them how

you also deployed and deployed it or AWS

using API Gateway ascb whatever you

deployed so

um yeah I mean that that's that's

basically it back into your context me

how you can think of projects I can give

you tens of ideas but that doesn't

matter because what you have to pick is

key what you want the end user to see

and end user means keep the recruiter in

this case what you want the recruiter to

see if they want real-time apps for

example in our case they say code damper

if if let's say if I'm hiring you I

would want to see how well do you

understand key front-end and back-end

components can interact in real time so

so for me to impress you can build a

very scalable applications with web

sockets and you can build uh you know a

game where you

um where the people multiple people can

join together and they can move cursors

just a figure thank you have operational

transform this is like thought as

advanced sideway but you have like


multiple people editing a Google doc so

building a real-time editor itself is an

insanely hard project so that could be

one thing to impress me as as you know

as working for code because we do these

things similarly if you're building a

basic back-end project crowd is the way

to go e-commerce typical projects work

it's just that you know what you should

not be doing is downloading a project

modifying it a bit adding it to your

resume because anyone who takes your

interview if they ask you to walk

through your code they will know that

you did not build this so whatever you

do do it yourself basic things do it

follow the best practices follow the

best tooling just say um we discussed

and make sure you understand everything

like it's okay to copy code from stack

Overflow but also understand what you

copied like don't just copy paste and

let it be a black box because when you

have that then you will screw up in your

interviews okay you don't know what that

works it's not it's not as much about

the projects as much as it is about

building high quality two three four

projects and having a very deep


understanding of how they work

I think what you gave a really good

example of real-time editors like Google

Docs yeah it's a very good and complex

sort of project if a beginner just wants

to start out and once you develop and

build it the kind of confidence and the

kind of skill set you are going to have

is like totally different that is true

yes true then this this was more around

projects learnings now when we talk

about any sort of development for that

matter two important things which comes

into picture is GitHub and also I think

when we talk specifically about back-end

Linux also come or maybe for that sort

any operating system which you use or

kernels that also comes into picture so

how can one learn about this and what's

the importance of exactly these two

things into the development part I think

yeah that is that is important and this

is one thing which we didn't touch upon

so thanks for reminding me I think Linux

programming and understanding about

systems in general is important because

as a back-end developer you'll work a

lot on CLI so terminal you will have X

screen by always open

um so you should have like an


understanding and most people develop

this eventually but you should have a

understanding of common Linux commands

how to navigate file system how to run

commands and how to do this that

eighty percent of stuff you will

understand on the job

because you know most of the tutorials

you follow are partly however right npm

start right right npm run Dev 80 or that

stuff you will learn on the job

but the 20 important cheesy just say you

know a little bit of bash programming in

general bash is a notoriously uh verbose

language according to me I don't like

programming in bash because

but that is like important because bash

is a very general programming language

in a week servers may be available heads

on Mac OS it's on your systems so it's

important to learn those again a course

uh interactive course practice Hands-On

practice this will help you

um do some challenges on your own learn

about what all files exist on Linux

systems special files just say

um I think a lot of people who uh who

already have a hacker mindset

know this already just say slash Etc


host file on Linux is used for ad

blocking you're disabling ads but you

just paste some sort of host names and

no ads will appear on your system not in

just browsers but anywhere at all so the

first thing you do if you jailbreak your

Android phone is queue install your ad

blocker the what they do is they modify

that file because Android is also Linux

in a way so Linux is important as a

back-end developer because you will work

on CLI for the most part GitHub is um

GitHub is also important GitHub is a SAS

product git I think is a better way to

put it yeah because you can't learn you

can learn GitHub also GitHub has some

nice features but git is something which

is important but I'll tell you one thing

I think people

um people over complicate git in a way

people say that git is hard because it

is but you don't need to touch the hard

parts for the most most time like yeah

rebasing branches and you know just

conflict merge conflicting and resolving

conflicts this happens this happens in

teams of large sizes but until and

unless you are like you know just days

behind and you are completely ins out of

sync of your branches and this and that


only then these problems happen for most

part as a beginner it's more than enough

if you understand why git is important

concepts of branches get pull fetch what

how branches work how to add comments

proper commit messages how to put wish

how to you know review a pull request

that is like it will take you less than

a couple of hours or you know a single

course to understand and should be more

than enough for a lot of you know for

your career got it cool I think I got

too much information and very good

context of what a back-end developer

does how one can learn what all

different things can be done I really

enjoyed talking with you

thank you thank you so much for

providing us so much valuable content I

hope we do some more sessions like this

and like we keep on in reaching our

audience as well with content like this

sure thanks for having me

thanks thanks thank you everyone make

sure you hit the like button and

subscribe our Channel and follow us for

more content like this thank you bye

[Music]

You might also like