How to onboard the next generation of Drupal engineers
Last week I gave a talk about onboarding the next generation of Drupal engineers at DrupalCon Europe in Lille. This is one of the top priorities for the Drupal community right now, which was also recently highlighted by the Drupal Association. In this blog post, I’ll recap and break down the main points from my talk, which you can also watch here.
Junior Drupal developer – now vs. in the past
Let me start with a bit of my personal background. I’m the development director at Agiledrop, having first come into contact with Drupal some time around 2010 when I was working for a company that was switching from a proprietary CMS to Drupal. I made my drupal.org account in 2012 and made my first contribution in 2016.
Now let me introduce our engineer Admir who joined Agiledrop in July of 2023, went through our highly refined Drupal Onboarding project, and is now already making contributions to Drupal, with currently 22 issue credits on drupal.org, his first one being in September.
If we compare my learning journey with Admir’s, I was:
- Producing low-quality output during my first projects
- Learning a lot from my mistakes
- Attending Drupal events to expand my knowledge
- Only starting to apply best practices after several projects
- Learning the hard way alongside the work I was doing for a living
In contrast, Admir:
- Has a dedicated mentor
- Is able to learn Drupal specifics & best practices from experienced developers
- Is able to take time during his daily work to learn & contribute
- Is versed in & adopting best practices from day one
Just looking at this it is immediately obvious how valuable dedicated mentorship and onboarding can be in launching the next generation of Drupal developers and helping them to quickly get involved with the project and its community.
Problems that PHP & Drupal have today
One of the biggest obstacles to attracting new generations of developers to Drupal is the unfavorable perception of PHP and Drupal.
PHP is not exactly the hype of today, and many developers consequently fall for the myth of PHP being “dead”, which is further perpetuated due to many old PHP-based projects on poor codebases being kept alive and giving the language a bad reputation.
On top of that, jobs in more “niche” languages such as Rust and Go tend to come with higher salaries, and the problems the code solves there tends to be of higher value.
This makes these languages more attractive to newer developers, who ignore the steep learning curve and the experience in older, more traditional languages (such as PHP) required to become proficient and provide real business value in those niche languages, where value per developer is also higher in startups and product companies compared to agencies and IT services firms.
With Drupal, the entry to the technology has become harder, and versions 8+ requires more knowledge such as using Composer, OOP, etc. It’s become more geared towards the enterprise and is as such much less suitable for hobby projects. In addition, a lot of new frameworks such as Laravel are providing a great experience for developers.
So, what can Drupal companies do to overcome these obstacles and make Drupal/PHP more attractive to younger generations?
What Drupal shops can do
The key thing for agencies is to commit to promoting Drupal and teaching people how to use it; it’s not enough to just post a job ad for a PHP/Drupal developer. You need to actively look for people who are still exploring their interests and impress them.
Step 1: Find people that can become great developers
- Mainly look for junior/mid-level developers who are exhibiting talent & are fast learners
- Organize workshops & local meetups
- Be active in local universities and other educational institutions
This is something that pretty much all agencies are able to do locally. And, to re-emphasize: prioritize finding newcomers rather than developer rockstars.
Step 2: Inject your required skills and experiences directly into their veins, fast
- Actively mentor developers & teach them best practices and industry standards
- Provide adequate help on their first project(s)
- Teach soft skills alongside hard skills to help developers become more independent
- As a company, contribute a custom module or take over the maintenance of an existing one to make it easier for developers to start contributing.
All of these are key steps in Agiledrop’s Drupal Onboarding project which we have refined over the years to better suit any type of developer.
Step 3: Make this a process that runs like clockwork all the time
- Make workshops, meetups and university presentations regular
- Block the time of your seniors for reviewing and helping juniors
- Build & nurture a company culture where everyone is encouraged to help
- Find effective ways to give praise & reward the team members who help a lot
- Mentor new mentors
At Agiledrop, we’ve successfully integrated this process into the core of our company culture, and we just keep streamlining it as we learn over the years. Here are some of the top highlights that this dedication has yielded:
- Over the past seven years, we’ve hired more than a 100 developers
- At our peak, we had 6 people going through the Onboarding project at the same time
- Since 2017, we’ve organized 22 external Drupal workshops
- We started a more advanced PHP Masterclass workshop
- We’ve hosted and organized several Drupal, PHP, Laravel and other open-source meetups in our offices
- We were active & present at other events, such as the local JobFair for University students
By employing the three steps outlined above, you’ll greatly minimize the most typical challenges for new developers and provide them a great employee & developer experience from day one. I hope my session and this blog post give you a better idea of how to approach and how to streamline your onboarding process.
For anyone looking to learn more or having any other questions, you can find me on social media (@boshtian) or reach out to Agiledrop directly for anything specific. I wish you lots of success in all your future Drupal onboarding initiatives!