Open-Source Software: My Learnings

The matter of Open-Source software is one that often divides opinion and beliefs. My personal beliefs in 2013 were that OSS was a somewhat fad and should be reserved for those of the profession with beards, quirky t-shirts and generally much more intelligent than myself. However that would be a short held belief.

During my University course I was fortunate enough to take a year’s work placement at a major high-street retailer in their dynamic eCommerce department. Throughout my year I learnt how to operate and be a valuable member of a team supporting a £1B website and it’s entire estate. If some part of the IT system were to become unresponsive or it were to develop a fault, then I along with my team would be able to rectify the problem and restore service.

Whilst I learnt a huge amount regarding systems and procedures in place to support a multinational eCommerce website, I found that there was something missing. Part of my placement year scheme was to be paired with a Graduate developer who would be able to provide guidance and act as a mentor during the scheme. I worked alongside Edd for 12 months and during that time I learnt a huge amount spanning over multiple areas of programming and working in a company. His most valuable lesson however was somewhat different:

Have passion for your work and believe in yourself — Edd Tempest

On a whim one Sunday morning in May I made a train journey to London to attend the Silicon Milkroundabout, an event held every six months at the Truman Brewery on Brick Lane. Typically technology companies attend showcasing themselves to attendees, distributing t-shirts and free beer. After having spoken to representatives from Facebook, Amazon, Uber and M&S I found that the most beneficial conversations were with GoCardless and Graze, they spoke to me about some of their projects that resulted in new products and services being released which really aided their customers. Alongside the sense of achievement when deployed I noticed the pride taken when explaining some of the more challenging aspects and their remedies.

I came away with much swag, but more importantly a newly found sense of possibility, but I realised that I was missing out on so many opportunities and that I should start doing something to make myself more employable. How do you do that I hear you cry? Side projects and investigating OSS. Having never really investigated the ever-growing world of OSS, I found it a somewhat overwhelming task and begs the question of where to start. During the remaining months of my placement year I started to investigate topics that I had been told of during Silicon Milkroundabout. Following much Googling and searching on Twitter and reddit, I found that I enjoyed reading and slowly trying out ReactJS. This was also around the same time that I started to think about my final year Dissertation.

In the run-up to my final year, the thought of “What should my dissertation focus on?” became ever more prevalent. I derived the idea of producing a framework that would allow users to produce personalised mobile applications within the context of healthcare. In one of my bolder moves, I chose to implement my framework using a number of OSS projects. ReactJS for the web application and ReactNative for the mobile application itself. When starting the project I found that due to the youthfulness of React Native, the docs were lacking and tutorials were sparse which certainly made the first few months a challenge. It was only through a process of trial and error along with a slight sense of “Going where no man has gone before” that I accomplished my sprint deadlines and by February I was happy enough to shift my focus solely to my report. Throughout the development cycle an invaluable source of knowledge and wisdom came in the form of the OSS community. Having lived and breathed ReactNative for over 5 months, I became aware of the core contributors and who best to follow on social media to learn of latest releases and cool features. I started to answer more questions than ask them and I found that due to the age of ReactNative there were relatively few people who had been there for as long as I had been.

Looking back over the last year I’m immensely proud of how far I’ve come, my knowledge of programming has increased has massively and my confidence has improved along with the complexity of my side projects. When I look at my beliefs of OSS I feel that now anyone can contribute to this seeming enclosed community as long as they offer support to anybody in the same position later on. I’d never have thought that I could have produced a system using JavaScript, along with exploring other technologies and cementing my love for programming. When I sent of an email to Microsoft explaining my project they replied graciously offering help if needed. The same happened with Deco, the ReactNative IDE and I was amongst the first 50 beta testers.

Going back to Edd’s most valuable lesson of having passion and believing in yourself, I really do feel that I have gained a passion for Open Source Software and I’m starting to believe in myself more day by day. I’ll carry his lesson forward for the rest of my career.