Being a Drupal developer can be very fun. But if you are going to be one, there are a number of things you should take into account. Aside, of course, from knowing how to actually develop stuff in Drupal. So I thought I’d share with you some things I learned along the way. If you have any other advice for novices in the world of Drupal, feel free to comment on this article.
Learn very well the backoffice of Drupal
I think this is pretty obvious. One of the most important things before doing any developing work in Drupal is to first know your way around the admin. That is, to be able to configure a core website and to be familiar with the more popular contrib modules (such as Views, Panels etc).
With the risk of sounding a bit absurd, you cannot start writing Drupal modules if you don’t know how to install and enable one, right? But don’t worry, it’s fun to play around and there are a lot of great resources out there to help you.
Learn PHP (for Drupal)
Drupal is built in PHP. This means you cannot develop any module or proper theme without knowing PHP. The good news, however, is that it’s awesome to learn and most of the time you’ll have fun with it. I myself learned PHP along the way from various online sources and in a self-teaching kind of way.
First of all, I advise you to get familiar both with functional and object oriented PHP. Initially, you won’t deal too much with objects in Drupal, but you will see later the benefit of knowing how this style of programming works. Second of all, you must familiarise yourself with PHP also from a Drupal perspective. It’s important to know the system of hooks, preprocess functions, etc that are typical to this type of application. And here the drupal.org API reference page will be your best friend - bookmark it to your forehead.
Get familiar with the standards - coding, security, commenting
There are three main standards I’d say you need to get familiar with as soon as you start developing in Drupal. First of all, you need to write secure code. It’s important that your module does not open the site up to XSS or SQL injection vulnerabilities (among others). Second of all, you need to write quality code that is consistent with the Drupal framework. This is important for cleanliness and the good functioning of the project. Third of all, you need to comment your code so that other developers can easily read and understand what you are trying to achieve.
Join the community
The Drupal community is very rich in terms of skilled and friendly developers and Drupal enthusiasts. You should learn who they are and try to engage with them - trust me, you’ll have so much to learn.
The Drupal community has many virtual representations. For instance, there is the Drupal Planet blog aggregator where many Drupal related blogs are included - a great resource for keeping up to date with blog posts on the subject. The IRC chat, the Drupal stackexchange and the drupal.org forum (plus individual issue queues) are the places you go with problems you encounter. Then there are plenty of events, local groups, cons, camps and what have you that are great places to network and meet face to face with fellow Drupalers.
As you know, the process of (self-)learning online revolves around reading a bunch of tutorials, watching videos, scouring various forum topics etc. Well, it’s no different for learning Drupal. There are many websites out there that offer great written and video content, both for free and against payment. I do not want to mention any names because it would not be fair to those I do not include. If you follow me on Twitter you’ll get a lot of resources like that.
Use social media to stay informed
I don’t need to tell you about the importance of using social media for promoting your company or product. But what some people don’t understand is that social media is also great for keeping informed about stuff. I am active on Twitter (and a bit on Google+) and I have to tell you, it’s a goldmine for staying up to date with the world of Drupal. So I definitely recommend it.
You can obviously follow the #drupal hashtag on Twitter or even the @Drupal account, join the expanding Drupal community on Google+ or like the Drupal page on Facebook. And remember what I said about the community people - many of them are also active on social media.
Above you have some of the more common things you need to look out for if you are interested in getting more involved with Drupal and you are a beginner. You who already has some experience on the matter, have anything else to add?