Guides > Develop Drupal Sites

Overview

Developers, also known as engineers or programmers, use their knowledge of PHP, MySQL, HTML, JavaScript, and CSS to extend, alter, and enhance Drupal by creating modules. One of the more common tasks that developers do is to create “glue-code”: modules that make minor alterations to the way an existing module works that are application-specific, or modules that tie existing modules together in a unique way, without modifying the original code.

When creating solutions to meet their specific use case, developers do so with an eye towards creating reusable tools when possible, and/or collaborating with other developers to enhance existing tools that are close to, but not quite, the solution needed.

Developers are generally expected to be proficient with Drupal site building, and to know how to leverage the ecosystem of existing contributed modules and Drupal core APIs in order to prevent duplication.

PHP is the programming language in which Drupal software is written, so you should be comfortable with it before diving in. Drupal 8 is largely written using object-oriented programming (OOP), while Drupal 7 is written primarily using procedural programming, though you'll encounter a smattering of object-oriented elements there as well. As you learn to develop modules for Drupal, you’ll use a combination of PHP fundamentals combined with Drupal-specific functions and APIs.

What will you learn

  • Alter and extend Drupal through plugins, hooks, and events
  • Create or alter forms and their workflows
  • Work with useful objects called services
  • Present content for display using the Render API
  • Utilize Drupal's menu and navigation system
  • Write secure code

Drupal 8

Background and prerequisites

Coding

YAML, which stands for YAML Ain't Markup Language, is a human-readable data serialization format that's been widely adopted in a variety of use cases in Drupal 8, including info files and menu routing.

Local development set up

Developers are expected to know how to work on a copy of the live site, instead of making potentially hazardous changes or testing new ideas directly on the live site. You should be able to set up a development environment for your work.

Tools

Essential lessons

Developers will need to know how to create new Drupal modules--bundles of PHP code that extend, alter, or otherwise enhance Drupal's functionality. This requires knowledge of Drupal's system to allow your custom code to interact with existing functionality. You'll also need to get familiar with the suite of APIs that make up the Drupal framework, many of which exist to ensure you don't have to rewrite the same code over and over. These essential lessons will give you an overview of what Drupal is doing "under the hood". Dive in to an individual topic and explore related tutorials to understand how to leverage it in your custom module.

Introduction

APIs and Systems

Advanced concepts

Dive deeper into the systems, APIs, tools, workflows, and best practices of Drupal development.

Drupal 7

Background and prerequisites

Coding

Local development set up

Developers are expected to know how to work on a copy of the live site, instead of making potentially hazardous changes or testing new ideas directly on the live site. You should be able to set up a development environment for your work.

Tools

Essential lessons

Advanced concepts

Learning tips

Learning to be a master of Drupal development can be a daunting task, especially when you're just getting started. There's a lot to learn, and a lot of the best information is spread out across Drupal.org and various other websites, books, and podcasts. As you're climbing the ladder and becoming more proficient with Drupal, here are some things to keep in mind:

  • Drupal is open-source software, and as such, the code is freely available to read. Looking at how Drupal core or other contributed modules have solved problems similar to yours is a great way to get started.
  • The Drupal API is quite extensive; focus on mastering high-level concepts and terminology first. Don't try and memorize all the details--instead, use the tools available to look up the documentation and examples for implementation-specific details.
  • Knowing when to write custom code vs. using an existing solution is an important skill.

If you are interested in taking the Acquia Certified Developer Exam, you will also definitely want to work your way through our exam guide.

Broaden your skills

There are many ways to grow your skills and knowledge outside of tutorials. Here are some of our favorite resources for exploring Drupal development.

Contribute to the Drupal project

Although not a requirement, many Drupal developers also enjoy being active members of the Drupal community and contributing their solutions back to Drupal.org in the form of a contributed module, or by helping to resolve bugs in the modules they use, or even in Drupal core itself. Nothing will improve your understanding of Drupal like explaining it to someone else--or taking pieces of it apart and fixing them.

Podcasts

The following Drupalize.Me podcasts may also be of interest to developers.

Community Events

DrupalCon sessions and other local/regional events are a great way to get up to speed on the latest in Drupal development. All DrupalCon sessions are recorded and are available for free on the Drupal Association's YouTube channel. Many Drupal "Camps" (local or regional Drupal community events) also record sessions. For DrupalCon and many other Drupal events, the recorded sessions are embedded on the session description pages on the event's website.

Meet some developers

Get to know more about what it means to be a Drupal developer through these interviews:

Testimonials

Back to top

"Drupalize.Me has trained thousands of Drupalistas. Their video lessons help to address our constant need for more Drupal talent. Drupal needs training like this to support its growth."

Dries Buytaert
Drupal Founder and Project Lead
Roger Carr

"They’re easy to understand. They’re thorough. They’re funny. They’re always entertaining, and it makes it easy to learn parts of Drupal and how you can integrate it into your workflow and learn more and have a good time doing it."

Roger Carr
Drupalize.Me Member
Roger Carr

FAQs

Back to top

Am I required to sign a contract?

No. You can purchase a membership and/or cancel any time. Drupalize.Me is a pay-as-you-go service.

Can I preview tutorials before joining?

Yes! Just navigate to our tutorial library. Our free tutorials are labeled with a green "FREE" tag.

Can I watch videos on my mobile device?

Yes! Drupalize.Me is a responsive site and can be accessed in the browser on any mobile device.