So, you’ve decided to join the Drupal community and want to know what are some development tips you should know beforehand? You are in the right place. Firstly, I’d like to welcome you to the most awesome development community out there.

Starting out with Drupal can be a bit daunting, after all, it is quite a bit more complex than other popular CMSs, but it’s also a lot more rewarding, powering all kinds of websites out there.

So, let’s go through what are some things you should be familiar with, to get started on your Drupal journey.

Languages

While you could create a Drupal site without any prior programming languages knowledge, to make anything more than a simple website would most probably require delving into Drupal’s back-end. For that purpose, it helps to know beforehand what technologies Drupal is using and what you’ll be dealing with. To keep this section simple, Drupal utilizes the following:

PHP 7 (Symfony Framework)

HTML5, CSS3 (Sass) and Javascript (jQuery and recently React)

Getting familiar with core PHP as well as Symfony framework plus front-end skills should get you in a pretty good position for Drupal development.

Front-end frameworks

This point ties into the point above. Read about frameworks, what they are, as well as how they are used. Frameworks are also going to become a lot more important for Drupal, due to the emergence of headless or decoupled Drupal (a concept that allows integration of various front-end technologies such as React, Angular etc. with Drupal’s back-end). This further enforces the importance of familiarity with JavaScript since all of these front-end technologies are built on it.

Twig Templating Engine

Drupal 8’s move to the Symfony framework has resulted in the Twig templating engine being used throughout. Learning Twig templating is an absolute must for any aspiring Drupal developer. The great thing about Twig templating is that it is easy to learn and use.

Command Line Interface (CLI)

Developing on Drupal will require quite a lot of time spent on Command Line Interfaces, in fact, it’s so essential that Drupal has its own CLIs, named Drush and Console. Also with tools like a Composer, you can make it a lot easier for your Drupal development efforts by learning it to get a grip with CLI.

Debugging

Ah debugging. This is an essential skill for any developer. While Drupal has a great built-in error reporting tool, there will be many scenarios where it won’t be able to catch on to problems, and that’s where your debugging skills will come in handy. Any Drupal developer worth his salt should be a good debugger. At AGILEDROP we use XDebug.

How Drupal works

Learning how Drupal works is a crucial step in your Drupal development journey. Learning the ins and outs of the CMS keeps a clear picture in your head and provides a good high-level view of what goes on behind the scenes of a Drupal site. The official Drupal site has a great in-depth section on its working.

Theming

Themes are a basic component of Drupal. They give Drupal site’s their looks and turns them from boring and bland sites to pretty and visually appealing sites. Learning how Drupal handles themes and how they are implemented should be a part of every Drupal developer's arsenal.

Version control

Version control is a form of keeping revisions for your code. This is a skill that every developer should have, regardless of the technologies they work on. Version control also acts as a gateway to collaboration with other devs and the Drupal community. As in many other open-source communities, Drupal developers mostly use Git.

Contribute to the community

Speaking of Community, Drupal is a CMS that thrives on it. Being an open-source software the community is what keeps it thriving. Drupal’s community is widely known as being one of the greatest of all open-source software. Contributing to the community doesn’t only help Drupal to grow, it also helps you to know great people while simultaneously increasing your Drupal development knowledge!

Are you starting a Drupal site and coming across hurdles? Our extensive experience with Drupal here at Agiledrop can be of great use to you! Feel free to contact us.