Do you know coding is the most valueable skill of present time. You can learn coding easily for free as I have told you in this my recent post post - "How to learn coding for free".

Now, as you are a coder you must heard about web development.

What is Web Development ?

Web development is simply a work of creating websites through coding. You must know that a website or a web app is a collection of webpages that you can access through internet, even this page that you are reading now is also a webpage. Have you ever think,how these websites that you visits on your regular basis are made ? Is making a website is a difficult task ? Which programming languages you should learn for making websites ? How to host your website so that it can be visible to people across the internet ?
Well to know the answer of these questions read this post carefully to the end .You will surely get all of your answers.

How a websites work ?

When ever you enter a url of any site on browser what will happen ? The answer is simple, browser redirects you to that site. How this happen ? 
Lets take youtube for example when you enter youtube.com in your browser the browser will show you youtube. But bechind the scene your browser is sending a request to the server of youtube.com and in return to that request you are getting a response in the form of the site that appearing in front of you.
This same process happens always whenever you send a request to any website.

This image will explain you better :





Hope this will help you to understand how websites work on internet.

How websites are made with coding ?


Making a website in present day is not a big-deal. It is very simple to make a wesite you need to be dedicated and need to learn all the required tools and languages.

Now their are two faces in the process making websites :-

1. Frontend Development

The type of development where we deals with the development on client-side such as making a good UI, designing awesome websites and making a website responsive so that it will work in both mobile and computer. Frontend developmennt is easy, you must have a good knowledge of designing, colors and patterns. 

Skills required for frontend development :
  • HTML - For creating the basic structure of a website. 
  • CSS -  Stand for Cascading styling sheets. Used for styling and customizing a website and making it responsive so that it will work in mobile also. 
  • Javascript - Programming language that runs on browser. Used for work such as event handling, sending requests and DOM  manuplating etc.

2. Backend Development

The type of development where we deals with the server of a website is called backend development. It is also called server-side development. Here we do work such as reciving requests and sending responses, dealing with database for performing CURD (Create, Update, Read, Delete) operations and performing various other tasks.  It is harder to learn as compared to frontend development. 

Skills required for backend development :-
  • Python - It is easy programming language that provides frameworks like Django and flask for making website.
  • NodeJS - It is runtime evironment of javascirpt that helps us to work on server-side with javascript. It provides framework like express for making website.
  • Various other are languages and frameworks are - ASP.NET, Java, PHP, Ruby on rails and more. 
Now you can become either a fronted developer or a backend developer or both. A developer who can work on both frontend and backend is called as a Fullstack developer. Fullstack developer are highly paid and are very demanded and many jobs are available for them.



Steps to become a web developer

Time  that you take to learn something new is totaly depends on you and your learning capacity. I can't say how much time it would take for you to become a complete and successful web developer. But if you learn on regular basis it will probably take around 1 or 1.5 years to  become a web developer.

Note - You can use any IDE or Text Editor for coding but I'll recommend you to use VS code because it is good, easy to use and comes with lot of extensions.

Most of us always worried about how to start web development, so let us talk about some ways of getting started with web development :-

Learn HTML, CSS and Javscript



First, start learning basics of web development. Learn HTML first learn about HTML tags and how to make a basic website with several webpages. After that learn CSS, as you know CSS is for giving a good look to website so try to make a clean, responsive and good website by combining HTML and CSS and also get familiar with the developer tools of your browser.  If you have learned HTML and CSS its time to start learning Javascript. Javascript is compartively harder than HTML and CSS so take time and learn javascript. Then start making website with HTML, CSS and Javascript together. The pro tip here is to do continous website making project and focus on what you do. If you are still confused about how a website work with HTML, CSS and Javascript lets take us a example of a Car to understand this better - If a car's main body is HTML, then the outer designing of the car will be CSS and the main engine of the car that makes it to work is Javascript. Give around 6 months to learn HTML, CSS and Javascript, these enhances your frontend development skills.

Learn Backend Languages



If you have how to make static websites HTML, CSS and Javascript its time to learn some backend or server-side stuff. If you are a begineer I will recommend you to use either Nodejs, Python, Java, Ruby, C# or PHP. All these are popular languages and provide amazing framworks like express, django, flask, ASP.NET and laravel. But I think Nodejs will be a better option for you because it is javascript on runtime environment built on chormeV8 engine and if you have learned frontend development properly you must be familiar with javascript. Nodejs provides a powerful frameworks like express for making websites. Thats why javascript is such a popular language as it can be used in both clinet-side and server-side and it is easy too. So javascript is must for a fullstack developer. 

Know More about Databases



Now if you have done with frontend and backend its time to know about some databases. Some popular and most used databases that you can use are MySQL, MongoDB, Postgres and more. Mainly database are of two types - SQL and NO-SQL databases. The thing you should know to work with database is how to connect a database to a particular language that you are using. For example - If you are working with Python and MySQL it is must for you to know how to connect MySQL with python. 
Now you can you any database for storing your data. You can read more about databases by making a quick search on google.


Learn More and Keep Learning

If you follow all the steps you will surely learn something new about how to make a website. But are you become a successfull web developer after learning all these things. The answer is simple NO because web development is not just about learning HTML, CSS and Javascript, a backend language and a database. It is more than that because to become a job ready expert web developer you need to have a knowledge of almost everything. Some essential thing, tools or framworks are :

1. Get into the depth of Javascript



Javascript is a huge programming language for web developers one can never learn everything in javascript, and if you want to become successfull as a developer javascript is must. If you have learned bascis of javascript or making backend with javascript using nodejs tehn its time for you to get in depth of javascript. Explore more frameworks like React, Angular and Vue these are the most popular frontend frameworks which is used in building amazing UI and high-end websites. These are also very high demanded framworks and if you learned and become expert of any of the React, Angular or Vue you are now a job ready developer. You can also develop mobile app in javascript with using React Native. As the time passes javascipt is becoming more advanced and more valueable so keep tuned with javascript.

2. Git & Github
It is the most essential thing you need to know as a coder. Git is a high quality version control system that help you to manage and keep track of your source code history while github is a cloud basedhosting service that helps you to manage your git repositories.

3. Stack overflow
If you are a developer I think stack overflow is the most useful site for you. It is nothing but a question answer site for programmers where everyone can question and programmers all around the world can answer you. It is must, I am telling you with my personal opinion.

4. Firebase
Firebase is the most amazing platfrom I have ever seen. It is originally developed by Google.  Firebase is not a programming language, it is actually a entire set of backend for building mobile or web apps. It provides you all the services for free like - authentication, database, storage, cloud messaging, hosting and much more. And it is quite simple and easy to work with firebase with any programming language. It is good for developers to know about firebase.

Learning resources for you



Note that avoid to buy any kind of paid course as many free resources for learning web development is already available for you in $0.00.
Some learning resources for you are :-
I also learned from these 


Projects for you as a Web Developer

Whenever I learn something new in programming the thing that make me happy is making cool projects. It make me satisfied and help me to showcase my talent. So to become a web developer doing project is good for enhancing your skill and showing your skills to others. I will share 3 types of project with you :

1. Basic level projects - 
  • Make a simple calculator with HTML, CSS and Javascript.
  • Make a TicTacToe Game  with HTML, CSS and Javascript.
  • Make a website with a good design which will also be responsive. Remember that your website must be amazing so that anyone will love your website just after seeing it.
2. Intermidate level projects - 
  • Make your own portfolio with a contact form so that users can contact you directly thorugh your website. 
  • Make a Authentication website where users can login and register.
  • Make a business related website. For example - Website for a bakery
3. Advanced level projects - 
  • Make a blog where you can write posts, add pages and categorise them. 
  • Make a E-commerce store where you can add products and also anyone can make payment.
  • Make a social media site like instagram or a simple instagram clone.

Note: You can use any language any framework or any database for these projects. Browse through internet for more learning resoureces and more such projects.

Hosting your website

After learning web development, hosting a website is not a hard task. You can ignore this topic for now first learn web development properly than you can host your website by buying hosting from any hosting provider like Digital ocean, vultr etc. But here you need to pay money to them. For begineers who want to host their website for free the best  tool is Heroku. Heroku is a platform where programmers can host their website for free. It supports languages like Ruby, Python, Nodejs, Java and more.

--------

Is this end, obviously NO keep learning new things as web development is a ocean for programmers where one cannot learn all the things. But the main problem is in country like India people give more value to degree than skills so, it is difficult to get a job without degree. Anyways, thats all for this post.

Hope you find this helpful and informative, please share more, this will help me to get motivated for write more such posts. Comment below for any queries or more such topics.

Thanks