So you want to get a website built... Part 1: Determining who exactly you need to hire


Hi everybody, it's me, The Geek

On our last podcast, I discussed how to choose a web designer/developer. However, after a review of my comments with Sensei, I realized that it was pretty fast, with a lot of information that may have been a little much for some people to be able to take in. So in this series of blog posts, I'm going to review my talk, hopefully in an understandable manner.

This is part one of a three-part series, in which I'll discuss how to go about getting a website built. In this first part, I will discuss the parts that make up a website, the roles that build those parts, and how to determine which of these roles you will need to get your website built. In part two, I will discuss how to go about evaluating prospective designers and/or developers to fill those roles. In part three, I will discuss where you can look to find the people to hire.

First let's take a look at what a website actually is. Without this knowledge, you cannot it's difficult to determine who you need to hire.

A website can be broken down into two sides. "Front-end" and "back-end". The front end of a website is everything that happens in your browser. It's the design, the fonts, the positioning of everything on the page, the organization of content depending on whether the page is viewed on a browser or on a mobile device, and how interaction with the page occurs. Essentially, the front end is the website that you see and (digitally) touch.

The back-end of a website is the engine that provides the functionality of the website. This all happens on the server. The back-end handles things like handling logins to a website, storing uploaded images, saving posts to the system, converting uploaded videos into a usable format, and building the web page that you are looking at.

Building these two sides of the system requires three roles. These three roles can sometimes be handled by a single person, though the work will often be split into two or three (or more) people covering these roles. A 'back-end developer' is the role that will build the back-end, aka the engine of the website. A 'front-end developer' is the role that builds the front-end of the website, which is the HTML, CSS and JavaScript that provides the look and functionality of the website. And a 'web designer' is the person who actually creates the design, determining how the site will look, what colors and fonts will be used, and where items will be placed. The designer provides the back-end and front-end developers with something to build. Think of it as the picture on the cover of a puzzle box. Without the picture, you don't know what you're putting together.

To put these into terms that may be a little easier to relate to, consider the design and build of a car. Under the hood is all the mechanics, the engine, the transmission, the radiator etc, that provide the ability for the car to actually be able to be driven. Without any of these parts, the car will not go anywhere. In building a website, this is what the back-end developer does. They build the engine that provides the functionality of the website.

The car also needs to be designed, so that it's not just an ugly block of steel on top of an engine with four wheels, and kitcher chairs for the seats. The designer will draw concepts, determining what the exterior and interior of the car should look like, how the dash should be organized, what kind of visual features will exist, and how the seats will be shaped. In building a website, this is what the web designer does. They create the aesthetics of the website.

And finally, someone has to take the design the designer has created, and actually build the car around the engine the developer built. They need to acquire the materials to build the interior and exterior, to fit these materials around the engine, gears, and radiator, and ensure it all matches the design of the car. In building a website, this is what the front-end developer does.

So, when building a website, you need to first determine if you even need all of these roles. Many websites are what we call static. A static website is one that doesn't change from day to day, or person to person. An example would be a simple restaurant website. This website provides information such as operating hours, pictures of the restaurant, the menu, and a map. Generally these things will change infrequently, and no matter who looks at the website, when they look at it, and/or where they look at it, the site will be the same. There is no login, no posting of comments, and the restaurant owners cannot log in and change menu items at a whim. Any changes/updates to be made need to go through the site builder.

A static website does not need a back-end developer. Since the website doesn't actually do anything, other than just sit there and provide information when people look at it, no engine is necessary. Now, if you as the site owner want the ability to be able to log in and change the menu, or add the soup of the day, or maybe you want people to be able to book reservations on the site, then you need a back-end developer. Once the site needs to do something, someone needs to build the engine for it to be able to do that something.

Some site are what we call dynamic. These are sites that will show different things, depending on things like which user is logged in, which contents they have access to, what time of day it is, and/or their location. An example of this is Facebook. Each user can log in, and they have their own profile page, their own 'wall' where things their friends have shared are shown to them. Any site that has a login is dynamic. Another example of a dynamic site would be a company intranet, that a company uses to communicate relevant information between staff members. A site like this isn't trying to catch the public's attention to bring new business. It is there to allow people within a company to communicate information between each other, in a manner that allows for a smooth transfer of data. This type of site doesn't require a web designer (though having one will make the site look nicer). This type of site needs a back-end developer, who can build something that matches the company's needs.

Generally, whether a site is static or dynamic, it will require a front-end developer. The HTML of the site needs to be built, and this is what the front-end developer does. Often, the designer will also be the front-end developer, as the two roles are tightly intertwined. Most web designers will know how to build the front-end, as without this knowledge, it can be hard for them to know what the limitations and strengths are of webdesign. If they have this knowledge, they can design to the strengths of a website, being proactive in ensuring that they design a site that can actually be built. Back-end developers also are often front-end developers, as they need to know what exactly they will be powering with their engines.

So to sum this all up, the first thing you need to do before looking to hire someone to build your website, is to determine which of the above roles do you need. To determine this, you can ask yourself the following questions for each role:

1) Designer: Does the site need to catch the attention of the public? Are you building a system that will rely on people you don't know coming to the site and using it (as compared to people you do know, for example people in your company/group/organization). If so, you want a designer, as a good design with nice aesthetics will bring in more users on a subconscious level.

2) Front end developer: You probably need one of these. The only question is whether the designer and/or the developer you end up hiring will be able to fill the role, or if you need a separate person for the role.

3) Back end developer: Does the site need some sort of functionality like a login system, a comment system, contact forms, interaction with other websites, displaying information based on the time of day, or location of the user. Does the site need per-user customization? If you answer yes to any of these, then you probably need a back-end developer.


So now that we've discussed what a website is, the roles of the people to build that website, and how to determine which of those roles you need, let's move on to part two, finding someone to build your website.