So you're new to programming, huh? I was there once upon a time, too. My experience went a little something like this:
Me: “Let’s do this! I’m a programmer now!!!!!”
Experienced Programmer: “Awesome! What side of the stack are you going to learn first?”
Me: “I have no idea” (pan into sad face)
If you are transitioning into tech or are just beginning your career, it’s unlikely that you would even know that you need to understand the differences between the sides of the tech stacks. But don’t worry, we have your back.
Let's get started. When trying to understand the difference between the front-end and the back-end of a program, it's easiest to liken it to building a house.
The back-end of a program is what’s going on underneath the program. In our house-building metaphor, the back end is more like a frame of the house. It encompasses everything users can’t see on the website, such as the database and the server.
So what does that actually mean?
This includes things like security and the ways you'll protect your data, and the data itself.
What do you mean by data, DigitalCrafts person behind the blog?
Great question! When programmers talk about data, we are referring to any information that needs to be saved and stored on the site. This includes things like assets and images, contact information that can come in from the front-end (like information from a contact form you’ve asked your user to fill out), account information, user preferences, etc. All of that information has to be organized and stored.
Back-end developers manage updates and changes, in addition to monitoring functionality. As you can imagine, users would be really annoyed if a website had to update and refresh every time they interacted with the site. Back-end programmers determine how a webpage will be updated and changed, so that users don't face that kind of frustrating experience.
Back-End Programming Titles
If you're searching for a job in the field, you may look for titles like these:
Back-End Developer (or Back-End Engineer)
Web Developer (or Web Engineer)
Most commonly, you'll see titles that are more specific, such as "Ruby Programmer" or "PHP Developer," because the specific language is important for being the right fit for the job.
The front-end of a program is more easily understood by most new programmers because it’s what we interact with as users of the internet. Keeping to our metaphor, front-end programming is like the sheetrock, the doors, the stairs, the floors and the carpet.
It’s everything you see in a web browser, such as the layout of the page and all the things we interact with: the buttons, the drop-downs, the menus, content, social medial buttons, etc. Even the colors we see on a web page were written in by a front-end developer.
Front-end development can easily bleed into UX/UI and/or design, but strictly speaking, the front-end developer actually implements the UX/UI and design elements provided by the respective teams. UX/UI focuses on layout and user experience, similar to what the architect designing the layout of a house does. The designer is the person who actually creates all the design elements of a site, similar to what an interior designer does for a house.
Front-End Programming Titles
Back-end programming titles look something like these:
Front-End Web Designer
Web/Front-End User Interface (aka UI) Developer/Engineer
Mobile/Tablet Front-End Developer
Front-End Accessibility Expert
Each of these roles has its own nuances, so do your research before applying. Cody Lindley's Front-End Developer Handbook has a great explanation of each of these roles, so starting there is a great choice.
Ready to take the next step in your career and become developer? Download our course packet for more information about our full-stack web development bootcamps.