Recently, there has been a major focus on education and training from within the Drupal community – and with good reason. Dries himself has emphasized the importance of training-related initiatives on several occasions, since the future of Drupal hinges on constantly fostering new talent. One of the ideal ways to advance the Drupal community is by mentoring new individuals (developers, designers, users, etc.). There are a number of awesome endeavors like the Google Summer of Code that are tremendously beneficial to the Drupal project. There are also Drupal-centric consultancies, like Mediacurrent, who may have implemented their own Drupal summer intern program or others that have been contemplating. We just finished our first internship program, and this post will share some thoughts from our experience.
To begin, I would emphasize that recognizing you would like to start an intern program is only the first step. Careful attention should be given to laying out a game plan that creates a mutually beneficial environment for the intern and consultancy. Ultimately, internships should be constructed in a way that gives students exposure to actual work situations.
I quickly realized the old days of when I interned at a political organization were long gone. Sometimes the highlight was who got to be a "go-fer" and get lunch for the higher-ups. In the "old" days, the perception was interns were seen as errand runners rather than valuable contributors to an organization. Today’s students are highly technical, social media savvy and hungry to learn. The intern we ended up hiring this summer, Isaac Sukin, is seemingly a rarity. Isaac started Drupal development in high school, scored a perfect score on the SAT, maintains several Drupal social networking modules, and - as we quickly found out - had already mastered the Drupal learning curve. Understandably, what Isaac lacked was "real-world" experience and a platform to fully immerse himself in Drupal. He particularly sought exposure to larger, enterprise-level Drupal projects. With that in mind, we crafted a role that we hoped would provide meaningful, impactful assignments.
Here is a breakdown of the job description we developed for our intern program:
25% - internal projects and process improvement initiatives (i.e. customizing Open Atrium - the internal project management tool we use)
25% - community-based initiatives aligned with Isaac’s personal interests (module maintenance, bug squashing in the issue queue, etc.)
25% - projects that Mediacurrent has an interest in supporting
15% - exposure to actual client/project work (attend client/staff meetings, digest project updates, shadow employees, etc.)
10% - Drupal evangelism (blogging, speaking at events, social media, etc.)
Noteworthy is the point that this was our intention, but the actual breakdown ended up varying. The point is to use percentages as a guide, but be prepared to adjust accordingly and not be overly rigid. The intern’s skill set will never be fully flushed out in an interview.
Here are some of the goals we were hoping to achieve:
- Help and closure with initiatives we may not have time to do on a day-to-day basis while focusing on client work
- Increase in community involvement via the Drupal projects Isaac is passionate about
- Inbound marketing bounce from blogging and social media
- Better processes from tweaking tools like Open Atrium
Conversely, here are some items that were important to Isaac:
- Being able to stay busy on challenging Drupal-related work
- Gain visibility on how a Drupal firm operates (both technically and operationally)
- Exposure and more experience in design/creative work
- Collaboration or mentoring with more experienced Drupal developers (i.e. best practice or knowledge share)
Overall, we were very pleased with the way the internship turned out and would highly suggest to other Drupal consultancies. The positive results were felt by the Drupal community, Mediacurrent, and Issac. However, an effective internship program involves the same level of commitment that you would give to hiring any other full-time employee. The success factors will include advanced planning, staff support, setting expectations via a job description, creating a welcoming environment, and adequate supervision. If you do, the rewards can be mutually beneficial while helping train the next generation of Drupal rock stars!
I would welcome your comments and feedback, especially if you’ve implemented your own Drupal intern program.