Meet our open-source champions: Billy Dawson
In this blog series, we’re highlighting some of the amazing individuals who contribute to Open Source software (OSS). We’ll delve into their contributions within OSS, their career journey, how OSS involvement has helped them, and their advice to others for getting involved.
Introduction:
Billy is a cloud software developer within the WebSphere Developer Tools and WebSphere Liberty Repository team.
In addition to his day-to-day responsibilities managing the Liberty Repository, Billy is the Hursley representative for Developer Advocacy and University Outreach and led the release work for WebSphere Developer Tools for the first half of 2021.
He was also the focal point for Voice Agent with Watson in the EU cloud and has worked as a DevOps engineer for WebSphere Application Server as a Service. Located at the IBM Hursley laboratory in the UK, Billy is experienced in developing microservice applications with an affinity for Java and container systems such as Docker and Kubernetes.
Outside of work, Billy enjoys gaming, experiencing the outdoors and nature, local community events, motorcycling and cats!
Tech introduction:
My primary responsibility is to work on the release and development of our developer tools for Liberty and WebSphere. The tools encompass plugins for the Eclipse IDE allowing users to develop their applications with Liberty/WebSphere runtimes directly through the IDE. A significant portion of our code base has been open sourced and can be found in the open-liberty-tools GitHub repository.
We are always working on enhancements to improve the experience for developers. I am very excited about what we have in store for the future. More to come and stay tuned!
My team and I are additionally responsible for publishing activities for Liberty to make our artifacts publicly available.
Q&A:
How did you find your year-long placement with IBM? What did you enjoy most about it? Did it help you with your last year of university and/or with returning as a graduate?
My placement year was fantastic – I was fortunate enough to be part of two teams, Docker and Wasdev, which allowed me to gain a varied perspective of the types of roles available at IBM and how each individual team contributes to a wider objective.
As part of the Docker squad I developed an understanding of how to use Docker containers, which was later complemented with Kubernetes to manage our containerised workloads and Helm to simplify and template containerised application deployment. I extended a simple team dashboard written with Ruby and CoffeeScript to include a tool to track customer cases, worked on several prototype projects – one of which became Microservice Builder - and helped automate some of our work using Jenkins and Travis CI.
As part of the Wasdev team, which is mostly externally focused and community based, I fixed and improved the performance of a webpage used for quickly identifying Liberty repositories, updated the web site and posted the monthly Liberty release updates for beta and GA releases. I also built an app to analyse traffic to the main Wasdev site. I also learnt how to use Maven and used this knowledge to modernise and add Maven support to many Liberty sample apps – this gave me exposure to a vast array of Java tools and APIs such as Derby & MongoDB, JDBC, JAXWS and JPA. Furthermore, I also had the pleasure of tinkering with an Arduino Uno and I extended our Docker dashboard to include a myriad of useful widgets – including our Git repositories, Travis CI status, security vulnerabilities, web page views and any relevant posts concerning Liberty on Twitter and Stack Overflow.
Moreover, my placement year allowed me to enjoy a multitude of “give back” activities in addition to my day-to-day responsibilities. I attended a cross-site hackathon in Portsmouth and the University of Southampton’s Big Bang Fair in Southampton. At a WebSphere User Group and the Devoxx conferences in London, I demonstrated the Liberty Car, which was an RC car with the radio controller replaced with a Raspberry Pi and using IBM Cloud to allow anyone at the conference to control the car with their mobile phone. At our Hursley site I also hosted two primary schools at the XploreIT science and technology event, helped out at several Assessment Centres and attended coding dojos.
Such an array of experiences helped tremendously with my last year of university – I learnt so many new technologies and deepened my knowledge of key areas featured within my course. This gave me a brilliant foundation for my final year, and by having experience working with technology from the perspective of enterprise, I better understood the application of what I was studying rather than seeing it primarily from a theoretical perspective.
Perhaps even more impactful were the soft skills I developed. My placement year significantly improved my overall confidence and communication skills. Confidence is something that I have personally struggled with and so the benefits of this cannot be overstated.
Finally, my placement year enabled me to “jump start” my graduate role. I am certain that the knowledge of IBM, of enterprise and the network I amassed during this year enabled me to throw myself into the role and progress at a greater momentum than would otherwise have been possible.
Were you involved in OSS during your placement year? If yes, how did this involvement help you following this placement (i.e. on a personal level, skills, with university, career prospects, etc)?
Most of the work I did was closed source, however I did work on some open source software during placement – the web page to identify Liberty repositories and the sample applications I modernised were open source. There was a great deal I learnt from these projects and the technologies underpinning them - I was also able to work with IBMers who had previously been involved with these projects and it was really useful to be taught the best practises for the samples I was working with, though unfortunately I did not experience direct interaction from the open source community as part of these projects.
Why did you want to return after your placement year, to start your career with IBM as a graduate?
I wrote in detail above about what I worked on during my placement, what I learnt and also the incredible additional activities I was fortunate enough to attend during this year. The work at IBM is really varied – as a developer I expected to be coding frequently and learning a vast array of technology, but the role also encapsulated presenting, documentation, DevOps, reporting progress and conceiving ideas at meetings, dealing with customer support issues – and now, writing a blog post!
I think all of this was enough to have me champing at the bit to return as a graduate. But to extend on that, I met the most amazing people on my placement and that was my primary reason for being so keen to return. Of course, working with top talent presents the opportunity to learn an incredible amount, but I was somewhat surprised by the sheer approachability and kindness shown by these people. There were no stupid questions and despite worrying I would be taking up valuable time or distracting people from more important work, I experienced nothing but hospitality and respect. In addition to this, I was matched with a truly fantastic mentor who has coached me throughout my career and been an invaluable source of support and guidance through both my placement year and beyond. Furthermore, there is a great social culture at IBM. As part of my internship we were encouraged to network with our peers which resulted in regular meet up activities such as a monthly pub quiz. Our office is in itself a community; it’s easy to get lost in conversation whilst replenishing beverages at the break room and we have regular team building events which have included a trip to the Bombay Sapphire distillery, regular barbecues and an annual Christmas party. Whilst COVID has impacted this somewhat the Hursley site is an incredible place to work. It is situated on over 100 acres of rural land in Hampshire. I utilised the beautiful surroundings to go for walks at lunch time and also the occasional run. Situated here is the Hursley clubhouse, which offers a wide range of sporting and social activities, as well as making IBM Hursley the only workplace in the UK which effectively has an on-site pub! There are site-wide events here, too, some of which are open to the public. For example, there is the annual Hurfest event, annual fireworks, a recent archeological dig and it was my pleasure to attend the 2021 UK Kubb Championship here.
What projects have you worked on since joining IBM?
As a graduate, I rejoined the Liberty department to work in the Repository team, which involves participating in monthly release publication or verification. Typical day-to-day tasks focused on forward development, ensuring both our open and closed source repositories were up to date as well as ad hoc tasks such as implementing a script within Jenkins to monitor the health of our Kubernetes pods, administering fixes for security vulnerabilities and updating the SSL certificate for the repository.
My team also owned WebSphere Application Server as a Service (WASaaS) in the EU cloud. This was predominantly a DevOps role, monitoring and ensuring each of our environments retained maximum availability, as well as setting up new environments throughout its tenure. This role really honed my scripting skills and knowledge of Linux. Our team participated in a call out rota to ensure that if a system did go down or a customer had a significant issue we would be able to respond immediately to ensure maximum uptime. This rota has persisted as the team transitioned to its next project, Voice Agent, and beyond as we are also notified of any instability regarding the Liberty Repository and we also expect to soon be on call to support our current project, WebSphere Developer Tools.
Anticipating the deprecation of WASaaS, my team took on Voice Agent in the EU Cloud in early 2020. The product already existed on US servers and our team was responsible for deploying and maintaining Voice Agent within Frankfurt. I took ownership of this deployment and worked with a new set of technologies to learn – VMware ESXis, Sonus SBCs, Watson Speech-to-Text and Text-to-Speech services, SysDig, LogDNA and SMS service Twilio, as well as deepening my existing knowledge of Kubernetes. We supported Voice Agent for a year including as part of our call out rota… leading to our newest assignment.
At the start of 2021 my team took on WebSphere Developer Tools (WDT). The previous team mostly moved to Red Hat and unfortunately we were left with a product with significant technical debt, no handover and a problematic last release, with the aim of rapidly educating ourselves to return to the previous quarterly release cadence. It was an ambitious task and all the learning I have undertaken in prior years really helped to quickly ensure this target could be met. I led the releases for the first half of 2021 which was my first opportunity to properly dip my toes into project management. This project has given me open source exposure on two fronts - committing to our open source repository, OLT and given the plugin is built for Eclipse this has also allowed me to gain exposure to the Eclipse community. Our very first task was to resolve a customer issue within the OLT project and on the Eclipse front I was most recently liaising with the owner of a sub project that is a prerequisite for our product.
There’s a wealth of additional activities one can participate in at IBM. I am the Hursley focal for developer advocacy which involves me planning and organising events, most frequently to reach out to UK universities. This has also given me several opportunities to present both to universities and to our customers. There have been several areas of technology I was particularly interested in - namely Quantum, AI and hacking. Despite not being part of my typical teamwork I was able to attend education sessions on Quantum and on hacking as well as an entire Coursera course on AI, which led to me being part of an AI work group to apply this technology to help automate workloads within the department. I attended presentation workshops to improve my confidence and communication skills and Customer Advisory Board calls to gain a greater insight into the types of customer interactions we typically see and the style in which we present to customers. I am also part of a patent group which has achieved a defensive publication. A really fun event I did prior to COVID was attending the local Marwell zoo for a volunteering day where we helped replant several hazel trees into the marabou stork enclosure, followed by some mulching and pruning, with the aim of providing privacy for the existing stork and its newly acquired male companion in the hope that they would mate. Fortunately this volunteering event will resume in 2022! Moreover, I attended the Call for Code hackathon and the Virgin Global Challenge – which saw our team competing, with provided fitness trackers, in a virtual race around the world.
How has your involvement in open-source projects impacted upon your work or impacted you personally? Have any new opportunities been opened up to you through this involvement?
Though this has not occurred thus far, I have no doubt that my involvement in open source software will open up new opportunities in the future. It has certainly impacted my work, though, as it provides a window into how customers communicate issues with us and it teaches best practices in terms of how to report errors and provide useful debug reports. I found when working with OSS, with the knowledge that what I am contributing is public and (somewhat) irreversible, it’s excellent practice to brush up on Git skills and be extremely diligent when submitting code. Working collaboratively in the public domain is also an excellent learning experience as your code will be vetted by members of the community. This might sound daunting at first but everyone involved in OSS projects is there to help you and wants to see you succeed – so don’t be shy!
As someone who is still very involved in university activities and outreach, how do you see OSS involvement helping students? Why should more students get involved in OSS?
Getting involved in OSS has the real benefit of a community – it is a fantastic window to highly skilled people which can be an instrumental part of your learning journey. Unlike the mostly theoretical approach taken by coursework you will have the opportunity to make a real business impact by submitting code to OSS and it will really help to understand the industries’ way of doing things. It will also provide wonderful visibility and something that can really bolster your CV – contributing to OSS looks great to employers! Furthermore, there are some really exciting projects available to contribute to.
What piece of advice would you give to someone who is interested in getting involved in OSS?
Just do it! Get involved in a project that interests you, have a look around at the projects available – Open Liberty would be a brilliant place to start.
Additional disclaimer – if you are a University student, I would thoroughly recommend a placement year!
Thank you for this opportunity to share my story :)