Search form

5 Steps to Build a Great Drupal Team: Step 1. Teams, roles and skills

In order to successfully create a great digital experience with Drupal, you need a great Drupal team. Building a great team requires some thoughtful planning and possibly widening your net a bit. In this blog series, we'll be looking at the 5 Steps to Build a Great Drupal Team.

With the rapid growth and change of the web, and the constant change of roles and job definitions, employers in the field of web development find they’re competing to attract the brightest talents. It’s definitely a job seeker’s market. It wouldn’t be overstating the fact to say that hiring in all fields of technology is a major challenge. In that sense, the Drupal community is no different.

Step 1: Understanding typical teams, roles and skills

In Step 1, we’re going to talk about team composition, roles and job titles along with the skills you should be expecting to encounter in a Drupal project.

Typical implementation teams

Explaining Drupal Roles

Matching skill levels to requirements

If you’re an experienced digital agency but adopting Drupal for the first time, or you are bringing Drupal development in-house for the first time, or if you're looking to leave freelancing behind and run your own Drupal company, then you’re probably hiring and growing your first Drupal team.

The positions you need to fill will depend on your existing team members’ skills and the limitations of the training needs you can meet. The roles in a particular team depend on a number of factors:

The size of the company or size of projects

Are you client facing or working on internal projects?

Your company’s niche focus

Typical implementation teams

The varying features and functionality of Drupal projects dictate team composition and size. The difference between small and large teams is more than a matter of numbers. To understand what type of team you need, it helps to understand the composition of each.

Small Teams: Where everybody knows your name

Small teams are appropriate for straightforward development projects involving a single site, limited custom development, and little or no systems integration. On a small team, every member of the team is aware of all aspects of the project, and roles might be blurred. Communication and coordination is relatively easy as a result.

Angelo Vanmarcke, lead developer at MAISTER creative service unit is responsible for all aspects of implementation. The internal team collaborate on the visual design, flow charts and planning. In their case, the project manager is also a junior developer who can also do some site development, translation, pixel-perfect theming and client training. Overall it's the job of their project manager to consult with the client bringing designs and plans back and forth from client to internal team. “Sometimes, when things go wrong, I personally communicate with the client”, Angelo says.

A small implementation team consists of two to five people. The roles on a small team may include:

Technical Lead (required)

Project Manager (required)

Junior Developer

Themer

Quality Assurance Specialist

Large Teams: Scaling to meet complexity

Project teams grow in size to accommodate more complex projects. Large teams are equipped to handle complex custom development projects involving one or more codebases.

“Roles become more crystallized on larger teams”, says Balázs Dianiska, Technical Consultant at Acquia. “As teams grow in size, communications can break down. In order to scale, you need to clearly define responsibilities and tasks.”

Large teams often have more than one person filling a role and a hierarchy of responsibility. Roles on a large team may include:

Project Management Team

Engagement Manager

Project Manager

Quality Assurance Specialist

Technical Team

Technical Architect

Technical Lead

Senior Developer/Developer

Junior Developer

Themer

Explaining Drupal Roles

As I’ve researched the Drupal-specific roles, colleagues and partners have agreed that team roles don’t always correlate to job titles. Role playing games (RPGs) provide a good analogy to explain this. In RPGs you have team roles which are different from character classes. Roles such as defender, controller, leader or striker can be taken by different characters; perhaps your striker is a knife-wielding rogue or a magic-hurling warlock. Likewise, on your Drupal team you may have a site builder who is responsible for client training; or a front-end developer who is knowledgeable enough about Drupal to be the themer on a team.

If you’ve never built a Drupal team before, familiarize yourself with these typical roles listed below.

Project Manager

Project managers deliver projects on time and in budget. They manage project timelines, delegate tasks, and track project resources. They need excellent communication skills, and should be highly organized. We strongly recommend knowledge of Agile methodology and one or more project management software packages.

Visual Designer

Visual Designers create the look and feel of your site. On larger teams, designers don’t necessarily touch Drupal. However, if they understand The Drupal Way, they will be able to create more efficient designs which are easier to implement. Designers could achieve the level of Drupal knowledge they need in aDrupal in a Day course, for example.

Site Builder(s)

There may be multiple people completing the site building tasks on any given project. At the foundation of Drupal skills, site building is the most essential requirement for all development roles. Team members responsible for development should know the configuration of the most popular modules; content types and views; roles and permissions; navigation, menus, taxonomy; actions and workflows. They should be able to compare the best approaches in any given situation. The learning objectives in ourSite Building course have a good outline of the skills required.

Front-end Developers

Front-end developers takes the visual designer’s work and turns it into a web page or interface. They program interaction with JavaScript and/or a library such as jQuery, YUI or Prototype. They test cross-browser, cross-platform, and/or cross-device compatibility for inconsistencies.

Themer

Themers are front-end developers with specialist knowledge of the theme layer in Drupal. They create sub-themes on common base themes and may create custom themes. This might not be a distinct role on many teams. Instead, a developer on the team might have this expertise.

Back-end Developers

Back-end developers modify existing code and write new custom code to power the functionality of a Drupal site. A typical Drupal build will have two types of modifications which require custom code changes. Junior developers should be able to handle small changes in markup output. Senior developers will be required where there are integrations or new functionality in custom modules. We teach the essentials ofmodule development, but senior developers learn the nuances of best practices with mentoring and experience.

Technical Leads and Architects

Technical leads and architects are back-end developers with broad experience with Drupal. They understand how to analyze and set requirements. They establish the high-level development strategy through module selection and configuration. They focus on sitewide concerns such as integration, scalability, performance, and security.

However, even these highly experienced experts wouldn’t be expected to know everything there is to know about Drupal.

Specialist Roles

These might include user experience specialists, quality assurance specialists, applications testers, accessibility compliance specialists, and other roles specific to your project. Not all the roles on your team will need to know Drupal in and out. Arguably, some of the roles, such as quality assurance, don’t need to know Drupal at all, though they could get the base level of understanding througha free 3 hour “Hello Drupal” course to improve communication internally.

Matching skill levels to technical requirements

This matrix will help you plan a team based on the technical skills that your project requires.

Key

Beginner 1

Intermediate 2

Advanced 3

Expert 4

Drupal specific skills

Project manager

Visual Designer

Junior Developer

Developer (front end)

Developer (backend)

Senior developer/ technical lead

Technical architect

Drupal Community Involvement

1

1

2

3

3

4

4

Content modelling and site building

0

1

3

3

3

4

4

Theming

0

2

2

2

2

3

3

Architecture and planning

0

0

1

1

2

3

4

Custom module development

0

0

0

1

2

3

4

Performance and security

0

0

1

1

2

3

4

There are two Drupal specialist roles which sometimes appear job titles, though we have not included them in the table above.

Site Builder: This is a Drupal specialist who may or may not have the levels of HTML/CSS/PHP to have a Developer job title. They sometimes take other client facing tasks such as training.

Themer: This is usually a front end developer who has Drupal expertise. This is a highly specialized area as themers must know a considerable amount of Drupal site configuration, as well as client side development with CSS and JavaScript.

Web development skills not specific to Drupal

The Drupal community keeps a list of transferable skills which would be useful in assessing potential candidates.

The table below should give you a rough idea of the typical skill levels of each job title, of course keep in mind that the roles in web development are constantly changing.

Project manager

Visual Designer

Junior Developer

Developer (front end)

Developer (backend)

Senior developer/ technical lead

Technical architect

PHP

0

1

2

2

3

3

4

HTML

1

4

3

4

4

4

4

CSS

0

4

2

4

2

2

2

JavaScript

0

2

2

3

2

2

2

Version control

1

0

1

2

2

3

4

MySQL

0

0

0

2

3

3

4

Infrastructure**

0

0

0

0

1

3

4

** Infrastructure includes server configuration such as Apache, Nginx and multiserver environments; and cache tools such as Varnish, Memcache.

As you can see there isn’t a clear cut “dream team” for Drupal. Also it’s worth considering how you can nurture junior developers to become the senior developers on your teams. What kinds of mentoring and training programs do you run for your teams?

this is a great post. I have few observations, which have seen for
the past few years for a typical drupal team.
The Visual Designer and the Front-end developer, generally are
considered as one resource even in bigger projects.
Performance, i think Visual Designer should also have some
involvement, as your fancy looking thing can be performance heavy to
implement.
Should technical architect, should also know the overall concept of
RDBMS and HDBMS or MongoDB kind?. As sometimes, based on the solution,
MySQL might not be the best bet for the architecture.
Infrastructure, how much the architect should know, picking up as that
is the highest number :). As hosting providers also have some
involvement there.

Plain text

Filtered HTML

Use [acphone_sales], [acphone_sales_text], [acphone_support],
[acphone_international], [acphone_devcloud], [acphone_extra1] and
[acphone_extra2] as placeholders for Acquia phone numbers. Add class
"acquia-phones-link" to wrapper element to make number a link.

To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.