What Does a Drupal Developer Do and Know?

Drupal is a complex content management system (more specifically content management framework) offering great possibilities both for businesses and developers. Although the multitude of tools and subjects to learn can be overwhelming for them at first, this CMS will reward the programers with interesting technical challenges in the long run. They can also count on the support of the constantly evolving community. Do you want to become a part of it? Learn what exactly a Drupal developer should know and do.

Who are Drupal developers and what skills do they have?

These specialists build and maintain websites and applications based on Drupal, an open-source system. They know its administration panel inside out. However, their abilities reach even further than that because they can create dedicated Drupal modules and themes as well as turn business needs into new features. In fact, these developers need to combine different types of knowledge and skills.

PHP and PHP framework

Drupal developer knows both PHP and one of its frameworks. It comes from the fact that Drupal 7 was created in PHP, and version 8 was built using Symfony. The latter is a PHP framework for building web services, applications, microservices, and APIs. Knowledge of PHP usually requires knowledge of Twig, its template engine (used in Drupal 8 and 9).

Frontend languages

The specialist working with Drupal is also familiar with JavaScript. We mean specifically here jQuery — a JavaScript library that facilitates carrying out a standard DOM (Document Object Model) and AJAX functions. However, working experience with Angular, React, or Vue is an asset too because one of these JavaScript frameworks can be used as a frontend of a headless Drupal solution.

Drupal website development

Considering that this type of developer creates websites, they obviously know HTML and CSS. The browsers turn the code of these languages into webpages. A Drupal developer also works with CSS preprocessors like Sass and Less. They extend the CSS language with new features which make the styling frontend faster. As the browsers don’t understand the code written with Sass and Less, a developer knows how to use JavaScript task runners, f.e. Gulp or Grunt. They enable compiling code from the abovementioned preprocessors to a regular CSS.

Drupal developers can create taxonomies, nodes, content types, image presets, and navigation, as well as work with Drupal APIs. As for the latter, we mean, for example:

  • Form API used for creating and processing forms on a website,
  • Render API, which deals with the render arrays, pipeline, elements, and caching,
  • Cache API that stores data taking a long time to compute,
  • Database API provides a developer a standard abstraction layer for accessing database servers.

Regarding databases, a Drupal developer also knows SQL and MySQL for setting up Drupal databases.

Modules creation

The modules are plugins that extend the possibilities of Drupal and enable integrating it with different third-party tools and services. They are provided for free by the community gathered around this CMS. The developers know how to research, install and configure modules most appropriate for a particular project. They should also be able to build new modules as sometimes meeting customer requirements involves creating custom solutions from scratch. Drupal developers need to know how to do it using core hooks and module hooks.

Themes creation

The same as with modules, the programer not only configures themes, offered by Drupal Community, but can also build them from the ground up and make them possible to validate with a solid HTML/CSS. Custom themes are needed as the client may need a unique and complex design for their website.

For this type of work, developers have to have a solid knowledge of HTML, CSS, and JavaScript as they operate with a theme layer. They should also be able to implement responsive design.

Member of a Drupal Community

Two of the ideas behind open source are that everyone can contribute to building such a type of solution and then freely use it. Drupal Community is huge and still growing. Its members have been voluntarily written all code of this CMS. Each developer using it should also join others in improving and developing Drupal. They can do it by reporting or resolving existing issues in the projects, maintaining a theme, module, or distribution, to name a few.

How to become a Drupal developer?

You can learn Drupal development yourself or with the help of specialists having knowledge and experience in work with this CMS. The first path takes longer to complete (it also depends on the individual abilities) as you may not know where to start. Here are some ideas you can use.

  • You can begin with building a site by clicking and checking different configuration options to familiarize yourself with the administration panel.
  • Then you can explore the Views module by trying to make basic views and blocks. When you’ll feel comfortable with it, challenge yourself with creating more complex views with relationships and terms.
  • The next step can be themes and modules. Analyzing the code of the last ones, you’ll understand how they’re built, as well as see the possibilities of Drupal’s core. Explore the most popular modules to get to know some good PHP programming practices and naming conventions.

Learning alone, you can decide what subject you discover when you do it and at what pace. The downsides may be the problems with systematizing the knowledge and verifying your solutions. However, the Drupal community will give you a helping hand in such situations.

Within the second learning path, the experienced developers can provide you with a well-thought-out Drupal Training that consists of the topics you’ll need in your future daily work.

Learning with experts in the field, I get solid knowledge resources, substantive support, and fast answers to my questions. Without the help of the meteor, I’d be still programming reproductively with a limited understanding of different subjects. — Marcin Dębicki, Drupal developer.

How long does it take to learn Drupal development?

It all depends on the abilities you have, the time you can spend on learning and using this knowledge in practice. If you don’t know PHP, it’ll take longer for you to learn both this language and Drupal. When you’re already familiar with PHP, and you’re:

  • gaining knowledge alone — it can take from one to several years to feel more comfortable,
  • practising with the help of good developers — you may become an independent developer after about a year.

Learning materials

The already mentioned Drupal Community is a great source of knowledge. Its contributors prepared a page with a step-by-step guide on how to install, use, and understand this content management system. You’ll find there how to start with Drupal and which subjects to follow after that (with links to them), as well as loads of other learning resources like videos by Bob from Mustardseed. You can find more free tutorials on VideoDrupal — the community website, or on the Drupal Association YouTube channel. We also show how to do something in the system and share knowledge on modules on .

As for the paid resources, you can f.e. try Drupalize.Me — a training platform with a library of video tutorials, or get the expert books. On Goodreads, you’ll find quite a few publications, like:

  • Drupal 8 Development Cookbook,
  • Drupal 8 Module Development: Build modules and themes using the latest version of Drupal 8,
  • Drupal 8 Theming with Twig.

Another method that can support your learning is attending the events. The biggest one is DrupalCon which gathers the users and companies related to this CMS from all around the world. It offers sessions for the developers at different levels. However, there are also many local events like DrupalCamp Poland.

Finally, the fastest way to become a Drupal developer is to join our team and learn from the best experts who will be your mentors.

Originally published at https://www.droptica.com.

Enterprise websites built with best Open Source solutions. We are an Agile software development company. We create big websites with Drupal 8, Symfony and React