What All Goes Into the Back End of a Website?
Although the aspects of back-end development depend on the specific project, some key things that our developers consider include the following:
System architecture changes depending on each project, and it is a back-end developer’s job to find out what systems a website specifically needs. Let’s say you visit a website to purchase concert tickets. While you typically only interact with a single, unified interface for making the purchase (the front-end), there are probably several components of the website working together behind the scenes such as:
- A system to reserve one or more tickets at booking time
- A payment gateway that processes credit card information
- A shipping platform to send tickets to a specific address
- A notification system to send ticket information to the customer
A back-end developer’s job is to write code that coordinates interaction between all these systems and accomplishes this interaction within milliseconds.
How do developers write good code? In object-oriented design, developers map the concepts on code onto real-world things. For example, a developer may write a
ConcertTicket “class,” a grouping together of the behavior and aspects of real-world tickets. In this example, a ticket “knows” how much it costs. In dev-speak, you might say the ticket class has a
getPrice method. A method is a way to get information from a ticket, or make a ticket do something. Other parts of the code can get the price of a ticket by “calling”
getPrice. Good software design organizes code into these classes and methods in a way that maps intuitively to the real world.
Software performance is concerned with how long code takes to run. In web development, this often has to do with page load times. Imagine ordering a ticket and having to wait for an email with a receipt to be sent before a confirmation page loads. If the email system were backed up, this would result in poor performance.
Security is a fine balance between letting the user take the actions they need to take, without giving them too much power. In our concert ticket example, a user might go to example.com/ticket/1234 to print their ticket. If the site allowed the user to simply change the URL to example.com/ticket/1235 and print someone else’s ticket, that would be poor security. It is important to write code that enforces rules about who can access what.
In The Process
The process of back-end development takes big technical problems, breaks them down into smaller issues, and then solves each small issue in code.
Although “code” can refer to either the back or front end, the front-end code is executed by a browser while the back-end code runs on a server. Both development teams work together in a tight loop and send projects back and forth—especially on complex projects. One part of back-end development is investigating software bugs (errors in a computer program or system that cause it to produce an unintended result) and finding resolutions to them. The process of how to resolve bugs depends on the needs of the project, but is often carried out by:
- Reproducing the issue on a test version of the site, in as few steps as possible
- Editing the code with a possible solution
- Running through the test steps again
- Repeating as necessary
Fixing bugs is just one small part of programming. Back-end developers perform many other tasks such as integrating with external APIs and designing data models to ensure data integrity.
Reasoning with different levels of abstraction and coordinating between different systems can be very intricate and challenging. At the end of the day, the result is not only rewarding for developers but allows them to bring the website to life.
“I love the amount of learning that takes place. Because no two problems are the same, I’m able to learn new techniques with every project I work on,” explains Coby.
Want to learn more about back-end development? Check out these favorite resources from Scott and Coby:
Follow along with our blog series every other week to read more about our departments. Our upcoming Breakdown series topics are:
- Project management
- Quality assurance (QA)
In the meantime, connect with us on social media to keep up with our team, blog posts, projects, events, and more.