What Is Back End Development?
Have you ever wondered what back end web development involves?
If you’ve spent any time researching how websites are built, you’ve likely encountered the term “back end” before. This makes sense, because the back end is a crucial part of all the websites you use, and the demand for skilled back end web developers is high.
Web developers more broadly are concerned with making websites work. Behind every website, from your local coffee shop’s ordering page to Amazon to Airbnb is a web developer—or a team of web developers—who makes the website work. They will turn an idea into a usable site that offers the features users need.
Back end programming is a specialization within web development. Back end developers are tasked with focusing on one part of a website: the logic behind the site. In this guide, we’re going to discuss the basics of back end web development, and explore the responsibilities people who work in this field have.
What is Back end Development?
The “back end” or “server-side” of a website is a combination of technologies that power the site. One way to think about the back end is that it is the brain of a website.
Front-end development is focused on developing the parts of a website that a user sees, like the layout for a site, and back end development is focused on actually making the features that appear on a website work.
Think about Facebook. The front end is what the user sees—a list of posts, photos, and so on—and the back end is what the user does not see that powers the site. The back end developers at Facebook will work with servers and databases to determine what content loads on the site and will maintain infrastructure for features like logging in and creating posts.
What is a Back-End Web Developer?
Back end web developers build and maintain the technology that powers what a user sees on a website. Their code will add onto what a front end web developer builds, and controls all the behind-the-scenes work that makes a website tick.
When you use a site that has features like payments, or a sign in page, or a form, you can bet there was a back end developer who was behind implementing those features. The back end web developer will work with a company to determine what features a site should have, then create the software that implements those features.
Back end developers use server-side technologies such as PHP, Ruby, Java, and Python to build an application. In addition, they also use technologies like MongoDB, MySQL, and PostgreSQL to save and store data which can then be accessed by a web application.
What Are the Responsibilities of a Back end Web Developer?
Back end developers, at a high level, combine the server on which an application is running, the application, and a database, to make a website functional.
While the exact responsibilities vary between jobs, back end developers will spend most of their time on two tasks.
First, they will work with a business to understand their technical requirements, and they will use that information to decide how a website should be built. Then, they will use the technologies they think are suitable to actually implement features on a website.
Here are a few responsibilities that a back end web developer may have:
- Write code to implement the technical architecture behind website features
- Work with front end web developers to integrate what a user sees with the server-side logic that powers a site
- Create and address technical requirements
- Write reusable code that can be used across a web application
- Work with system administrators to determine the resources available for a site
- Work across the entire application development lifecycle, from analysis to coding and evaluation
The job of a back end web developer is best suited for someone who both enjoys delving deep into technical problems, and addressing those technical problems with code. One major part of your job will be analyzing problems from a business perspective, then you’ll have to break them down into actionable items that you can implement with code.
What Technologies Do Back End Developers Use?
There is a wide range of programming languages and technologies that back end web developers can use, and the exact ones a developer will use depends on the tasks they want to perform.
Before beginning a project—or before implementing new features—back end developers will evaluate the technologies that would allow them to accomplish their goals. This means that, across different projects, a set of technologies may be used.
That said, there are a few programming languages you can expect to come up in many back end jobs. These include:
- Python: Python is a general-purpose programming language used for everything from data analysis to developing the server-side for a website.
- Java: Java is an object-oriented, general-purpose coding language often used for server-side web development (not to be confused with JavaScript).
- PHP: PHP is a scripting language that allows you to embed content into the HTML code on the front end of a website.
Other languages commonly used by back end web developers include Ruby, .Net, Go, and server-side JavaScript.
Back end developers commonly use frameworks to assist in the development of a project. For instance, a back end developer may use Python Flask to build a site with Python, or Ruby on Rails to build the logic for a website using the Ruby coding language.
In summary, the main four pieces of the back end web development puzzle are:
- Server: The computer that hosts a site (i.e. Windows or Linux).
- Database: The place data is stored (i.e. MySQL or PostgreSQL).
- Programming languages: The technologies used to implement features (i.e. Ruby or .Net).
- Application Programming Interfaces (APIs): The tools used to work with other web services (i.e. Stripe or Twilio).
What is the Difference Between Back End Development and Front End Development?
So far, we’ve discussed what a job in back end development entails. But how does it compare to the responsibilities of a front end web developer?
Back end and front end web developers both have different roles in building websites. Whereas the back end developer is focused on the logic behind a website—building out the “brain” behind the site—front end web developers are focused more on the design.
On an average day, a front end web developer will work with the design team for a website and turn those designs into code. As a result, front end web development is a very visual job: you’ll spend most of your days interpreting designs and coding them into a site.
Front end web developers use languages like HTML, CSS, and client-side JavaScript to do their job. Back end developers, on the other hand, use server-side languages like Ruby and Python to implement features like payments, signing into a site, user permissions, creating posts, and so on.
Let’s take the example of Airbnb. When you place an order on Airbnb, the order will be processed by the back end—your credit card information will be processed, and so will all your booking information. But, what the user sees—the form for making an order, the images of the house, et cetera—are implemented by the front end web developer.
What Are the Job Prospects for Back End Web Development?
Back end web developers are in demand. Data collected from Indeed reports that there are 4,158 jobs in back end web development across the U.S. alone. But, this only accounts for a small percentage of the back end jobs in tech, because many are classified as “web developer” jobs. In terms of web developers, there are 21,994 vacancies posted on Indeed. (Data collected April 28, 2020)
Back-end web development positions are not only in abundance; they pay well too. According to Glassdoor, the average back end developer earns $68,524 per year, which is impressive even for a job in tech.
To start your career in back end web development, you’ll likely work in a junior or entry-level position. During this time, you’ll familiarize yourself with the basics of how web development teams work, and the main duties of a back end web developer.
Once you have experience under your belt, you could progress onto a mid-level or senior role as either a web developer or a back end web developer. Then, over the long-term, you could advance into a managerial role, where you would have more authority over the direction of technical decisions within a business.
For example, many back end developers go on to command jobs as technical project managers, engineering team leads, or Chief Technology Officers (CTOs).
The Bottom Line
When you loaded this site, the Computer Science Hero server sent information to your computer, which eventually became the page you are seeing now. The server that processed that information, and the technology that made that information available on your computer, are controlled by a back end web developer.
That’s not all. When you sign up for Computer Science Hero, post a question, send a message, or post a project, technology built by a back end developer records the data you have submitted.
Back end developers spend their days breaking down technical problems, and using code to solve those problems. They are concerned with building the behind-the-scenes technology that powers website features like forms, payments, collecting, processing, and storing data, and making a website available for people to use.
If you enjoy technical problems and are interested in coding, back end development is certainly a career worth researching in more depth.