Scenic, circuitous, a downright waste of time. One could easily make the claim that these words accurately encapsulate the journey I have taken to get to this point in my life. I prefer to describe my life as happy meandering, or as Zhuangzi called it two millenia ago, “free and easy wandering” (逍遙遊). From a boisterous, mischievous child allergic to hard work, to a student of Mandarin thriving in novelty and adventure in foreign lands, to an anxious translator muddling through the day to day, to finally a motivated father pursuing a degree in Computer Science, my path was anything but straightforward. Yet despite it all, I am where I want to be and learning what I want to learn. However, I contest that not all that came before this point was completely pointless. What I have gained over the years is ideas, experience, and above all, certainty in my direction. It is with my ideas that I hope, through my studies in software engineering, to finally be able to build something, to be creative. In order to do so, I have planned certain projects that marry these programming skills with my passions.
As a lifelong athlete, my recent setbacks due to foot and ankle injuries have been, to say the least, discouraging. However, a spark of inspiration came to me that I could make this an experiment that would develop both my data science and software engineering skills. With the goal to return to running pain-free, I have begun collecting data such as weight, blood pressure, pain levels, and more to monitor my progress. At some point in the semester, I would like to be able to create a simple website that can display the results of my analysis. This would likely involve “leveling up” my skills in Javascript/Typescript, Bootstrap, Node.js and database management systems like PostgreSQL. More likely than not, this will also involve collaboration with other programmers, requiring me to get working knowledge of version control via git.
In the Spring 2024 semester, I attempted to use what little experience I had in programming (which, given that it was my first semester, was essentially none) to apply some NLP techniques I learned during my Master’s program in translation to design a basic application for researchers in Classical Chinese. My thought process was this: if asked to find examples of rare or specific grammatical patterns in Classical Chinese, would it not make sense to first load, tokenize (split into words, since Chinese doesn’t have spaces), and attach parts of speech (POS, such as verbs, nouns, etc.) to old Chinese texts using existing NLP libraries in Python and then search for POS patterns? Beginning with a simple Jupyter Notebook for data exploration, I eventually wrote a script that accomplished this. However, as it requires the user to know how to run a Python script (and install the proper libraries), it seemed to me that it would not be the most useful to non-computer-savvy linguists. That’s why I hope to leverage similar skills to the project above to build such an interface that Chinese scholars at UH could use for their research. Potential improvements to the process would involve expanding the database to include all Classical Chinese texts and augmenting the identification process with LLMs.
Given that many more ideas will come to mind as my studies progress and that data scientists are increasingly being asked to do more software engineering tasks, I imagine my relationship with software engineering will always be close. I hope that, in time, I can have working knowledge of both backend and frontend software engineering, so that I can put some of my ideas into action, at least to a basic degree. This could mean building applications to help meet data science needs at work, or perhaps one day designing an application to help others learn Chinese.