Drupal is a great piece of software. It’s no surprise then, that you may be interested in building a career in Drupal.
And the good news is that you can. There are lots of career opportunities for those who want to work with the CMS. In fact, Drupal can be a very lucrative area within the web, application, and software development industries.
In general, Drupal is seen as a highly specialist area, and Drupal experts are in short supply.
The companies who hire Drupal professionals often find themselves in a position where they simply can’t get rid of them. That’s a good thing, by the way — for all Drupal professionals.
There’s actually a common misconception within the web development industry, which I’d like to politely debunk. It’s the assumption that developers are the only talent within the industry who are capable of making good money. As it happens, there are a plethora of roles and vastly different job descriptions for talent within the Drupal ecosystem.
As a platform, Drupal is extremely specialist, I admit. It requires knowledge and experience on an intricate level, in order to take advantage of the CMS’s full potential. And that takes a lot of time, and sometimes money (I’ll get to that in a bit).
The CMS is capable of developing solutions that are simply impossible with competing content management platforms. Drupal is also used by some of the largest and most influential organizations in the world, providing career opportunities at every stage of the Drupal process. Take Verizon, Johnson & Johnson and Pfizer, for example. These organizations serve millions of consumers, internationally.
But there’s a question you have, right? I can hear it through the screen: Can I build myself a career within such a niche area of web development, and how?
Well, it’s a tough question, with an equally tough answer. But, you’re in luck. In this guide, I’m going to break down the entire process, and explain every step you’ll have to take, with the pros and cons, of building a successful career in Drupal.
Why should you trust me? Because I’m a Drupal professional with over a decade worth of experience working with the software. Admittedly, there are people within the Drupal community who have been working with the software for even longer (it’s been around for nearly 20 years). But I think that my personal experiences with Drupal have been fairly unique. As well as the sheer volume of Drupal clients I’ve worked with, I’ve also been privy to an enormous variety of project complexities and requirements, and have been a part of several successful Drupal-powered ventures.
But let’s get back to talking about you.
There are definitely benefits in being a jack of all trades, but ultimately, you’ll be a master of none. The web development (and application development) market is already so saturated, that it no longer makes sense to seek or expect career growth in an area where you’ll struggle to stand out. Today, there are many thousands of great web developers. But they’re all generic in terms of speciality.
Drupal is not generic.
In an industry as saturated as webdev, you need to be able to differentiate yourself. As we all know, though, the competition today is explosive. Even if you are great at what you do, there are already a ton of other professionals who can outrank you:
- They have more experience
- They have more qualifications
- They have greater technical skill
- Their creative flair is on-point
You get it, it’s competitive. Especially in today’s world, where employers and recruiters are empowered with an abundance of ways to locate a professional instantly, the field becomes tricky fairly quick. Anybody who’s made an attempt at building a solid, successful career in web development will have experienced this. But only if they haven’t sought after a niche.
And that’s where Drupal comes in.
Of course, there are many a niche to choose from, but Drupal is a great micro-niche to enter within the web space. Better yet, there are lots of areas of skill within the Drupal ecosystem, it’s really not just for developers.
The Drupal market is a great one, having had many years to mature. For so many reasons, Drupal takes pride in the fact that it has maintained a thriving ecosystem of job and career opportunities.
In fact, today Drupal is one of the most specialized niches of web and application development and boasts more maturity than many others. Drupal really has stood the test of time.
The Shortage of Drupal Talent
There is currently a huge shortage of Drupal-proficient professionals, and that’s likely fueled by a few different triggers.
Reason #1: The Drupal community has matured over time, and those who haven’t remained dedicated to the CMS will have fallen out of interest working with it, likely migrating their work (or that of their clients) to alternative solutions. Some of the popular alternatives to Drupal include WordPress (for less functionality), and Laravel (for a more generic framework-based approach). However, we’re only talking developers here.
Reason #2: Drupal takes time to learn, though it isn’t inherently difficult to learn. One of the reasons for this is that it often doesn’t conform to the typically rigid content creation process that so many other CMSs fall into. This inadvertently puts off a lot of people from jumping into the Drupal ecosystem head-first, so to speak, as it’s just not feasible for everybody to devote the time and demand Drupal education will take.
Reason #3: Many companies who employ Drupal specialists are keen to hold onto them. The framework is highly specialized, and sourcing proficient consultants aren’t as readily accessible as it is in competing areas. As the volume of Drupal-powered solutions grows, the talent doesn’t. At least, not quite as quickly.
Getting rid of a capable Drupal employee, for any reason, isn’t a decision that any organization can take lightly. Companies have to consider the cost in scouting or hiring a new candidate who possesses the required knowledge that Drupal demands. While some parts of the Drupal development process are easier to learn than others, the amount of training that would be required to educate a non-expert in the workings of Drupal, at any stage, is something the business will find costly.
For these reasons, most businesses who successfully hire experts in Drupal are keen to keep them around. As such, the jobs tend to be extremely well-paid, with attractive benefits and other provisions made by employers.
Reason #4: Expanding on the point above, because such a large proportion of Drupal experts are competitively held-on by employers who are cautious of losing them, the gap between demand and supply of readily available Drupal professionals continues to grow. Quite simply, there is a lot less availability of Drupal professionals than the industry requires.
Reason #5: Drupal is arguably the single most common enterprise-level content management system within the United States, and quite often around the rest of the world. And we all know what enterprise means. Big teams, big projects, and big demand.
Single organizations who are running websites, applications, or other projects using Drupal are hiring many professionals in the field at any one time. Particularly for enterprise-level use cases, Drupal solutions often cannot be deployed, developed, extended and maintained by a single individual or small team. Mediocre staffing simply won’t cut it in quite the same way as it might for say, WordPress. Again, this results in a shortage of talent because of the sheer volume of Drupal experts who are needed by corporations at an enterprise-level.
Reason #6: Scouting is fairly prominent amongst the Drupal community. It’s also quite important. Different from competing micro-niches, it’s quite common for the top Drupal professionals to be ‘scouted out’ by companies who are looking for experts with strong capabilities in Drupal.
Subsequently, this cuts out the entire traditional recruitment process. Rather than posting a public job spec, recruiters are keen to nail down the skills of somebody they are particularly impressed by, usually offering good incentives.
And this does make sense, given how I’ve explained how specialist of an area Drupal is.
A professional who either possesses the strategic knowledge or technical aptitude, required for intricate Drupal projects is going to be particularly attractive to recruiters within the Drupal ecosystem.
Reason #7: This leads me to another point. With Drupal, you won’t get far unless you are brilliant.
Being okay at Drupal, regardless of your area of specialism, is simply not enough. As a software, Drupal is positioned most well to serve enterprise-level clients. This includes:
- Medium to large commercial organizations
- Charities and non-profit organizations
- Educational establishments
Outside of this audience, the demand for competent, well-paid Drupal talent is slightly rarer. In order to set yourself up to secure great positions during your Drupal career, you have to be amazing.
Mediocre is no longer good enough today — and that goes without saying in the webdev and application development industry.
Back in the day when Drupal was commonly used by any Joe or Jane to power any kind of website, it was easier to score a decent paying job, and even build a satisfactory career.
But that’s certainly not the case today.
From my personal experience and observations, there are two ways a potential career in Drupal can go, for aspiring individuals. And they’re distinctly different.
SUCCESS: Develop your skills and become adept, and you’ll produce amazing results for your clients or employer.
FAILURE: Learn the basics, regress in your natural creative flair, and struggle to find freelance jobs, leaving you disappointed and losing out on your investment in learning the CMS and trying to get booked.
So, those are my reasons for why there is a shortage of talent within the wider Drupal community. And that’s exactly where you come in. Now it makes sense that you’ve identified Drupal as a niche, and are ready to hit the jackpot working with the most prominent heavy-weight in the web development industry.
It’s true that for most content management systems and frameworks, there is a narrow window for career growth.
With Drupal, these rules don’t apply.
Due to its complexity, and the delicate process of Drupal deployment, development, and subsequently, maintenance, there is a range of areas of specialism within the Drupal ecosystem alone. Drupal is made up of a lot more than code, and this is where the software differs from its competitors.
For the sake of ease, we’ll use the term ‘Drupal development’ to refer to the entire process of building, delivering and maintaining a Drupal site or Drupal-based solution.
This makes sense since development of Drupal really starts at the beginning. Very rare is it that a Drupal site delivers as needed using the bare-bones provided immediately upon installation. In fact, it’s far more common that at least a few modules or extendable code modifications (in the form of a theme or module) are made right at the beginning of a project before any deep coding or development has begun.
Drupal Career Roles & Job Positions
There are lots of different positions and job roles within Drupal development, each of which entail a range of differing tasks and responsibilities. They also demand various levels of experience. With Drupal, a professional who might be skilled in one area may not possess the skill to manage or develop another area of the CMS. And that’s just how vast the framework is.
In fact, since Drupal is so beautifully intricate and complex, it’s usually the case that Drupal professionals aren’t fluent in every single area of its development. And that’s okay. In fact, it’s one of the key reasons that so many role possibilities exist within the ecosystem.
Some of the most common job roles in Drupal development and delivery are:
- Frontend Developer
- Content Manager
- Site Builder
- Backend Development
- Project Manager
- Account Manager
Of course, then you have the proficiency level, too. Often, companies who are happy to hire intermediate professionals are able to offer substantial training on-the-job, which opens further doors in terms of building your career. Skill levels:
And then you have the type of job. Of course, in the technology industry, companies have a broad variety of requirements, and many are often happy to recruit remote candidates provided they deliver stellar results:
So, we’ve established that there are many different parts to the Drupal development process. And it’s a huge process.
Don’t get me wrong, huge doesn’t mean to say that it’s difficult, and for the most part, it isn’t. But it requires a very specific, honed skillset and knowledge.
Drupal isn’t really any more difficult to learn than any other content management system. Or, content management framework, which Drupal pretty much is by this point in time.
All of these ‘components’ of the Drupal site development process involve a wide range of differing skills and processes.
What is the Average Drupal Salary?
The income potential in Drupal is known to be significantly higher than generalized web development jobs. It’s often the case that positions within the Drupal ecosystem pay very well. And for good reason—the software is highly specialist.
I headed to GlassDoor to get some average salaries for Drupal related positions. As you can see here, a senior Drupal Developer at one organization (edited out) can take home between $81 and $87 (US dollars) per hour, and a Drupal Architect at another company can rake in between $145K to $160K per year.
Here are some further examples, where some of the positions amount to three-figure yearly salaries:
Drupal career path and progression
Career progression within the Drupal ecosystem is definitely possible. It depends mostly upon the extent of your skill. And your skill level, once you’re already working with Drupal, is largely reliant on your willingness to learn additional skills within the software, often pushing yourself slightly out of your comfort zone.
The higher paid jobs definitely tend to be in backend development, DevOps, and Drupal engineering. These positions require greater technical skill, so a site builder or frontend developer would have to initiate the learning process in order to diversify this skill set.
Furthering on this, one of the great things about working with Drupal is the sheer amount of transferrable skills you’ll accumulate whilst dabbling in the software.
Drupal is a highly unique piece of software. Officially, it’s a content management system. But for a long time, many within the web development space have referred to it more as a framework.
Today, Drupal is a content management framework.
When compared against other popular content management systems, it makes a lot of sense why this would be the case.
WordPress, for example, requires a much greater deal of hacking, either via custom code overrides or a plethora of fragile extensions (which can be either free or commercial).
It’s no surprise, then, that Drupal seems to pack in a lot more flexibility than its counterparts. The next most popular open-source CMS is Joomla, which performs in much the same way as WordPress.
These alternative content management systems tend to be quite rigid, in that a lot of customization has to be made to the core functions of the software in order to create additional functionality.
With Drupal, the power to extend the CMS is actually built-in to the software as it ships. Mostly in the form of:
- Content Types
- Taxonomy Vocabularies
- Custom Block Types
- Custom Views
- Custom Template Overrides
These nifty little features create a harmonious development environment that allows you to develop infinite ways to display, organize and manage content. All without a single line of customization to Drupal core. This is potentially one of the reasons that so many high-profile corporations love it so much.
Drupal is Hard to Learn
Wrong. Allow me to explain...
It’s a common belief amongst the wider web development community, with plentiful developers and website administrators tarnishing Drupal as “difficult to learn”.
I personally think that this is a mistaken belief. I propose that the reason so many web development professionals complain of Drupal’s difficulty is down to the fact that what they are expecting of Drupal turns out to be completely different to the reality.
They’re stunned because they inherently approach the CMS with the expectation that it’s going to be difficult to understand, when in fact they’re met with a framework that is instead so easy; one which allows them to build clean solutions to their problems themselves, without requiring extensive hacking of the core software. The features and functionality they’re looking for most often is shipped with the CMS, and this takes many by surprise, since they’re expecting to have to build on the software with a combination of commercial extensions.
They’re expectant that they must install some kind of third-party extension (we call this a module in Drupal) in order to create a carousel slider. They are used to having to install a complicated plugin in order to allow users to download PDF eBooks from their website. The fact is, Drupal can handle these types of functionalities natively within the CMS.
With Drupal, you could build a website platform to sell and distribute online game downloads, using only Drupal’s native features, without the need for any third-party extension or much customization to Drupal’s core code structure.
I personally believe that developers who are new to the software, those who brand Drupal ‘difficult to learn’, do so simply because they have approached the CMS with the wrong mindset.
Yes, I really do believe that the mindset of a person can contribute largely to how they encounter the process of learning.
Drupal’s most prominent competitors, WordPress and Joomla, are very rigid in the way that they operate; demanding complex overrides from developers. Drupal manages content differently, in a way that usually puts the power of content creation and display in the developer’s hands, without requiring overrides, but rather a knowledge of Drupal’s core features:
- Content Types
- Taxonomy vocabularies
To understand Drupal, you need to understand its logic. And I don’t believe it’s hard unless you skimp on education.
The Benefits of Learning Drupal
You can count on the fact that if you’re using Drupal, and particularly if you’re an expert in the field, you’ll have developed ample skill to work with similar logic-driven software and content management systems.
Drupal itself is now powered using the Symfony framework, and in learning Drupal’s how to work with Drupal’s code base, you’re simultaneously learning aspects of the Symfony framework itself.
This quickly opens other areas of potential career development which you might choose to explore in the future.
Similar logic-driven content management systems such as Mura CMS become far easier to grasp once you’ve become comfortable with Drupal. These softwares have been developed in very different ways, and share very little in terms of code similarities, but the logic they use to manage content is near enough the same.
As you work with Drupal, especially if you’re involved directly in its development and architecture, your skills in PHP, server administration (LAMP, for example), and even front-end development improve. All of these skills are widely transferable.
Furthermore, learning aspects of the Symfony framework opens further avenues for working with the framework in capacities other than Drupal. Similar frameworks like Laravel become subsequently easier to learn, too, due to your developing experiences.
Where to learn Drupal
There are tons of ways to learn Drupal, and most of them are free. In fact, because Drupal is an open source software, some of the best ways to learn it are free. The Drupal community itself is an amazing source of information. The best part about it is that the Drupal’s community acknowledges every level of expertise, from beginners to advanced. So you won’t feel alone as a beginner... or an expert.
The community is incredibly active, with some of Drupal’s core social outlets being the official forums, posts, and IRC. Drupal also allows for separate communities to exist within different contributed module pages, themes and other projects, all accessible via Drupal’s official website.
In fact, we’ve rounded up a list of the best online Drupal colleges and courses, which will further your Drupal knowledge and provide you with the skills you’ll need to begin your career:
The Best Online Drupal Courses & Training
#1: DrupalEasy Academy
DrupalEasy Academy has the longest running long-form Drupal Career program, which is licensed by the Florida Department of Education, Commission for Independent Education as an Educational Certificate program. Drupal Career Online is a live, online instructor-taught course presented over 12 weeks through classes two times per week, and a co-working lab once a week.
The course, like all other DrupalEasy programs means we demonstrate, answer, offer guidance, and provide in-depth, learning resources to help people learn, however they learn best. In addition to expert instruction, all DrupalEasy courses include:
• Lesson guides
• Reference materials
• Instructor office hours
• Active online learning communities
• Screencasts for every lesson.
DrupalEasy also hosts a Career Resources page with links to information about Drupal and Drupal careers. Through ongoing support, DrupalEasy also provides all current and former students weekly lab hours led by an instructor that has evolved into an active learning community that supports each other as well.
More Online Drupal Courses & Training
In addition to the online training programs I've mentioned above, here are some more great places to learn Drupal online:
- Drupalize.me: https://drupalize.me
- DrupalTutor: https://www.drupaltutor.com
- BuildAModule: https://buildamodule.com
- Forcontu: https://www.forcontu.com
- WebWash: https://www.webwash.net
What you need to know to work with Drupal
The extent of what you need to know heavily depends on which area of Drupal you’re interested in. Certain areas will naturally require greater technical knowledge and comprehensive past experience. Development and programming roles are obviously very different to site building roles. And a project manager requires a different skill set altogether.
It makes sense to initially identify the area in which you have most skill, probably based on interest and past experience, and in which area you’d most like to work with going forward in your Drupal career. Some positions definitely provide room for larger growth, for example: a front-end developer who has ample prior experience working with website development can transition to a Senior Themer role fairly easily.
And this doesn’t take much learning. From that point, a Themer may subsequently decide to venture into backend Drupal development.
The fact that Drupal’s roles overlap so often makes this accessible through transferrable skills.
But back to my main point: what you need to know depends on the career path you are interested in pursuing. Obviously, nobody is going to want to hire a Drupal consultant who has no prior experience working with Drupal, no matter how experienced they are in general web development. When it comes to Drupal, you really need to know your stuff. And this is something you can only achieve with experience.
Because each role is so different, the requirements will vary. But, there is a checklist of things you should ask yourself, to self-assess whether you really know Drupal well enough. The one thing that is consistent with each Drupal role is that a solid understanding of how the CMS works is key.
Even if you don’t work with code, you should have an understanding of how Drupal’s code structure works, because this is imperative to recognizing how Drupal will work with content.
This knowledge will help you to develop plans and solutions that will make the Drupal development process easier and more coherent, at every stage.
A simple checklist to ask yourself before applying for your first Drupal job:
- Can I demonstrate my past experience with Drupal?
- What qualifications in Drupal have I accumulated, either through formal training, one-to-one mentoring, or educational courses? Are these relevant to the area of Drupal I wish to pursue?
- What examples of previous work can I show a prospective employer, relevant to the role I am applying for?
- How confident am I in devising strategic, logical solutions to common web development problems, that may be relevant in a Drupal-powered environment?
- What experience of strategy and logic can I show that is not directly related to Drupal projects?
What you need to know for Theming and front-end development roles
Theming and front-end development roles usually require the least Drupal-centric learning.
As long as you’re proficient in front-end development, and are familiar with current best practices, there isn’t too much learning to be done to integrate your skills with Drupal.
You’ll be required to have a good understanding of Drupal’s theming guidelines and specifications for best practices, but only if you intend on abiding by best practice; your project might not require you to follow Drupal theming guidelines (but usually will).
With Drupal you’re still working with the same tools and languages that you would have in a non-Drupal environment, so essentially all you’ll need to learn is how best to integrate these languages with Drupal’s theming structure.
Front-end Drupal development uses the same languages, unmodified, that you’d be using elsewhere:
- PHP (if you class this as front-end)
With more senior Theming roles, you’ll need to have a solid grasp of Drupal’s theme file structure and how these files are organized. You’ll also need knowledge of the best practices required to integrate these core front-end languages with Drupal themes.
For the most part, though, you won’t need to use front-end markup and styling languages any differently than you usually would. Drupal doesn’t tend to have any specific requirements, other than with AJAX (and only slightly).
Twig is also Drupal 8’s new theming engine instead of raw PHP templates, which were used in Drupal 7 and before.
Depending on your prior experience, you may therefore be required to learn Twig, particularly if you’re leaning toward a theming role; a little more advanced than front-end development.
Luckily, Twig is easy as pie. There isn’t much to learn, and the Drupal guides and forums are plentiful in examples and best practices. You can also find general documentation on Symfony’s official website. If you have a history working with general PHP templating, you’ll probably find Twig fairly easy. Additionally, Twig provides a more secure means to template, when compared with standard PHP templating.
What you need to know for Technical and Backend Development Roles
Drupal is largely PHP-based, but later versions rely on the Symfony PHP framework. A good understanding of both PHP and Symfony is key. In general, as long as you have excellent skills in PHP, you shouldn’t find it too hard to get to grips with Symfony.
Depending on your development environment, you’ll also need a good understanding of LAMP stacks.
In case you don’t already know (and, you probably should), LAMP stands for Linux, Apache, MySQL, and PHP.
This will be required to set up a generic server, which is the first most basic requirement for Drupal to run (though Drupal 8 has broader system requirements than previous versions).
The popular Linux operating systems for Drupal tend to be:
- RedHat or CentOS
Sometimes, PostgreSQL is used instead of MySQL for the database. For development roles, you’ll obviously need to have strong skills in these areas before working with Drupal, as you’ll need this to work with the CMS effectively.
You’ll also need to have at least some basic server administration skills.
Drush is Drupal’s command line interface, and many projects make use of it. If you are looking to get into tech roles you’ll often benefit greatly from learning Drush and how to use it besides Drupal’s visual administration interface and FTP (or SFTP).
What you need to know for Site Building and Content Management Roles
A good understanding of how Drupal’s content management structure works is obviously key here.
Working with site building and content management roles mean that you need to be fluent in Drupal logic. They’re particularly content and structure based. Anything done at this level will have an impact on the remaining development work to be undertaken by developers.
You’ll find yourself commonly working with some of Drupal’s core content management features, such as:
- Content types
- Taxonomy terms
- Taxonomy vocabularies
- Block types and custom blocks
As long as you possess proficient skill in these areas, you’re likely golden for most content management tasks. Of course, these types of roles will mostly involve work in Drupal’s backend administration interface.
You’ll also need strong skills in Drupal’s Views module, which is included in Drupal core from version 8 onwards. Even if you’re working with Drupal 7 (or prior), you’ll still find that a lot of your work will make use of the contributed Views module. Views will probably become one of the best tools in your Drupal arsenal. It’s great for configuring complex displays to manage content on quite an intricate level.
As for structuring other types of content, previous experience using other core Drupal features such as menus, forms, and popular contrib modules will prove invaluable for the rest of your Drupal career.
Some of the most popular contrib modules for enhanced content management are Panels and Display Suite. So polish your skills there, too.
How to get hired for Drupal jobs
In the Drupal community, there is most demand for experience. And this is the case at every process of the development chain. You will need to demonstrate an ability to outperform others with Drupal experience, and also show that you have a flair for dealing with an art logic, and can integrate intuitive solutions, both using Drupal, and elsewhere.
Often, it’s a lot about the smarts, and how you’ll make a wide range of content and pieces of information fit and integrate neatly together.
For example: the ability to create complex Views using a solid architecture of content types and taxonomies.
A clean, simple logic for managing content using Drupal’s native functionality is key here.
You should demonstrate an ability to devise a solution that uses at little hacking to Drupal’s core functionalities as possible.
Wherever possible, you want to try and use Drupal’s native behavior to achieve the required results.
But of course, this isn’t always the most efficient solution, and where additional development is necessary (even in the case of using a contributed module), you should attempt to employ the most direct, sensible solution. It’s a great feat to maintain a lean Drupal site.
The CMS already packs in a lot of power, so the aim is to show a prospective employer that you can use your great intuition to come up with something that uses as much ‘native Drupal’ as possible. This will undoubtedly take you far in the Drupal career space.
Where to begin a career
As with any profession, it’s all about dedication and personal growth. Personal growth results in a honed skill set, which creates the opportunity for an increase in income. And as for dedication, the amount of time and effort you put in can’t be replaced by anything else.
Drupal career opportunities aren’t hard to come by; they aren’t in short supply. Some of the best places to begin your job search are:
- Drupal forums
- Drupal Jobs
- Freelancer (look for long-term roles)
- Upwork (look for long-term roles)
How to freelance with Drupal
There’s a big market for freelance Drupal experts. You can take advantage of this whether you want to freelance full-time or as a supplement to your day job.
There is a healthy demand for Drupal experts in all areas, but as far as freelancing goes, you may find that backend developers have the best chance of bagging a decent gig. Freelancing is less common for other roles, though still exists.
Some of the best resources for sourcing freelance opportunities are:
- Drupal Forums
- Drupal Jobs
We've covered a lot. And I hope it's been helpful, whichever point you are at in building your Drupal career.
Remember: Drupal is not as hard as it's advertised, and there are lots of resources to receive education, practise your skills, and seek employment.
Drupal has a thriving ecosystem, and is only getting better with time.