Volunteering has always been something I have been interested in. It is amazing how much can be achieved with a consistently intermittent commitment of a handful of individuals! Originally, I did lots of volunteering at the Wee Spoke Hub; fixing bikes. I quickly realised that my skills as a software engineer are far more valuable than my talent for fixing flat tyres. This is what motivated me to join D4G.
I joined D4G to keep an eye on tech volunteering opportunities. The first months were very quiet. Like most engineers, I suffer from a stubborn reluctance to touch technologies I am not currently interested in. Unsurprisingly, no charities were requiring Rust developers. Nobody had much use for C or C++ skills either. Most opportunities asked for JavaScript. There was the occasional need for Python, but always within the web development paradigm. I guess the internet really did take off 😀
Sooner or later, I swallowed my pride and signed up to help LGBT Youth build a Discord bot in JavaScript. I was personally invested in this project as an LGBT person, so felt very proud to contribute to my community. I was paired with one other developer who had more experience with JavaScript and Node.js. Though the complexity of this work was quite low, I learned a lot from the other developer. Originally, I would always prefer Python or Rust for backend work. Now, Node.js is also on that list.
An open attitude is required to make the most of these opportunities. Going outside of your comfort zone, to work on something you would generally steer clear of can be a very enriching experience.
Not long after LGBT Youth, Drake Music Scotland needed a C++ developer to resuscitate Figurenotes, an application they had built back in 2012. The main goal was getting the application building and running on OSX Catalina. It took weeks to virtualise a working OSX installation on my Linux and piece together an OSX build system without touching XCode (which could not be installed on my “Frankintosh”). 6 months into the future, and I am about to fix the last few bugs blocking the first release. Outside of my C++ skills and build system creativity, this project required some strong management skills. Project management is something I’ve never done in my career so far. It was very valuable to get some experience doing this while working on Figurenotes. Though this kind of work can be an uphill battle, it requires efficient use of resources and creative solutions. This is a refreshing change from well-funded career jobs.
In hindsight, tech volunteering opportunities come in all shapes and sizes. Some let you dip your toes into technologies you would otherwise avoid. Others require lots of creativity when attempting to solve problems with limited time and non-existent financial resources.
My volunteering over the past few months has consistently proven to me that my skills can be used to make the world a better place. There is a very profound and deep sense of reward that comes with voluntarily building something to help others.