Fullstack web developer

With the rise of fullstack coding bootcamps, many new developers have gotten their start making web applications. When someone decides to attend a bootcamp and become a developer, many of them think that programmers just write code all day, make a lot of money, and eat tons of delicious free snacks.

Although these notions are true to a degree, they tell you absolutely nothing about what it's like to be a developer. Since programming is a technical skill, understanding the parts, languages, and technologies that comprise a web application will provide you with a deeper understanding of what it means to be a developer, help you pick the right bootcamp, and give you a small taste of whether or not you actually want to work on a web application.

The Parts of a Web Application

Parts of a web application

A web application can be down broken into two main parts: a backend and a frontend. These parts are also often referred to as server and client. Backend developers work on the backend, frontend developers work on the frontend, and fullstack developers work on both parts of an application. Working on one part of the application vs another part does not make you a more skilled developer. It’s a common misconception among new developer that working on the backend is “better” than working on the frontend; however, this is not true. Being a strong frontend developer and scaling an application requires the ability to deal with complex problems and create reusable and easy to read code, just like backend developers.

The Backend

Computer servers

The backend of an application handles all of the logic that a user doesn’t see. Everything that happens in the backend is secret from the user. Functions performed by the backend can include saving a user’s information in a database or processing credit card transactions.

The backend consists of three major parts:

  1. The server
  2. The application
  3. The database

The server is a computer that receives requests. The application listens for requests and retrieves any information needed for the request. The database stores and organizes information. Languages used on the backend include Ruby, JavaScript, Pytheon, PHP, etc. Languages used to interact with the database on the backend include SQL, MySQL, Oracle, etc. To make creating an application easier, many frameworks exist. Popular frameworks include Rails for Ruby, Node.js for JavaScript, and Symfony for PHP.

The frontend and backend of a web application communicate with each other through HyperText Transfer Protocol (HTTP) requests. When the frontend needs information from the backend, it makes a request to the backend, and the backend sends the information if it is available.

The Frontend

Different web browsers

The frontend of an application is anything that a user can interact with. It's responsible for rendering information to a user using a browser such as Chrome, Safari, Opera, etc. This information can be as simple as static HTML, or it can be more complex. Many frontend developers receive information from the backened, perform logic on that information, and then render different pieces of code to a user based upon the received information. This increases the speed of the application and improves the user’s experience by making the application more dynamic.

Languages used on the frontend include JavaScript, HTML, and CSS. There are also many technologies that make developing the frontend easier. Some popular frontend technologies include React, Angular, jQuery, and Bootstrap. React and Angular are two popular frontend frameworks which make it easier to create user interfaces. jQuery is a JavaScript library that simplifies using JavaScript on the fronentend by providing methods for complex tasks. Bootstrap makes it easy to create mobile responsive websites by providing built in functionality and styling.

Where to Start Learning

Learning to code

Now that we've covered the basic building blocks of a web application, you maybe wondering whether you should learn the backend or frontend first. The truth is it doesn't matter where you start. I started on the backend and then moved to the frontend, but you can just as easily go the other way round. The frontend can be a nice place to start because you are creating user interfaces and have HTML that you can see and interact with. Compared to the frontend, the backend can be much more intimidating. The first time I looked at a server log, my eyes nearly came out of their sockets. However, if you don't want to style webpages or work with different browsers and screen sizes, then the backend could be the place for you. In the end, as long as you pick one and begin somewhere, you're off to a good start

This article was written as part of the Coding Bootcamp Prep course. The course is dedicated to providing people of all skill levels the knowledge they need to get admitted to the country's top coding bootcamps.