Back end development involves building software that runs on the server, as opposed to front end development which involves software that runs locally. The back end controls data behind the scenes, while the front end controls the UI. Both are required to create a dynamic web app.
If you’ve just started looking into tech careers you’ve probably encountered these two tech-specific terms: front end and back end. These two terms describe different areas of software development, though they are typically used in the web development industry. It is essential to know what they mean if you’re considering a career in the field.
The front end, also called the client-side, describes any part of a program that users interact with. If you’re using Facebook or Google, everything you see on the page — every button you press, and every other part of the user interface is typically a part of the front end. Front end web development involves building these parts of a program, like the UI (user interface) and UX (user experience).
What then, is back end development? In this article, we’ll consider what the back end is and what it does, why it is important, and why it matters to you.
What’s the Back End?
To best understand what the back end is, let’s look at how web applications typically function. When you load a page, the front end — the parts you can see, like buttons and graphics — is downloaded onto your computer to be displayed. Now when you interact with the front end, let’s say you enter your email, that email has to go somewhere to be stored.
This happens on the server, which is basically a large specialized computer that hosts the website. This is where the web app is stored, along with all of the data associated with it, like your email. All of the data that the site uses has to be stored and organized so that when it’s needed, it can easily be located.
In short, the back end is all of the software that runs on the server (which is why it’s also called the server side), and it’s the backbone that makes the front end functional. While some sites, typically called static sites, only really have a front end, any site with dynamic content wouldn’t work without a back end supporting it.
Let’s continue with our email example: when you enter your email into a site (let’s say you’re creating an account for the first time), the front end sends the data to the back end to be stored. Later, when you try to log in, the front end sends the email and password that you’ve entered to the back end.
The back end then checks if the email and password are the same as the email and password you have stored on the server. If they are the exact same, the back end will allow the login process. If they don’t match, the back end will let the front end know, and the front end will tell you that the data is wrong.
|Why front end and back end?|
|If this is your first exposure to the front end and back end system, this way of doing things might appear over-complicated. Why not just store everything in one place, and have one program instead of two that corresponds back and forth?|
One reason is speed. It’s much faster to keep a part of the program on your computer. If all of it was stored on the server, the whole page would have to refresh every time you clicked a button or typed in a letter.
Another reason is that it makes life much easier for developers in the long run. With complex and dynamic sites like Facebook, it’s easier to work on a program that’s broken into pieces rather than one big and easy-to-break mega program.
While this is the general concept of how the back end works, the responsibilities of the front end and back end aren’t always the same for every site, and many web apps will have different tasks for each part of the program depending on what works best for that site.
Back End Development
Back end development involves building software that runs on the server. This development work is almost entirely done with programming, and there are many different tools and programming languages that are used by back end developers. Let’s take a look at a few of these now.
- Back end frameworks – Frameworks are like templates for web applications. They come with all of the basic parts, and all the developers need to do is fill in the blanks to make a web application. Some examples of back end frameworks are Ruby on Rails, Django, and Flask.
- (Structured Query Language) SQL – SQL technologies like MySQL are used to create a database which is a means to store information like names and passwords on a site.
- Programming languages – The most commonly used languages for back end developers are Java, Python, .NET, and Ruby (which is used to build Ruby on Rails).
- Version control software – These are for managing changes to your program and are useful to almost all developers. Git, SVN, and CVS are examples of these.
If you’re interested in becoming a back end developer, consider starting to learn how to use these tools and basic back end programming sooner rather than later. Why would a job as a back end developer be appealing to you? Let’s look at some numbers.
Back End Developer Careers
According to Glassdoor, back end developers make over six-figure salaries on average. On the same site, entry-level back end developers still make an average of over $85,000 per year. In addition, Indeed lists over 10k back end developer jobs available at time of writing.
While these numbers are attractive, keep in mind that back end development jobs aren’t for everyone as they center around logic, data structures and programming. If you love structure, maths, and data, then back end development might be right for you.
However, there are many other great career opportunities in the tech field. If this sounds almost perfect except perhaps the lack of room for “creativity”, consider becoming a front end developer instead. If you’re the type to wear a lot of hats, a full-stack developer which creates both the front and back end, might just be the fit for you. The possibilities really are endless.