As a backend developer, I get this question a lot. I’m sure a lot of other backend developers get it more than they’d like as well. Because the web development process is such a mystery to the majority of people outside of the industry, it is a common misconception that a “web developer” is the same as a “web designer.” Furthermore, there is a major distinction between a “backend web developer” and a “frontend web developer” that many people are completely unaware of. Don’t believe me? Take a look at any online job board and you’ll see people throwing buzzwords like PHP and Photoshop into job listings that have nothing to do with what they are asking for.
A developer I worked with in the past, one I greatly respect, always used metaphors to make his point. It was such a common occurrence that we would sometimes ask for an appropriate metaphor to describe a situation. Metaphors are always an effective way of conveying a point, so that’s what I’ll try to do to explain the difference between “designer,” “frontend developer,” and “backend developer.”
This is probably the easiest role to describe. In a nutshell, a designer is responsible for the “look” of a project. Imagine you wanted a custom car. The designer would… well… design what that car would “look” like. While that sounds simple, it is actually a very difficult job, as there is a lot that goes into the role. A designer has to think about the overall look of the car, he has to make sure every little piece of that car is designed consistently, and he has to make sure that it is intuitive to the driver.
Following the car analogy, the frontend developer would be the person who builds the model of the car. You could sit in it, turn the steering wheel, play with the radio, and adjust the seats, but you can’t drive it. The frontend developer’s job is to take the designer’s vision and bring it to life.
The backend developer is the guy that creates what can’t be seen. He builds the engine so the car can drive and wires up the radio so it can play music. Backend developers and frontend developers tend to work very symbiotically. Without the frontend developer, all a backend developer has is an engine, and without the backend developer, all the frontend developer has is a model car.
Now, this is a very basic explanation of the various web development roles that are available out there. The frontend and backend developer roles can be dissected into even more roles based on language, framework, or architecture. These roles can also be combined, where developers who can work on both the frontend and backend tend to be called “full stack developers.”
As a potential client of a freelance designer or developer, understanding the differences between these roles can help determine how successful the process will go, and how realistic your expectations are.