In late August 2024 a Google Doc with the following information was shared with the Drupal Association for their feedback. This document was created based on feedback from the community in our Slack channel (#ixp-fellowship), this issue queue, and numerous in-person discussions with community members at Drupal event all over the world over the past year.
IXP Phase 1 - Incentivizing organizations to hire new, inexperienced Drupal developers.
Summary
Phase 1 of the
IXP β
will incentivize organizations to hire new, inexperienced Drupal developers with Drupal community contribution credits.
Definition of a new, inexperienced Drupal developer
For the current scope of the IXP, a new, inexperienced Drupal developer is defined as an individual with these recommended skills. These are recommendations and is the purview of a hiring company to decide if a candidate is an IXP:
General and Human competencies
- Basic teamwork skills.
- Basic Knowledge of local development tools such as Lando or DDEV, And working with SSH.
- Basic knowledge of Command Line tools and commands.
- Good communication skills.
- Self-learning, commitment and responsibility.
- Good organization and productivity.
Site Building Competencies
- Nodes (Entities), Fields, Content types,
- Taxonomies, Views, Modules, Contrib vs custom,
- Using composer to install, remove, and update code
- Basic knowledge of Git and Github
- Basic Drupal configuration management
- Themes, Blocks, Menus, Permissions
- Content creation in Drupal
Front End Competencies
- Basic knowledge of web layout (HTML5 and CSS3)
- Basic Knowledge in JavaScript
- Basic knowledge of templating systems/languages like twig.
- Basic knowledge of CSS Preprocessors such as SASS or LESS
Backend Competencies
- Basic knowledge of imperative programming (variables, control structures, functions, etc.).
- Basic knowledge of object-oriented programming.
- Basic knowledge of PHP (syntax, execution and debugging).
- Basic knowledge of SQL Queries
This definition was derived larged from a community-wide survey during the time period of May-June 2024.
Definition of a hiring organization
Any organization that hires Drupal developers may participate in the IXP program.
Each hiring organization may hire a maximum of four new, inexperienced Drupal developers as part of this program per calendar year.
Process
This is the proposed process for both hiring organizations and new, inexperienced Drupal developers.
IXP program visibility
A new callout promoting the program will be added to https://jobs.drupal.org, including a link to a dedicated page on the site with full details about the program and its requirements. [DA]
In addition, IXP community initiative members will work to promote the program via social media, blog posts, and other methods traditionally used to disseminate information in the Drupal community.
Job posting on jobs.drupal.org
Job postings for new, inexperienced Drupal developers will be free for organizations to post. [DA]
When a new, inexperienced Drupal developer job is posted, it must automatically include "IXP" branding (in both search results and the details page) and a link to the explainer page. [DA]
Job postings for new, inexperienced Drupal developers must include the following:
- Job requirements must not exceed the definition of a new, inexperienced Drupal developer (see above).
- Must be a paid position.
- Must provide at least 160 hours of paid work.
- Must specify that applicants must have less than 3 months of paid Drupal experience.
- A commitment to provide the new, inexperienced Drupal developer access to a mentor with a minimum ratio of 1 hour for every 10 hours of paid work time.
Candidate selection and kick-off process
The hiring organization is free to utilize the tools of jobs.drupal.org and their own internal processes to vet and select a suitable new, inexperienced Drupal developer candidate for the position.
Upon the selection of a suitable candidate, the hiring organization must provide the IXP initiative the following information (via an IXP initiative-supplied form):
- Organization name
- Organization contact name
- Organization contact email address, phone number, Drupal Slack workspace handle
- Organization mentor contact information (name, email, phone, Drupal Slack workspace handle)
- New, inexperienced Drupal developer's name, email, phone, Drupal Slack workspace handle
- New, inexperienced Drupal developer's start date
- New, inexperienced Drupal developer's estimated hours/week
- Brief summary of the project(s) the new, inexperienced Drupal developer will be working on.
- Acknowledgment that at least one public blog post from the new, inexperienced Drupal developer must be made available prior to program completion. This blog post must include a reference and link to the IXP, along with a summary of the new, inexperienced Drupal developer's work during the engagement.
- Acknowledgement that at least three contribution credits have been earned by the new, inexperienced Drupal developer. Links to relevant issues must be provided to the IXP organizers.
The IXP initiative will provide the hiring organization and the new, inexperienced Drupal developer with a IXP case number for tracking purposes.
Progress reports
Both the hiring organization contact and the new, inexperienced Drupal developer will be required to submit bi-weekly progress reports via an IXP initiative-supplied form.
Example form for the new, inexperienced Drupal developer:
- IXP case number
- Form submitter name
- Did you have access to a mentor for at least one hour out of every ten paid work hours since your last progress report?
- Were the tasks assigned to you appropriate to your current skill set?
- - Additional details
- Were any tasks assigned to you above and beyond your current skill set?
- - Additional details
Example form for the hiring organization:
- IXP case number
- Form submitter name
- Was a mentor available for the new, inexperienced Drupal developer at least one hour out of every ten paid work hours since the last progress report?
- Did the new, inexperienced Drupal developer complete work tasks appropriate to their current skill set?
- - Additional details
- Was the new, inexperienced Drupal developer challenged with tasks above and beyond their current skill set?
- - Additional details
Program completion
At the completion of 160 hours of paid work, the hiring organization will contact the IXP initiative team and request a final progress report via a form sent to both the hiring organization and the new, inexperienced Drupal developer.
Example form for the new, inexperienced Drupal developer:
- IXP case number
- Form submitter name
- Did you have access to a mentor for at least one hour out of every ten paid work hours throughout the engagement?
- Do you feel that your Drupal skills have grown during the engagement?
- Did you get paid for a minimum of 160 hours?
- URL of required public blog post.
- What, if any, changes would you suggest to the IXP program?
Example form for the hiring organization:
- IXP case number
- Form submitter name
- Was a mentor available for the new, inexperienced Drupal developer at least one hour out of every ten paid work hours throughout the engagement?
- Do you feel that the new, inexperienced Drupal developer's Drupal skills have grown during the engagement?
- Was the new, inexperienced Drupal developer paid for a minimum of 160 hours?
- What was the hourly rate of pay for the new, inexperienced Drupal developer?
- How many total hours was the new, inexperienced Drupal developer paid for?
- URL of required public blog post.
- What, if any, changes would you suggest to the IXP program?
Upon review of the final reports from both the new, inexperienced Drupal developer and the hiring agency to confirm that all program requirements were met, the IXP initiative team will contact the Drupal Association to award 100 contribution credits to the hiring organization. [DA]
Based on
this discussion β
, 100 contribution credits is roughly equivalent to $10,000 in financial support of the Drupal Association.
The IXP initiative team has the final decision as to whether or not program requirements have been met and if contribution credits can be awarded.