Generally, a website consists of two parts — the front end and the back end. The front end, also known as the client-side, is what you see in the browser. The back end, or server-side, is everything that happens "under the hood," and its components aren't immediately obvious.
In the video above, Web Developer Carlos Grijalva gives us an analogy. Think of a website as a restaurant. When you first sit down, you're presented with a menu, which may include pictures and descriptions of the items you can order. When you place your order, you might request something specific, like a salad with dressing on the side. This represents the front end.
Then, the kitchen staff takes your order, gets the ingredients from the refrigerator and pantry, cooks them together, and brings you your food. This represents the back end.
Below, we'll take a closer look at the back end, what Back-End Developers do, the tools they use, and how to become one. (Or if you'd rather jump into the back-end yourself, check out our courses on web development.)
What goes into the back end?
The back end is a combination of servers and databases. Servers control how users access files. Databases are organized and structured collections of data.
Here's an example: When you log into a website and enter your username or email and password. This information is sent to the server-side software which validates the structure of your email and password. If everything looks good, it checks the data with the database to ensure someone with that username and password exists. If it does, the database will log you in and sends information back to you in the form of your user page.
What do Back-End Developers do?
In another post, Doug, one of our Senior Back-End Engineers, gives us an overview of what a Back-End Developer does. While touching on the role's capacity for problem-solving, he provides a list of common responsibilities, including:
- Creating, integrating, and managing databases.
- Using back-end frameworks to build server-side software.
- Validating data to make sure it's formatted correctly before being sent to the database.
- Integrating user-facing elements with server-side elements to make sure that information is being sent to the right place so the server can retrieve it.
What tools do Back-End Developers use?
Back-End Developers use a range of technology and software, many of which fall into three categories: databases, programming languages, and frameworks.
As we explained above, databases are used to store user information and other important data. Popular database management systems include:
Back-End Developers use query languages like SQL to manipulate the data stored in databases. They also use various programming languages to build applications that facilitate communication between servers and databases. Some of these languages include:
Python is a great choice for beginners. It's concise and easy to read. It's also extremely popular and has a large programming community behind it. Ruby is another beginner-friendly language that has an enthusiastic programming community behind it.
Frameworks make software development faster and easier, saving time that developers would otherwise spend writing code. Popular frameworks include:
How do you become a Back-End developer?
You can take a few paths to become a Back-End Developer. One option is to get a degree, but that's not for everyone. Fortunately, you can become a back-end developer without a degree by taking classes and learning on your own.
From there, Carlos suggests learning how to work with servers, then learning APIs and HTTP methods. Next, you'll want to connect to databases and learn how to retrieve data. Finally, you'll want to build something on your own. This allows you to implement the server, database, and APIs and connect to a simple front end. This brings all your learning together and provides you with a project you can include in your portfolio.
How do you become a Back-End Engineer?
If you're intrigued by all the happenings behind the scenes of websites, another career option is becoming a Back-End Engineer. Back-End Engineers tend to take a big picture view of the back end, essentially serving as architects — designing entire systems and overseeing entire projects.
You'll also learn about web security, algorithms, and how to scale servers. We'll even help you prepare for your technical interviews, which are on-the-spot demonstrations of your skills. Ready to start your Path? Sign up today!