Try Googling ‘web development jobs.’ Most are called front-end, back-end, or full-stack. The back-end is how your computer got this article when you went to VentureLessons.com. The front-end is how your computer knew this should look underlined and this should look bold. Together, they’re the full stack.
The point of the Internet is for computers to get data from other computers. The data can be Instagram photos, e-mails, Tweets, Amazon orders – anything you get by typing in a Web address or clicking a link. When you went to VentureLessons.com, one of our computers “served” your computer the data for this article.
In the early days of the Web, every address got static data. Anyone who went to a certain address would be served the same thing. But today, many addresses get dynamic data. ‘Dynamic’ means two people asking for the same address might be served something different. Type in www.facebook.com, and you’ll see something totally different depending on:
- If you’re already logged in
- Which Facebook account you’re logged into
- What kind of computer you’re using
Back-end developers control what data gets served. They write the code for computers called servers. When you log in to Facebook, a server checks your username and password against Facebook’s database. A server writes a log on Facebook’s computers of when and where you accessed the site. A server decides which of your friends’ posts should show up in your newsfeed.
This article that you’re reading is more than just words on a screen. It has bolding, italics, and headings, and is on a website that uses layout, colors, pictures, and graphics. When VentureLessons.com served your computer the words of this article, it also served code that told your computer how the words should look. Front-end developers control what your computer does with data after it gets served.
Front-end code makes something pop up when when you click a button on a webpage. It powers video games you play in your web browser. When you scroll to the edge of a Google Map, front-end code loads more of the map.
Front-end and back-end development jobs are more similar than different. This is why there are many full-stack developers, who write front-end and back-end code. Almost all web developers are at least a little full-stack because to understand one “end” of development you need to be familiar with the other.
Whether you’re front-end or back-end, you use programming languages that have data types, variables, if/then statements, and functions. Your code should be readable, efficient, and performant. Your boss may expect you to use project management software like Jira or Asana and version control like Git or SVN. They may also tell you what code editor to use, but almost any editor you use for back-end code can also be used for front-end code.
Back-end developers can use any language because their code only runs on computers they own. There are back-end jobs in Ruby, Python, Java, Go, and virtually every other programming language. As long as my computer can read the data your computer is serving, it doesn’t matter what programming language your computer uses to create that data. In the same way, it doesn’t matter if you write a letter to me with a pen, pencil, or dot-matrix printer, as long as I can read the writing.
Because back-end developers write code that takes private data and sends it to strangers’ computers, they think a lot about security. Front-end developers think less about security and more about user experience – how a website looks and feels. They may need to take mock-ups created by a designer and write the code to bring them to life.
Every person has a different opinion about whether a design is “good” or “bad,” so a front-end developer might make lots of little tweaks in response to client feedback. Back-end developers are less likely to need to do this since most people will think a server is “good” as long as it works.
If a website is a stage, front-end developers are the actors, and back-end developers are the crew behind the scenes. Front-end development may be a better fit if you’re interested in creating user interfaces. Back-end development may be a better fit if you’re interested in security and connectivity.
Where should you start?
But it doesn’t really matter. Whether you start off with front-end or back-end programming, you’ll end up learning about the other “end” too. Once you learn one programming language, it is much easier to learn a second one. The important thing is to just pick something and start writing code.