The best way to understand the difference between front-end vs back-end web development is to think about your house. The part of your house that others see – for example, the way it’s painted a bright yellow, the pictures you chose to hang on your walls (perhaps you’ve always had a thing for Banksy street art) – is equivalent to front-end web development. But let’s say you go poking around in the roof, checking out the wiring, the plumbing, the electric circuitry, all the stuff happening behind the scenes – that’s like the back-end of your website.
The back-end, or “server side”, of a website is where the data is stored and it usually consists of three parts: a server, an application, and a database. Let’s say you want to take that trip to Hawaii. You’ve seen all the top movies featuring Hawaii – 50 First Dates, Tropic Thunder, The Descendents etc. – and now it’s time for your adventure in paradise. You open a website to book tickets and once you’ve entered the information, the website stores your information in a database that was created on a server. A database is like a massive Excel spreadsheet, but the server could be anywhere. Back-end developers need to understand databases, as well as server programming languages and architecture. If an application keeps crashing or is mind-numbingly slow or keeps throwing errors at you, it’s likely to be a back-end issue.
If you want to get all technical about it, a back-end web developer is involved with:
- Frameworks – these are libraries of server-side programming languages
- The Stack – includes the database, server-side frameworks, server and operating systems
- APIs – these structure how data is exchanged between a database and the software accessing it
So, what’s the difference?
Here’s a breakdown of the key differences between front-end and back-end web development.
Responsibilities for front-end vs back-end web developers
- Work with designers to bring mockups to delivery.
- Put together the architecture of the user experience and develop the user-facing code.
- Give working functionality to whatever the user sees on a website.
- Security set-ups and hack preventions
- Reporting: generating statistics and analytics
What languages should you know – front-end vs back-end web development?
- Database languages (including: SQL, MySQL)
- Web Server technologies (e.g. J2EE, Apache)
- Cloud computing integration (e.g. public or private cloud environments)
- Server side programming languages (e.g. Perl, Python, PhP, Ruby, C#, C++, Java)
What frameworks (platforms for developing software applications) should you know?
- Angular JS
- Ember JS
Skills required for front-end vs back-end web developers
- Technical ability
- Coding aptitude and knowledge of various programming languages
- Understanding what is appealing
- Good communication skills
- Technical and coding ability – understanding of back-end programming languages and frameworks (enjoyment of manipulating data and algorithms)
- Ability to work in a team
- Communication abilities
- Personality characteristics such as perseverance
Colleagues – front-end vs back-end web developers
- Designers (they’ll come up with the logo and graphics and design wireframes)
- Photographers (pictures)
- Copywriters (they’ll write the text), but you’ll be the person who will put it all together.
- Other programmers and software engineers
- Front-end developers
- Business stakeholders
Though it may appear very black and white, the distinction between front-end vs back-end web development isn’t always that obvious. Some people do both. Says Mark Lazarus, an e-commerce and web development expert: “I’m comfortable with a very wide range of technology, from frameworks such as Bootstrap, which has ready-to-use design templates for working with forms, buttons, navigation and other components, to Java (many companies prefer to use it and the skills are constantly in demand along with good pay). I found that one programming language led onto another and before I knew it, I was designing front-end and back-end of websites for myself and companies”. Mark is what one would call a Full Stack Developer. He is more of a generalist with cross-discipline skills.
Full Stack Web Development is certainly the way to expose yourself to a wide range of skills. And you shouldn’t be frightened of back-end programming languages. They have standardized styles and idioms that make writing (and reading) code logical and fun. Python, for example, is known for its readability and for its framework, Django. Dropbox was built with Python.
And the good news is that if you learn these skills, you’re unlikely to be replaced soon by a robot. Software developers have only a 12.8% chance of being automated in the future. That’s pretty low, so you’ll be almost certain to have transportable skills that are always in high demand.
Guess how many internet pages there are? More than four billion, as of July 2017. And if you know how to build, maintain and code those pages, you are going to be very employable.
Guess the weight of the internet? One strawberry. You guessed that, right? “The billions upon billions of ‘data-in-motion’ moving electrons on the Internet add up to approximately 50 grams,” states the website, Lifewire. All those websites, all those designers and developers, and it all adds up to one delicious single strawberry!