What does a Drupal developer do? What skills does a Drupal developer need? More than likely, especially if you're a business owner looking to hire a team of Drupal developers, your first answer would be: "He/she needs to know Drupal". It's pretty obvious, isn't it? Or, if you're not that "new" to Drupal, you might consider a Drupal developer as: “Someone who can build a Drupal site and manage it on a server”.
Well, in fact, there are a bit more "facets" of what it means to be a Drupal developer!
Since there's a whole array of different skills and levels of experience with multiple programming languages involved in the "building" and the "managing" of a drupal website. Now, let's clear away all the confusion gathered around this job title, Drupal developer, shall we?
Before I go on enlisting the main types of “drupalists'" out there, each one with its own definite set of skills and responsibilities, I'd like you to internalize this idea: there are three major areas of expertise that a Drupal developer could fit in! These are:
- website building
- module/backend development
1. Site Builder
In addition to “empowering the user”, probably one of Drupal's most innovative features is the one enabling non-developers, too, to get involved!
To contribute with their own input of skills, experience and knowledge to the overall success of a Drupal web project.
“And still: what does a Drupal site builder do?”, you're entitled to ask!
Basically, he handles the Drupal framework's configuration!
With basic knowledge of Drupal's development principles, of how contributed modules work and of their specific limitations, too, he will be able to understand how to make them work together. How to put the right ones together, so that the result should meet the client's requirements.
Without the need of a solid coding knowledge or of a custom module development experience, a Drupal site builder's main responsibilities would be to:
- set up a Drupal website
- install and configure contributed modules
- create content architecture: he'll handle navigation, content types, image presets...
2. Themer/Frontend Drupal Developer
As his name suggests: he's the one “in charge” with the “easy to work with” interface!
In a nutshell: a themer/frontend Drupal developer should have the “know-how” for turning any given design into a functional Drupal theme!
3. Module Developer/Backend Drupal Developer
He's the member of the Drupal development team who'll be coding and maintaining the entire backend:
- he'll manage all the databases
- he'll set up automated tests
- he'll write custom Drupal modules
- he'll incorporate all the apps and data
When needed, and the themer within a Drupal team has all the required skills and experience, he will get involved in certain aspects of the theme layer, too!
4. Drupal Generalist
He's the so called “Jack of all trades” of any Drupal team. The one ready to help his teammates on various stages of their ongoing projects: from set-up, all the way to maintenance.
Although he might be more “fond of" one of the three major areas of expertise, a Drupal generalist has the required skills for getting himself involved in all of them. Thus boosting his team's efforts!
You'll see a Drupal generalist in most of the Drupal teams that you'll work in/hire.
It's due to the fact that in 90% of the Drupal teams drupalists' roles are intersecting: both backend and frontend developers have the right skills and “know-how” for actually building Drupal websites, as well.
Other Roles Within a Drupal Team:
Sysadmin / Devops
This role includes multiple tasks such as:
- running the live stack
- setting up a CDN
- handling performance issues
- moving sites from test to live environments
Or “Scrum Master”, if you prefer, will be the one responsible of the Drupal project's progress. He'll be the one “joggling” with the time and budget factors and trying to solve all the problems his team might face and which could stop them from meeting the deadline.
Any Drupal team needs at least one QA engineer, right? Well, his main responsibilities, subsequently adapted to each Drupal project's particularities, are:
- setting-up automated tests
- running all the changes made to the Drupal website, ensuring that they meet all the pre-established requirements
Now, you couldn't possibly imagine a team developing Drupal sites/apps without an UX designer, right?
He/she would be responsible of crafting the whole design with the user experience's factor in mind throughout the entire process of creation. In some cases, he'll come up with prototypes to be turned into Drupal themes, as well.
He/she is the one handing the lists of specific requirements to the Drupal team, whose input impacts the whole project, the whole decision-making process within the team.
The product owner works closely with the project manager for ranking tasks by priority and approves/disapproves all the suggested changes, as well.
How Do You Become a Drupal Developer?
Being a non-Drupal developer already will most certainly boost your Drupal development learning process.
Your “road to success”, or better said “to becoming a successful drupalist”, includes two major steps:
- first you build a Drupal site, getting familiarizing with the very basics of this framework
- then you go to next level: you'll start developing Drupal modules
Your learning curve won't be short, I won't hide this from you!
It takes time for you to get to write custom modules. To put together PHP basics with API and Drupal functions for supercharging your Drupal web development projects.
Are you decided to learn the Drupal way and the Drupal APIs at the university? To attend your classes on Drupal features and on how to maintain your Drupal website's architecture?
Or you'll be a self-taught Drupal developer (relying on various information-loaded online sources)?
No matter which one of these 2 scenarios you fit in, do not expect to become a Drupal “expert” and to gain your hands-on experience in one day!
How Do You Get Better as a Drupal Developer?
At some point, you might want to expend your set of responsibilities, within your team, from building Drupal sites to being in charge with certain aspects of the backend development, too.
For you “leveling up” means starting to learn all about the Drupal way and the Drupal APIs.
Also, if you have no programming experience whatsoever, I encourage you to consider improving that aspect, too.
Still, take baby steps: start with the basics of PHP, then keep learning how to code like a pro'.
Get (even) better! This is my fist advice for you!
Since you can never know “enough” or “all about” the ever evolving CSS and Javacript, you should strive to get better at theming/frontend development while keeping up with all the CSS and Javacript updates and new releases.
Simultaneously, you can, of course, dive into module development. Such acquired skills and experience will always weight a lot on your resume as a Drupal themer.
You'll instantly become an ever greater “asset” for your own Drupal team, no doubt about that!
“Where do I level up from being a module developer?” you say?
Let me give you some clues:
- you could dig into acquiring all the needed skills and knowledge for becoming a solutions architect
- you could dive into theming
- you could learn to master other PHP frameworks, too, if you want to achieve more as a backend developer
How about you? Is there a “builder”, a “themer” or a “module developer” locked inside you? Or, on the contrary, you are already using your skills, as a Drupal developer, for bringing your contribution to the Drupal community?
Are you a “wannabe drupalist” maybe?
What do you love most about your role as member of a Drupal team? Have you been making progresses if you're now learning to become a Drupal expert?
Feel free to share all your opinions, questions or doubts about being/wanting to become a Drupal developer in the comments below!