Ah, how I have struggled with this job title. I could just say that a web developer creates websites and be done with it. But it’s like the equivalent of someone saying they’re an engineer or scientist and simply stating that they build things or do research. Ok, but what do you build? What kind of research? There are many disciplines & specialists within these fields, with plenty of overlap between (I mean, you wouldn’t hire a mechanical engineer to build a bridge).
In terms of web development, you may have (and I’m guilty of this) seen web designer & web developer used interchangeably, but what’s the difference? Front-end, back-end or full-stack? UI vs UX? Now, you may be asking, “Why would I need to know any of this?” Well, it’s the same as knowing the difference on whether to hire a plumber or an electrician. When you go on to hire a web developer to make your website a reality, it pays to know if you’re hiring the right person for the job.
In this post I’d like to give you a look at what it means to be a web developer and how one goes about creating a website. And hopefully you’ll save yourself from accidentally hiring an electrician to work on your taps (oh, you know what I mean).
- A designer will focus on the look and feel of your site
- A developer will focus on the functionality of your site
Don't feel like reading? Why not watch the accompanying video instead?
So, what does web development mean?
Technopedia provides a very good definition but in essence, web development is the process of developing websites that can, depending on the requirements, go through design, development, scripting (client or server-side), deployment & hosting. The reason hiring a web developer can get a bit confusing is that being knowledgeable in just one of these things technically means you can refer to yourself as a web developer (pretty much no job title in tech is protected by a guild, international body or equivalent). So, let’s break it down for you here.
Web Design vs Web Development
Ok, let’s get this big one out of the way. To design a site, and to develop a site are two different tasks. Designing a site involves focusing on the UX (User Experience) & UI (User Interface) of the site. What this boils down to is how you want your site to look and feel for your users.
A web designer will be an expert on using matching & aesthetically pleasing colour schemes, fonts, layouts, and ensure the general flow of the site is smooth & simple for the user. You might hear them mention using technologies such as Adobe XD or Sketch to help do this. This means that a web designer creates the blueprints of your potential new site. But someone has to make use of those blueprints.
That’s where a web developer comes in. Using HTML, CSS & JS they will write the code that will be used to construct your site. To use an analogy of building a house, a web designer is the architect, the web developer the builder.
However, that interchangeability I referred to earlier is because these tasks aren’t exclusive to one another. You’ll come across plenty of web developers that have immense skill in design, and web designers who know how to make use of those blueprints and build a website themselves. If you do see web designers/developers refer to themselves as one or the other, it will give you an indication where their focus lies, however, you’ll probably find more overlap from the web developer side, rather than the web design side.
I say this because someone can become a web designer without any understanding of programming, but becoming a web developer (especially these days) does require some basic understanding of web design. Personally, I consider myself a web developer since I have skills in both camps. I also consider myself as a full-stack developer, but what does that mean?
Front-end, back-end, full-stack, what stack?
I like to use the shop analogy when explaining this because I think it explains things quite neatly (if I do say so myself). Web development falls under two domains: front-end & back-end. Imagine you own a sweet shop. You have your store front with the name of the store at the top, an attractive front window displaying some of your best confectionary, and inside the shop are where customers can get a good look at all you have to offer, and hopefully make a purchase. Front-end web development focuses on the front-facing side of your business. This is what the customer/client sees of your business and how they interactive with it.
Now at the back of the shop is where your office is, where you keep inventory, where you keep your records, where the delivery trucks come to drop off new stock, where you do your finances, etc. This is the back-end of your business, which the customer/client never sees. Back-end web developers will create databases for your site, provide e-commerce functionality, (or basically anything that requires the exchange of data or communication between servers), etc.
A full-stack developer is simply someone who does both front & back-end. Now just because someone is full-stack doesn’t mean that they are an expert in everything, but more often than not a jack-of-all-trades (which can be an advantage) while someone who’s purely front or back-end could be described as more of a specialist. However, you can get full-stack developers that are more focused on front or back-end, so that’s always important to bear in mind.
(Just a side note, there are even titles within these fields as many specialise in a particular area, e.g. UX Designer. I’ve found this list to be quite helpful).
Now let’s take a look at the stages a web developer would have to go through to make your site a reality. To be clear this won’t be applicable to everyone, this is just a typical process you would find for an idea to be turned into reality.
This is where the skills of a web designer are used. If you’re a brand-new business this could involve discussions of choosing the best colour schemes, fonts, logo designs, etc. Or how to incorporate your current logo and colours into the site. Either way it’s all about keeping the branding consistent with the business and its target clientele. The layout of your site and its various pages would then be designed with considerations given to how your users will interact with it. Once this is finished, we move on to coding.
This is the meat of the process & where your site starts to become a reality. Depending on your needs this might mean front-end/back-end development or both.
If required, back-end code will be created to provide server-side functionality. Something as simple as contact form requires back-end code to function. Languages such as PHP or Python could be used for this. If databases are required a SQL language may be used here. Even more testing and debugging will probably occur here as it’s highly likely that sensitive information will be relayed as well as a high degree of your site’s functionality may depend on it.
Once the code has been constructed the last stage is to deploy the site. This means acquiring an appropriate domain (if you haven’t done so already) and finding suitable hosting for it. This is important because if you expect your site to grow, you’ll need to find a hosting platform that will grow with it. Before deployment the security of your site will need to be ensured through thorough testing and implementation of coding techniques to prevent malicious agents from hacking your site and stealing potentially sensitive information.
This might seem a lot to take in but it’s important to understand what kind of services a potential freelancer or company can provide you, so you don’t end up in a situation where they say “yeah, we don’t do that”, only to bring your project to a halt as you shop around for someone who does.