What is Drupal I hear you ask? Well, Drupal is a Content Management System (CMS), which is software that allows developers to build websites with relative speed as a lot of the work is done for you. The CMS then allows the end users to control the content that is on the site, without needing to know any code.
Drupal is also classed as ‘Open Source’, where anybody can download the code for Drupal for free and start tinkering with it. Open Source software has a whole community of people working together to make the system better and fixing issues.
If you’ve not heard of the Drupal Apprenticeship scheme before, then go and check them out here.
The great thing about apprenticeships is that it’s not just about learning about the theory in the classroom, you actually get to implement what you learn on day-to-day projects. Working with others also helps develop those other important life skills such as; communication and time management, as well as learning more about Drupal.
It is also good to meet up with the other apprentices from Manchester and London at group training days. This allows apprentices to share their knowledge and experiences. There was a recent training day in Manchester, where pretty much all of the apprentices met up for a Drupal Camp style day of training sessions, delivered by people mainly from the Drupal community.
As an apprentice, you certainly do get to do and learn a lot, especially where Drupal is concerned. You also get to know the frustration of working out why a new feature is not working and finding out it is a checkbox, or the functionality is not built in a way that Drupal understands.
Throughout the year with Upbeat (checkout the new website, it’s built in Drupal 8), I have worked on lots of sites built using Drupal 6 and Drupal 7 and latterly Drupal 8. As Drupal 8 gains traction within the Drupal community. I have seen how each version has changed, to incorporate the communities input, to shape a usable CMS.
You kind of have to adopt a different mind-set for each version, as you can think, “Right I can achieve this ‘thing’ by doing X, Y, Z in Drupal 7,” but in Drupal 6 for example, you have to do it a different way as some of the functionality in Drupal 7 is not in Drupal 6.
Likewise when Drupal 8 came onto the scene, I had to adopt a different mind-set, as the way things are done in Drupal 8 is different again. For example, gone is the hook menu to make menu items, instead Drupal 8 adopts Symfony’s routing system.
For the apprenticeship I have created 2 sites using Drupal 8, one of which was a blog site and the other was for a local scout group that I volunteer with. Creating the two sites has enabled me to delve into Drupal 8 without the pressures of project deadlines, which has really helped me learn how Drupal works.
When I started the apprenticeship it was just before Drupal 8 was due to be released so, I got to witness the launch and watch Drupal 8 evolve as developers in the community get their heads around what is new, what has changed and start to re-create the modules that were very useful in Drupal 7.
This allowed me to see what it was like when Drupal 7 was first released and the length of time Drupal developers had to wait for the ‘must have’ modules to be released. Fortunately, you get a lot more ‘as standard’ with Drupal 8 than you did with Drupal 7, so Drupal 8 is more of an out of the box system.
I also found myself helping out with other sites that Upbeat supports, not just the Drupal ones. So, as the year progressed, I have worked on a variety of sites, including ones using WordPress, Joomla and Magento. This certainly has helped me get a well-rounded knowledge base, which allows me to jump onto any site and know how it works.
At the recent DrupalCon in Dublin, the Drupal apprenticeships got some recognition from the creator of Drupal, Dries Buytaert, who described it as being very cool. It did mean that we were all over twitter.
Now that I am coming to the end of my apprenticeship, I am looking forward to staying on with the team at Upbeat as a Junior Developer to carry on my Drupal journey and most likely throw in some Symfony and Laravel along the way too, just for good measure.