First month as a Drupal Apprentice at Big Blue Door
The first month at Big Blue Door has been a wild ride. A lot has happened in this short amount of time. I joined the team and was quickly given my first project, and helped move to a new office. The following week we were struck by ‘the beast from the east’, a large snowstorm, that essentially brought Britain to a standstill. Most public transport was cancelled, meaning I spent the majority of that week working from home. That weekend was DrupalCamp, which I, unfortunately, was unable to attend due to the weather (excited for next years though). The third week I spent really getting stuck into my project, finishing all major functionality and theming. My first month at Big Blue Door ended with a showcasing of the project I had been working on, demonstrated to the managing partners as well as my project manager.
For this initial project, I was tasked with building a Drupal 8 version of an existing site, used internally by the company. This site serves as a glossary of all Big Blue Door’s clients and their respective sites. Before development could begin, I first had to analyze the current site and write a proposal that would outline my approach to building the site: describing how the site’s structure would work, thinking about the content types, views and taxonomy that would need to be built and used. Ordinarily, I would be given a brief that would specify the details of the project. However, this exercise was to see how I, with my beginner knowledge of Drupal, would tackle the project.
The initial draft of the proposal was vague and open to changes. This was a purposeful decision due to my inexperience with Drupal. I wasn’t able to describe specifically how I would structure the site, but I was able to produce a proposal that served more as a rough guideline for what I planned to do.
I broke the proposal into two main sections: ‘Core Functionality’ and ‘Theming’. The former looked at content types, views and taxonomy, and how they would interact and relate to one another. The latter talked about the design philosophy and user experience. I drafted a few mockups in Illustrator to give a rough idea of how I would approach the theming.
The basic idea was to have essential information at the forefront of the site while large chunks of important information, such as development environments and repositories, would be hidden from view but were accessible with no more than a single click.
After having the proposal reviewed, I made minor tweaks based on feedback and the document was approved. Initial development of the project was slow as I re-familiarised myself with Drupal. I quickly discovered that there is more than one way to achieve your goals with Drupal; however, each approach and method had their own pros and cons. This caused early development to be a confusing and frustrating process that would prompt a lot of research and questions. It took me over a week of development before I was able to get the basic functionality I was after. Although, It was all part of the learning process and I am now much more comfortable with the capabilities of Drupal and how it functions.
Before joining Big Blue Door, I had done a lot of self-initiated learning in front-end web development so I was very excited to start the theming of the site. I had never worked on the front-end of a CMS before; however, the process was very similar to that of a static webpage. It was a very rewarding process to see the styling I applied behave dynamically with new content being added. I had always thought working with and styling a CMS would be a very difficult and complicated process, but I was pleasantly surprised with how intuitive it was.
I was able to develop a responsive theme that built on the design principles I outlined in my proposal; ensuring key information about each site, such as the site name, client name and CMS framework was at the forefront, making it easy to quickly identify each site. Near the end of the month, my project was reviewed by my peers and the Managing Partners, who had feedback and suggestions for features that would make the site more appealing and useful at both managerial and developer level. This included: implementing lead and secondary developers as well as the list of Jenkins jobs for each site. With a new PM on their way, this project would be a valuable asset in their arsenal of tools.
The main benefit of recreating this site in Drupal 8 is that it can be constantly and easily updated with new content and new features. For example, one of the developers suggested that it would be useful if they could copy the SSH link of the site repositories, allowing them to quickly clone new projects. I added a small icon next to each repository that, when clicked, copies the SSH link to the user’s clipboard.
Once I implemented the changes and additional features suggested during the initial review, the project was reviewed a final time and was finally handed over to Osvaldo, our DevOps Engineer. Osvaldo helped get the project off my local environment and onto our servers, as well as walking me through the standard setup for our projects on git.
In my first month, I have experienced a full cycle of a project development, albeit at a very rudimentary level. However, the concepts and practices are very real and will certainly aid me when working higher level projects here at Big Blue Door. It was a valuable learning experience and I enjoyed all of it. Working at Big Blue Door is an extremely rewarding experience that pushes and encourages everyone to achieve their best, while simultaneously maintaining a relaxed and stress-free atmosphere.
I have many items on my list that I need to accomplish this year, including my apprenticeship studies and a Udacity Front-End Developer Nanodegree provided by a Google Scholarship program, as well as personal study goals I wish to achieve with different technologies, such as Node.js and React. The future looks busy but also very bright! I look forward to growing as a developer with Big Blue Door and I am very grateful for this opportunity.