Web development teams are typically complex and filled with a variety of people. It is often difficult for outsiders to understand who does what.
Many roles in a development team are described with industry jargon, which hampers understanding — even for insiders. Moreover, the roles change. What used to be a core role five years ago could now be redundant. In another five years, new roles will appear and the existing ones will likely change.
And there is often no clear dividing line. People on a development team can fill multiple roles, especially in smaller companies, where one or two people do almost everything.
The terms “designer,” “developer,” and “engineer” are now mostly interchangeable. Designers typically deal with more visual and graphical aspects. Developers and engineers deal more with technical and code aspects. But many designers write code and many developers create graphics.
In this post, I’ll explain the various roles of a web development team — to help merchants and other (non-developer) executives make better decisions.
Glossary of Web Development Roles
Webmaster. The concept of a webmaster is outdated. A webmaster use to keep a site running and update the content. Since sites are more complex, this role has split into specialized tasks, such as a system administrator and operations and content specialists.
Back-end developer. Back-end developers create the server systems and code that send data to a visitor’s browser and save data to the back-end for processing. They work in a server-side language that could include PHP, Ruby, Python, .NET, or any number of other programming languages or a mix of languages.
Database developer. A database developer is a specialized backend developer. He creates databases, plans how data is stored, and tunes it all for maximum speed. There can be much overlap between the database developer and backend developer. Small teams might have one person do both. Database developers work closely with database administrators, who are in charge of the day-to-day operations of the databases and keeping them running.
Data scientist. Data scientists are a new role. They analyze all of the data from a website — such as an ecommerce store — and use that data to make technical and business recommendations. This could be, for example, recommending that “sales starting on Tuesday at 10:15 a.m. with a 10 percent discount will perform better and will increase average order value.” This role is highly specialized. It might not make sense for smaller companies. Oftentimes other team members can perform these duties.
Full-stack developer. A full-stack developer combines front-end and back-end development roles. This person, for example, could create a new design, implement the front-end of the design in HTML and CSS, connect that HTML to the back-end servers, and create a database model to store that data. This may sound like a superstar who could replace every other role. But there are limitations with full-stack developers, in my experience. Since they cover so many disciplines, they aren’t typically as strong as a specialist.
Full-stack developers can complement a specialized team by floating to the areas that need more help. For example, they might help on the back-end of a major new feature with deadline pressure and then move to the front-end to help create landing pages for an upcoming event.
Graphic designer. A graphic designer is responsible for creating new visuals and mockups of site changes. Graphic designers don’t typically convert those designs into HTML — passing them, instead, to front-end developers. They will work closely with marketing departments (to follow brand guidelines) and with user experience developers (below).
User-interface designer. User-interface designers are specialized graphic designers who cross into the front-end developer role. They deal more with how a site works (its interface) than how it looks. They decide, for example, whether buttons should be blue or green, have three-pixel rounded corners, and be positioned with at least 10 pixels of margin around them. They aren’t used as much on ecommerce sites but are common on web applications.
User-experience developer. User experience addresses how the site works for visitors. This often overlaps with graphic and user-interface designers.. But user experience developers typically approach it differently. They are more concerned with the workflows and tasks that a visitor will perform and less concerned with the visual design. For example, the add-to-cart and checkout processes would be critical for a user experience developer.
Roles Mix and Match
I’ve omitted many roles that focus on the management and operations side. They are just as important, but they depend more on the size and scale of website.
Web development roles are not rigid. They can and will shift over time as technology changes and as an organization and its people change. One person might start as a graphic designer, learn front-end development, and then be cross-trained in user experience for a third role.
For example, I began my career as a webmaster. I added system administration and back-end development skills. Then I added front-end development and user-experience design. My primary role now is back-end development, but I’m knowledgeable in front-end development, database development, user interface, user experience, and many operations roles, including marketing.
Evolutions like mine are common in web development. It’s rare to find a senior developer with experience in just one area. Keep this mix in mind when looking at potential team members. Someone’s title may be “graphic designer.” But she could have the talent and potential to do much more.