Eight years ago, I began my journey as a Full Stack Developer with DevOps skills. In that said year, I attended the University of the West Indies (UWI), Mona Campus, where I discovered my passion for coding and developing valuable software solutions. The first programming course was Introduction to Programming 1 and 2, which Dr Mansingh introduced the class to Python. It was easy to learn and code. We learnt simple stuff like functions, data structures and other procedural concepts. However, I didn’t appreciate the value of Python at the time. The next programming course, Intro to OPP introduced Java, now that was a fun course. We built a calculator. Amazing, right? If you’re from India or Japan, please don’t laugh, it was a start. Nevertheless, we most definitely started a competition of who had the best code, design and of course functionality that actually worked. Life of an aspiring developer was simple, back in the days.
The following summer, I landed my first job as a frontend developer. Due to my delivery time, which made me idle to the point where I started to randomly find work to do, I was promoted to a PHP backend developer without ever written a single line of PHP code. I was told that there’s great potential within me and then I was thrown on a project to decode a legacy system and integrate Google Calendar. Nevertheless, those three months were filled with intensive learning, decoding code and coding. Oh, and quite embarrassingly, I fell in love with not Python, not Java, but PHP at the time.
However, training new developers became an issue, especially for custom projects. We needed to ensure that any apprentice can learn and do repeatable tasks of setting up, deploying and other developmental tasks in little to no time with automated workflows on all of our projects. Around that time, if my memories serve me right, we started looking deeper into Docker after trying out various technologies. I ended up using Docker on my Windows machine (Kitematic), and Docker Compose on my Linux machines and servers to ensure that I’m somewhat versed with it. Also, I’m a big fan of Digital Ocean and GItlab, which I’ve convinced my workplace and many other companies to use for storage and auto-deployment of custom Docker images. Gitlab, for instance, uses Docker images for CI/CD and you can also store private Docker images.
With all of these activities, I was struggling to find time for school. Yes, I didn’t graduate as yet, so I buckled down to finish school. In summer of 2017, I did Google Summer of Code (GSoC) for the Internship programme at UWI as my final course as a student, while still working on a significant amount of Python and Plone projects for work. Of course, handling so much work and context switching was a concern for everyone, but as usual, I said I could manage, and I did by burning some midnight oil.
October of that said year, I attended the Plone Conf 2017 in Barcelona, Spain, which was sponsored by the Plone Community, Google, my employer, and many Jamaicans. At the conference, I realized Docker was a big thing in the Plone Community, so I had more reason to learn Docker the right way.
After the Plone conference, I started to scheme how to build a more robust and influential software developers community in Jamaica than the ones I’d imagine and existed at the time. This community would help promote and launch tech-related projects, open source software, events, jobs, and the list can go on and on. I then decided to follow and watch Docker, Plone and Git communities and how they grow their user base. I am an active member of the data|Meetup, MakeBetter in Jamaica, PythonJamaica, Jamaica Software Developers Association, Jamaica Game Developers Society, Plone Community, ERPNext Community and more, which I’ve been using as learning avenues. Sadly, I’ve been an inactive member of the Docker community even though this story is partly about my Docker journey. I am going to change that.
A year later, I soft-launched the Jamaican Developers Community website, which is growing quite rapidly while its automated services being built. A month later, I went to the Plone Conf 2018 in Tokyo, Japan, another sponsored trip with over 28 sponsors, to gain more insights on Plone relationship with Docker and other technologies; workflows and processes other developers are using and developing, and finally to showcase what Jamaicans are doing with Plone. In my presentation, I showcased an automated deployment workflow using Gitlab CI/CD, which uses Docker to build, test, and deploy themes directly to Plone sites if the tests pass.
Two months later, the ending of January 2019, Erdem Gunay, the organizer of the Istanbul Spring Meetup reached out to me, asking if I can arrange a meetup within the next three days because he was going back to Turkey the following day. Thanks to the collaborative efforts of Incrementic, the Department of Computing at UWI, UWI Computing Society Club, Particular Presence Technologies, Andrew Gray and the Istanbul Spring Meetup team provided information, resources and the facilities. Meanwhile, I was utilizing the automated marketing tools that were built and integrated into the Jamaican Developers Community website to attract the audience from various social media pages. The turn out was great. The presentation was excellent. The first Kingston Spring Meetup was a huge success especially since it was the first time I organized an event. Also, Erdem hinted on Java’s Spring Framework with Docker and other technologies for deployments and sharing a stable version of the application. A fair number of students didn’t know about Docker, so I asked if they’ve used Virtualbox before. They replied, ‘yes’, then I stated that Docker is like a miniaturized deployable and shareable VirtualBox in the Cloud. The students instantly got it, at least based on the feedback. At that point, Erdem recommended doing a Docker meetup or workshop and the students agreed.
All of the above and more led me to this moment of writing this unnecessarily long story, which I had rushed, messed up and sent to the Docker community and professionals. Context switching between coding and content writing between breaks is not an easy road to walk with grammar as a nagging friend. Therefore, I apologise for any grammatical error you’ve noticed.
At this moment, I am seeking assistance from local and international organisations to promote and grow Docker, Plone, Pyramid, React, Spring and other valuable technologies in Jamaica through training and meetups especially from the start of March of this year.
The aim of this initiative is similar to the data|Meetup group, MakeBetter Meetup group, Jamaica Docker Meetup, WebCraft Conf, Particular Software Development Bootcamp and UWI Computing Society Hackathon to nurture and grow the developers of tomorrow as a collaborative effort to build better software solutions and of course, hire these promising developers afterwards.
Big up to Vertis Technologies and GlanceHouse for their support.
Thank you for your time and consideration. I will definitely break this up in parts the next time.