Aloha, World

14 Sep 2023

The following text is licensed under a CC-BY-SA 4.0 Global License. You may share it freely, even for economical purposes, so long as you provide me credit and a link to the license. If you translate it, please send me an e-mail so I can link it.

Computers have had an interesting, yet strange role in my life. They have been where I have learned many human languages and talked to speakers thereof. Even when I was only a monolingual child, computer games were my favourite hobby, and even to this day I am interested in making them. When I am being creative, I prefer to use free and open source software, such as Krita or Nano. A web search was how I discovered that not only was the University of Hawai’i at Mānoa better than mainland colleges for Japanese, it also had a great computer science program. However, even with my interest in computer science (to the extent of daily driving Linux), I still felt like an outsider to programming.

Learning software engineering is changing this. That is to say, I previously was stuck on the non-coding aspects of being a programmer. I did not know how to network that well, nor did I understand how to manage a repository on anything other than my own computer. (While I did take some courses on the matter at DigiPen, they were over 5 years ago at the time of writing and were part of a 20-credit workload! They failed to stick.) Now that I have more experience with time management, I am able to truly learn these more social aspects of software engineering. Even with this being my busiest class, the professor is able to introduce the soft skills at a reasonable pace, which I find as important to learn as the hard skills.

I also accept expanding my toolset. I admit to being heavily biased to what I am familiar with (to more than most people’s extent), but at the same time, it is good to recognise that JavaScript does have its ubiquity in web design, its features, such as being able to use functions themselves as values, which Rust cannot do. Its syntax is also different from other languages such as Java, C++, or Python, so I can learn more about the ways computer languages can work, in a similar way to how an English speaker will learn more unfamiliar words and grammar from Hawaiian compared to Dutch. With such a diversified toolset, it will be easier for me to adapt in case a new language framework rises (or an old one shoots itself in the foot). That way, I am more employable as attitudes shift, and more resilient to heavily-criticised changes to “industry standard” tools.

By learning software engineering, I finally bridge an important gap that I did not realise was there: the gap between “consumer” and “user.” This is where I learn about making connections, both directly by learning about GitHub and contributing to open source software, and indirectly, by learning about what the people who use or maintain GitHub and FLOSS use. Now that I have the time to do so, I will, happily.