Right after finishing my 3rd year exams at university, I took a flight from Colombo (Sri Lanka) to Zurich, to start my Drupal 8 internship at MD Systems. 23rd of October 2014 was my first day at work and the excitement I had helped me to learn the topics quickly and efficiently.
During my first month, I completed many novice tasks assigned to me and in order to accomplish them, two of my fellow interns mentored me. Due to the intensive learning process, I kick started my drupal career as a developer within a very short period of time.
This blogpost is part of the on-going MD Systems Drupal 8 Internships. In these Blogs the students report monthly about their experience with Drupal 8, the development work they do and the cooperation with our Team...
After completing the novice student tasks, I was assigned to the project Monitoring during my second month. Monitoring is a Drupal module actively maintained by MD Systems. At the beginning I was given small tasks such as refactoring, small bug fixes, UI improvements etc. which helped me a lot in understanding the module and its API. After gaining more experience I actively involved both in improving the existing functionality and designing and implementing new features. I contributed in introducing many features to the monitoring module including following,
- User integrity sensor
- Captcha bot activity sensor
- Payment sensors
- Past sensors
- Verbose improvement to requirement sensor
and many more. I also participated in many drupal community events during my stay at MD Systems.
Participation in Drupal community
As an active organization in the drupal community, MD Systems organizes and participates the Drupal related events such as user groups, sprints etc. Once in two months we have the Swiss Drupal user group (DUG), where drupalists in Switzerland get together and share their thoughts, findings and ideas with others. As an employee of the MD Systems, I participated three DUGs and the Drupal sprint weekend.
Sprint weekend and TMGMT:
I attended the Drupal sprint weekend which took place in January 18, 2015. Developers from all over the globe joined the sprint during the weekend to work on improving Drupal. We attended the Zurich sprint held at Amazee labs. Myself and Arild worked on TMGMT and managed to fix all the failing tests in order to take the module back to a healthy state (Arild’s blog post). Here are some of the pictures from sprint weekend.
During the month of February, I’ve got the opportunity of contributing to one of the most widely used modules in Drupal: ‘Simplenews’.
Adding views integration for both subscriber and newsletter overview were two major tasks I completed.
By doing these tasks I gained a lot of knowledge and understanding about the Views in Drupal 8. And also I contributed in creating the demo module for simplenews. Preparing a brief demonstration of simplenews is as simple as enabling the demo module.
Test Coverage For Modules
Some of the modules we maintain/use at MD Systems did not have any test coverage at all (Check the full list of modules here). So I was given the task to write test coverage for some of these modules. Automated tests in Drupal can be mainly divided to unit tests and functional tests. We test the functionality of each component separately in unit tests and in functional tests we take all the components together and test as one system (usually involving web output). The intention of having automated tests for every component/feature is to make sure the changes we make don’t break the existing functionality. Or if so, we extend the tests to cover the changed/introduced functionality. I provided the initial test coverage for the following modules.
By completing these tasks I was able to write tests more efficiently and gained knowledge on testing Drupal modules in an effective manner.
Working with Drupal experts!
During my time at MD Systems, I’ve got the opportunity of working with some Drupal experts (mostly with Berdir and Miro, and not to forget Arild). They mentored me from the beginning and helped with the tasks throughout my stay at MD Systems. I consider this as a once in a lifetime opportunity and the amount of knowledge I gathered is invaluable. In addition, after this six months, I have a good public track record on Drupal as a back end developer (Anushka-mp at drupal.org). It is always nice to have a great team to work with you and as a student I was so comfortable working with the senior members of the organization.
In conclusion, The six months I spent at MD Systems as a Drupal 8 intern was one of the best experiences I’ve had and the exposure to new technologies and learning them added great value to my career.