What do developers joining Drupal need to know before they start?
Tuesday, December 19, 2017 by Ana
Did you decide that you want to become a Drupal Developer? Congratulations! That is a great decision. As a Junior Drupal developer, you are going to face some of the challenges. Don't worry; every Drupal developer needed to go through this. But what skills do you need to join Drupal community? Are there any particular tools that you need to be familiar with? Yup, there is some knowledge you need to conquer before you enter Drupal coding and let's see the list of important skills, concepts, and tools that we think you should already know as a beginner in Drupal.
1. PHP language
Every Drupal developer needs to know PHP language for a simple reason: Drupal software is written in it. The reason for that is, PHP is a programming language that is flexible and easy to learn, even if you come from a different knowledge background.
2. Other content management systems
There are advantages of being familiar with other content management systems. Knowing the structure and features of other CMSs can help you with Drupal. Many CMSs have similar concepts, and it can be helpful to understand how different approaches can be used for the same problems.
3. Package Managers
For installing and managing Drupal it's important to use package managers. But you need to know how those package managers work. No matter if it is installing Sass or Bootstrap with Node or Drupal with Composer, you need to know exactly what you are doing. Package managers can help you with installing, upgrading or even removing software, so they are very useful.
4. Version Control (Git)
If you want to start developing in Drupal, you need to have some experience with version control. It is an important part because it keeps the project organized. They can be easily managed and maintained with version control, that is why it's often also used in a company, so each client project is easily managed as well. The most used version control software of Drupal is Git, which keeps teams collaboration efficient.
5. Twig templating
Developers have to have some knowledge about the principles of templating because they can learn new concepts through them. All of them have similar syntaxes, so the principles can be applied to every language you use. It is important that the Drupal developer understands the principles of Twig as it’s the main templating engine for Drupal 8.
6. Command line interface tools like Drush
You don’t have to master the CLI at the beginning, but you need to be familiar with is so much that you can be dangerous with it. With it, you can save time when you are dealing with repetitive tasks, which makes you more effective. Tasks that require more clicks from you are made faster. In Drupal, you will have to use Composer, Drush, and Drupal console.
7. CSS preprocessors like Sass
It is true that CSS is not popular with back-end developers, as it’s related to implementing a design. Anyway, it's still good for a Drupal developer to know how to use it, as it's just a matter of time before he meets with it. CSS preprocessors come with variables and functions; something developers like to work with.
By correct debugging, you can save a lot of time. You can't always rely on error messages, so it is important you to know how to find a bug through XDebug or Devel (Drupal module), which track down your bug, instead of going through each line of code with try and error.
One thing you need to get to know is the Drupal community, where we all help each other. Everyone contributes back to the community. In what way, you ask? If you find an issue, you try to resolve it and share the patch or report the issue to the community where other people can help you resolve it. This is why Drupal gets better and bigger.
As a new Drupal developer, it's important to have the wide knowledge of technologies. But in the technology space, every day comes a new tool, or framework, or language. You can not be a specialist in all of them. It’s important that you become an expert in one. That is what we did in our company, everyone knows how to work with other CMSs, other languages and use other tools. But Drupal, that is what we know best. Contact us.