As part of the 10 year anniversary of Drupal Career Online, we're continuing a blogpost theme as we start off the year posts that involve lists of 10.
As an organization that trains aspiring Drupal developers, evaluates individuals' Drupal skills, and provides skill assessments to potential employers, we’ve developed what we feel is some key insight into what makes a good Drupal job posting.
Over the past few years, as I've reviewed job postings for Drupal jobs on jobs.drupal.org and other job-related web sites, there are (more than) a few things that always make me cringe…
- Jobs advertised as junior and intermediate and advanced skill level. Which is it? All of the above? Job postings like this especially scare away junior developers (for fear they will be in over their head) and advanced developers (for fear they will not be challenged). If you're writing a job posting, be specific. If you're hiring for multiple skill levels, then post multiple listings.
- Not clearly stating the "minimum skills required". This is always really perplexing, especially when reviewing expert-level job postings. The list of requirements for a single job is often virtually unattainable by most applicants. I've been developing Drupal sites for more than 14 years and I often see advanced-level job postings that I'm not qualified for. If you're looking for someone with years of experience in Drupal, WordPress, Laravel, Symfony, Magneto, administering servers, Behat, site performance, SEO, React, Angular, then prepare to either be disappointed or pay top-dollar (if you can even find someone who meets your criteria). I recommend splitting up your requirements into a few groups: "absolute minimum", "willing-to-pay-a-bit-more-for", and "bonus". If you're not willing to hire someone who only has the absolute minimum, then maybe you need to rethink the posting.
- Not clearly stating if the position is customer-facing or not. Some developers do not want to interface directly with customers. In some cases, interfacing with customers directly isn't in someone's skill set. By making it clear whether or not the developer will need to interface with a client (online via a ticketing system, for example) you can help avoid unwanted situations.
- Junior-level positions that do not mention on-the-job training and/or mentorship. Here's a secret, junior level developers don't want to be junior level - they are usually hungry to learn and advance. If you want to hire a junior level developer, then your organization must be willing to invest in them to help advance them.
- Not specifying if the position includes design as well as development. In this case, "design" may or may not include visual design as well as software design. There are some developers that absolutely love the design aspect of building sites (information architecture, class hierarchy of custom modules, etc…) and some who do not. Be specific in what is required.
- Junior-level positions that include front-end, back-end, site-building, project management, multiple Javascript frameworks, etc.. (you get the idea). There's a reason that junior-level developers exist - because they don't have all the skills and experience yet. Job descriptions like this do one thing very well - scare off talented junior-developers that don't want to be put in a no-win situation.
- Advanced skill level positions that don't pay market rate. If you're looking for an expert developer then you need to be willing to pay for it. Drupal is (and has been for a long time) a seller's market - if you manage to find someone willing to fill an expert position at a far-below-market-value rate, you're going to be disappointed one way or another.
- Junior-level positions that require more than 1 year of experience. If you're looking for a junior developer with more than a year of experience, then you're not actually looking for a junior developer. More than likely, you're looking for at least an intermediate developer.
- Not providing benefits other than salary. As mentioned above, Drupal is a seller's market. Want to attract top Drupal talent, regardless of skill level - then beef up your offering to make it stand out. Most developers enjoy professional development - provide them with a budget and time to learn new skills that will benefit your organization - and don't double-book them with work while they are learning new skills. Another HUGE benefit to offer is to allow developers to spend company time making contributions back to the Drupal community. This is a form of professional development as well often a very healthy thing for remote workers to participate in. Finally, send your developers to Drupal events - nothing will accelerate your developers' skills than interacting with other developers.
- Labelling a position as junior-level because it doesn't pay very well. Don't. Please just don't.
Do you have a junior Drupal developer that you move into a more intermediate developer role? Then consider sending them to Drupal Career Online - it's only 2-3 times/week for 12 weeks, and you can be confident that they'll be learning best practices around Drupal development.