When a user of, say, weather.com types “Denver” into the search bar and hits enter, a request is sent from the website’s front-end to its back-end. The back-end receives a message that tells it to scour its database and pull up the information needed for the Denver page—everything from that day’s sunrise and sunset times to hourly temperatures to the likelihood of rain. All of that information is housed in a database that a back-end developer has created and is accessible to the front-end via the applications a back-end developer has coded. The back-end, to put it plainly, is where the crucial behind-the-curtain magic happens.
Much like a front-end developer, a back-end developer has superb logical reasoning skills, a flare for coding languages (and dexterity moving between them), a penchant for collaboration, and strong communication skills. A back-ender should thrive working with abstract problems.
Intrigued? You might just be a back-end developer in the making. Here’s what you need to know:
What a Back-End Developer Does
As a back-end developer, you’ll work with the database that stores a site’s persistent data. Essentially, persistent data are things that remain stored on a site wether or not a user is engaging with them, like weather.com’s temperature information or your photos on Facebook. Back-end developers are the reason the database responds to the front-end’s requests. Not only do they build and maintain the data, they create the applications (code that makes things happen) that answer the front-end’s request (remember, things like searching for “Denver” on weather.com create requests).
How They Do It
All back-enders must be able to work with HTTP protocol and SQL. A back-end developer should also be versed in key programming concepts. Here are the basics:
Short for Hypertext Transfer Protocol, this is the system of standards that allows data communication on the world wide web. You’re already familiar with at least one HTTP status code: 404 (the dreaded error code!) indicates that the request sent by the front-end cannot be answered by the back-end—its corresponding response does exist.
Structured Query Language is also used to communicate with a relational database, which is a database that is structured like a table (picture an Excel spreadsheet).
Think of programming concepts as the philosophy, or the rules, that makes coding languages functional. “Control flow” is an example of a basic concept. The control flow is how an application is read and executed. For example, the flow might consist of statements, which are blocks of code that will react to data differently depending on the data’s value, or it might consist of loops, which are blocks of code that will treat every item of data on a list the same. This is the tip of the iceberg, and back-end developers have a robust arsenal of concepts like this.
There aren’t many job postings out there that call for back-end developer. Rather, employers are looking for full stack developers, or programmers that can work with the front-end, the back-end, and data. Galvanize’s how-to site has free resources you can use to beef up your skill set, such as this tutorial on how to build a full stack app in 40 minutes. If you’re committed to building deep front-to-back knowledgeability, consider Galvanize Web Development, a full-time, six month bootcamp.