There are a lot of disciplines that come together to create a website. Whether run by an army-of-one, or an entire organization with various departments dedicated to specialization, these are the roles that I've found through my research and experience that compromise a web development team.
But first let's take a quick look at the environment those teams work in.
It's important to understand that not all teams are built equally. They will look different based on the industry.
The freelance musician who just needs a portfolio site that can easily showcase their work has vastly different needs (and budgets) from a multinational corporation with global reach.
According to bls.gov this is the Industry Concentration for Web Developers:
- Computer systems design and related services: 19%
- Educational services; state, local, and private: 8%
- Other information services: 6%
- Advertising, public relations, and related services: 6%
- Self-employed workers: 6%
Of course, there are other areas and jobs that are needed on a web team as well, but as a full stack developer these were the most relevant stats to me personally.
In practice this means a lot of work that web developers take on is crafting the actual system that teams will use. Full stack developers need to be able to think about the big picture and connect that to broader organizational needs, both technical or otherwise.
Roles in Web Development
Now that we're situated, let's take a look at the different areas of work that a web team needs to cover. These may vary in title depending on the team, but they all touch on fundamental operations that make a website or web system work.
Below are the summaries of each role and their area of focus.
On some teams this is further divided into back end (server) and front end (user facing) development:
- Take care of site functionality & server code.
- Work with any database, data processing or other needs.
- Take care of the site's presentation implementation: layout, dynamics, css, visuals, etc.
- Establish framework for website (i.e: blueprints for design & development).
- Create diagrams, wireframes & other documents to understand the website needs & design.
User Experience Designers
- Understand user behavior/needs & translate that into an intuitive layout/experience.
- Conduct usability testing.
This team can be further divided into roles such as editors, writers, and more:
- Ensure that content being created meets style guides.
- Plan production, scheduling and focus of posts.
- Update content as needed.
- Plan project details & organize meetings, monitor development.
- Plug people into roles as needed.
- Meet with other non-web teams such as executives or teams affected by website changes.
- Review site analytics.
- Communicate with stakeholders in the web team & non-web teams about their needs, how they can (realistically) meet them.
- Test the functionality of changes before they goes live.
- Report bugs and other issues.
This covers what I've found in broad strokes. However, it's important to remember that there's overlap between roles, and having some understanding of each role is helpful for collaboration. Especially when taking on more than one role.
Websites are complicated and require the expertise of various fields. Web teams require good communication with stakeholders and team members. There needs to be great care taken to make sure that collaboration is easy and frequent so that everyone is working towards the same goals.
There are also considerations to be made about development workflow (such as Agile vs Waterfall), but those will be addressed in a future post when I have a chance to learn more.