As a digital agency, we are frequently asked to define the differences between front end and back end development. The projects that come across our desks come with a large variety of requirements; after all no businesses are alike, even ones in the same industry. Everyone has different expectations from their web projects, so it makes little sense for us to have general-purpose web developers, who are jacks-of-all-trades and masters of none. Take one look at our agency page, and you will see a number of us have the title of either Front End Developer or Back End Developer. So what does this mean for your next website?
As the name suggests, the front end is what the web surfer sees and interacts with as he or she browses your website. A good website paints a picture with style, content and interactivity. A good front end developer focuses on these traits as they build websites. They turn designs and wireframes into a pleasant and refined end user experience. But how? Here are the tools a front end developer uses to make the web work for you:
- HTML - All code in a website or application is eventually translated to HTML. It's the language that web browsers understand and use to display information to users. A web developer's understanding of HTML is analogous to a carpenter's understanding of a screwdriver.
- CSS - This is what makes the presentation of the website unique. Here, the colors, fonts, shapes and sizes are applied to the HTML. Because CSS is so common, there are a variety of tools front end developers regularly use to extend, optimize and code faster. Utilities like Grunt and SASS are quickly becoming mandatory on a developer's resume.
- Databases - They store all the persistent data that a website needs to function. All of the users, orders and editable page content are ultimately pulled from a database. The structure of the data needs to be designed for the application in order to to serve up its data as quickly as possible without keeping the end user waiting for a page to load.
- Server - At the very least, a back end developer needs to have a strong understanding of server architecture. Some servers have a lot of power, others are focused on security, or are designed to perform a specific set of functions. If a new web project requires custom functionality, a back end developer will set up and configure a new server to meet its specific needs.
Putting It All Together
In the end, both front end and back end developers have to work together to make a website the best it can be. This means that even though our roles are separate and often done independently from one another, we spend a lot of time communicating. Even if back end doesn't get involved in a project until later, a back end developer will always be a part of early functionality discussions, making sure that everything a client wants can be realistically delivered, and front end knows which directions to go in when putting together the best user experiences.