The Front-End Roles of Web Development

By Kathleen Taylor, Bud E. Smith

In addition to “front-facing” technical capabilities in web development, which affect things that users see and click or tap, there are back-end software development jobs as well. These typically use languages such as Python to manage the interface between users visiting a website and one or more databases which are accessed for content, and updated with user-generated information as a result.

Finally, there are many additional categories, including

  • Content developers, responsible for creating words, images, and multimedia.

  • Usability professionals, who make sure that users are able to accomplish the things they — and you — want to accomplish.

  • Interaction designers, who also work in usability, but have a more precise focus on how the user works with the site even than usability people.

  • Data scientists, who manage the large databases that are often the product of web interactions.

  • Traditional software developers, whose work is increasingly caught up in web and app development.

The maestro: The visual designer

The lead role in web development is the role of visual designer. A visual designer has overall responsibility for the look, feel, and functionality of the website.

Visual designers almost always have some formal education in art and design, and often have broad, interesting backgrounds, including work as painters, sculptors, filmmakers, print designers, or artists who work in advertising. Web design is very friendly to people who have a strong academic background and strong real-world experience outside the web world.

Even the most artistic visual designer is going to be expected to know her stuff technically — what is and isn’t possible online; how different devices display page layouts, content, and multimedia; and how to work productively with people who put their technical hat before their designer hat, or who don’t wear a designer hat at all.

Front-of-house manager: The front-end developer

A front-end developer is the logical complement to a visual designer. A front-end developer can take a visual developer’s Photoshop mock-up of a web page and make it appear onscreen as part of a website.

There are four terms that you need to know really well for any kind of web development work:

  • HTML: HyperText Markup Language (HTML) is a strange coding standard that adds descriptive information about how to display things right into a stream of text.

  • CSS: Cascading Style Sheets (CSS) are an even stranger coding standard that manage the look and, to some extent, the interaction — the feel — of a website. A general, high-level style sheet might apply to an entire website, whereas a lower-level one adds to and overrides the general style sheet for specific web pages and groups of web pages.

  • JavaScript: JavaScript is a scripting language – that is, a programmer’s tool that is only interpreted into the computer’s language when the JavaScript code is executed. JavaScript is used to do things like create a pull-down menu, and it can also do a lot of the things CSS is used for.

  • Python: Python is another interpreted language, like JavaScript. Python is good for many things, but especially for writing code to interface to databases on the fly.

Front-end developers usually study software development in school, but they can come from almost any background. Demand for these skills is so high that those who have the right mindset and are willing to apply themselves can quickly find themselves working right alongside people with CS degrees from prestigious universities.

Making things feel right: Usability professionals

Usability people make sure that websites work to specification, and then they try to improve the design to make it easy, obvious — almost inescapable — to go deeper and deeper into a website.

Usability people come from a wide variety of backgrounds. For example, teachers, writers, and actors have moved into usability work successfully. Many usability people work as consultants because their skills are most needed at certain key points in a project.

Usability-related titles include

  • User interface designer (UI designer): UI designers will go through a site with a fine-tooth comb, finding and fixing problems, and then have naïve users come in and try the site to unearth more problems yet.

  • User experience designer (UX designer): A user experience designer focuses on what it’s like for the users as they work their way around a site, trying to get tasks accomplished.

  • Interaction designer: An interaction designer focuses very specifically on what users read and where they click as they try to accomplish specific tasks. An interaction designer will help you place the Buy button on your selling page so it will get more clicks, for example.

Making things work right: The web developer

The term web developer can mean two things: any professional on a web development team, including the graphics-oriented and usability people; or only the more technically based people. Here, you find out about the more technically oriented definition.

A web developer is a full-time software developer who usually works in web-friendly programming languages such as Python, Ruby, PHP, and so on. A web developer will usually be good with JavaScript, good at database work, and be able to get tasks done in HTML and CSS.

Many web development roles are extremely demanding. On a big web development project, all the pieces are moving at once, and a web developer has to do useful work that can adapt to changes in the front end, the back end, the project goals, and anything else you can imagine. This extends to the sudden cancellation of website features or entire projects — and just as suddenly reviving them months or years later.

The web developer title is a big umbrella that can include front-end developers and back-end developers. Used properly, it really refers to the middle and toward the back end of a project. Web developers definitely need to know what’s going on within the user-facing website project, but their role is to work with the front-end developers to receive and send information from databases and other organizational resources.