Websites 101: Developer Jargon

  • Categories:

    Digital

  • Date:

    November 09, 2016

Websites 101: Developer Jargon



Digital

When I first started building websites five years ago, I knew next to nothing about how computers work. Growing up, we had a computer in my house, and it was connected to the internet (or some version of it), but I definitely wasn’t a whiz kid programming prodigy. I turned on the computer to play fun games or chat with my friends, and if something broke, I looked for an answer online and/or pressed off/on buttons.

I’ve come a long way since then. But I’ll never forget how I felt at the starting line, when concepts I take for granted today still left me lost, confused and pondering a rewarding career in underwater welding. That’s why I wanted to translate and demystify some common developer jargon, so that anyone working in a digital environment can understand the building blocks and become active participants in the planning and development of digital products for their brand.

The server

This is a regular computer, except it doesn't have a screen. The server’s only purpose in life is to store files, wait for people to ask for a file, and then show them that file. And because this computer doesn't have a screen, the only way to see what's on it is to hook it up to the internet and ask it nicely (e.g., using a language that it understands) to show you some files. This is a basic transaction that occurs every time you type a website address into your browser; your browser takes care of the asking nicely part.

Sometimes, we take this idea of a server one step further. You may hear about the following types of servers:

Development/local server

This is a regular computer or laptop that is specially configured to intercept requests for files from the internet, and check for them on its own hard drive instead. Typically, it's easier for developers to write code on their own computers and to direct their browsers to look for those pages without checking on the internet.

Staging server

This is a regular server that developers set up specifically to share a new website with a select group of people instead of the whole world. In this case, we want a computer that is connected to the internet so anyone can access it, but users might have to enter a username and password in order to access files.

Production server

This is the real McCoy. The production server is what developers use to show the world the brand new, awesome websites we made. Depending on the application, the production server can also be unforgiving of mistakes, so we try to be extra careful about completing a thorough QA check before putting new files here.

The DNS

Remember when no one had cell phones, and we actually had to remember specific phone numbers or look them up in a phone book? That wasn’t much fun, and when people first started putting websites on the internet, they had this same problem. Enter Domain Name Servers (DNS).

DNS is the phone book for the internet. You probably wouldn’t want to have to remember 74.125.21.100:80 every time you wanted to go to google.com. Luckily, the DNS stores this number and remembers to send you there when you ask for Google. When you type a website address into your browser, the DNS is the first stop on your journey.

For new websites, this means we have to:

  1. Register the new domain. This tells the DNS to add ourcoolnewwebsite.com to the internet’s phone book.
  2. Share our production server’s address with the DNS, so that when people come looking for ourcoolnewwebsite.com, they’ll end up in the right place.

Because there are many DNS servers that handle requests on the internet, it sometimes takes a day for all of them to get wind of the cool new websites that have been registered.

The code

To some non-developer types, code sounds like the secret, magical languages we invented with our friends when we were kids, or the cryptograms we cracked while playing old computer or video games.

But at the end of the day, code is just text that is saved to a file. A website is made up of many files that are organized in many folders. These files (think .doc or .pdf) can be processed by servers and viewed by browsers.

Other than that (despite developers’ attempts to make it look scary with fancy color schemes), there is nothing special about code. Ultimately, code just means files and folders.

The repository

The repository is a place to store code. Often, the repository lives on a server similar to a staging server, where certain people have access to the files for viewing and editing. This is great for sharing code with external stakeholders and keeping track of who is working on what. The repository also helps ensure that everyone has access to the most up-to-date files.

The database

Databases are used for storing information. Typically, all of the information will be similar, so we can organize many entries in a database and ensure they all contain the same information. This makes it extremely easy and quick to store and retrieve things we may want to show on a website. I’d imagine Jay Leno has a database of all of his cars that can easily tell him the make, model, year and color, and whether or not Jerry Seinfeld has the same one.

The application

The application is the brains of the website. It brings many of the website’s pieces together. The application handles requests from the DNS and responds by processing logic in the code or fetching information from the database. The application also facilitates deep user interaction. Clicking a link might not only produce a new page – it might also change the page a user is already on and save information about their interactions. 

Take Gmail, for example: it might seem as if you access it just like any other website, but an application that offers much more lives under the hood. The application allows you to compose new messages, insert all kinds of attachments, save draft versions and, of course, send emails. Similarly, Netflix lets you login, save movies to your watch list and stream Breaking Bad for three days straight.

The CMS

CMS is an acronym for content management system. A CMS is, in itself, an application whose specific purpose is to help people change the content of a website (text and images) without having to look at code or the database where the content is stored.

The QA check

QA is an acronym you’ll hear people like me use a lot. QA stands for quality assurance. It means we’ve built something we think is pretty close to being ready, but we want to first run it through the ringer on a staging server. This is like adding an extra coat of polish and squashing any bugs before we move our website to the real McCoy.

The wrap-up

I’ve only scratched the surface of concepts and definitions that an agency developing digital projects needs to understand on a daily basis. And as digital products continue to evolve in our industry, the importance of foundational knowledge and understanding of the core concepts on which these products are built grows as well. Our team – and our clients – will always have new things to learn.

But a solid understanding of the basics gives us all the confidence we need to stretch and grow. It helps anyone become an active participant in the development of their brand’s digital products, which can only enhance the final result. 

As for me? It gives me the tools I need to help our clients achieve their digital marketing goals – and it keeps my career in underwater welding on hold. 

You might also like:

To Reach Your Customers Online, Embrace Progressive Enhancement

Development Tools and Strategies for Success