Humanist Philosophical Coder

        I am in the USA Computing Olympiad platinum division, and have won a few prizes in the Korean Olympiad in Informatics. I have done some major computer science research including two papers published in an international journal, and numerous minor projects. I am also creating a novel SNS system to overcome the stress that current SNS gives.

           But actually, none of these are the answer to why I code. I am not a code competitor, nor a researcher, nor a utilitarian developer. I am a humanist philosophical coder, coding to understand the principles of life. And I became so when I realized three things:

           1) When I realized no two codes can be the same. Even for the same problem, the codes of two individuals will be different. The range of difference can be broad from the difference in the fundamental algorithm to a simple difference such as the name of variables. This difference tell us not only the amount of experience in coding, but also the background, style, and the mindset of the coder.

For a typical sorting problem, a conservative and aged coder may prefer writing out the whole twenty lines of quick sort algorithm while an open and young coder will prefer just importing the existing sort function and finishing the problem in just one line. If you are a descriptive person, your variable name will be something like ‘map’ or ‘cow’, while simple people will just use ‘M’ and ‘C’. Our codes are the reflection of who we are.

But more importantly, the value of coding emerges from the fact that no matter what style, your code is correct if it produces the correct output. It shows that whether old or young, simple or descriptive, we all have the potential to succeed. It’s just about how we approach it in our own way.

           2) When I realized that I will never know what my code will do. I recently worked on a project on classifying facial expressions. Confidently, I used the CNN based deep learning model to complete the task. Now, I didn’t expect to get 100% classification accuracy, but I thought I would at least get a 80%. But what I got was sixty percent. Trying to analyze why it didn’t work, I examined other papers and mathematical models, but I still couldn’t understand the problem. Frustrated, I switched to using the simplest DNN model, almost giving up. Surprisingly, this time, I got a 93% accuracy.

           Even as I obtained a gold prize in a science fair by this project, I wasn’t completely satisfied. The question of “why?” still lingered in my thoughts. That is when I realized that my question was one of the numerous problems coders face, and accepting the limitations of one’s understanding is also the lesson coding gives. I only see my code - and the world - in my narrow perspective and knowledge, and I will NEVER know what’s going on in most parts of them.

           3) When I realized that coding is actually a culture. That summer day, I was coding a problem in a café, when I found a boy solving the exact same problem. After a few seconds of awe, we went back to coding, but with a spark of competitiveness surrounding the atmosphere. Every once in a while, we glanced at each other's screen, taking account of how much the opponent has gotten closer to the finishing line. But when I saw him struggling on a part I solved, I intentionally stretched to let him take a hint from my code. Even though there was no dialogue, I could feel the thick bond as a fellow coder.

           By the mutual connection with a stranger, I realized that coding is not a mere academic activity nor a nerdy typing freak with a messy desk. It is an attitude, a motivation, and very much of a culture. It is about pushing yourself harder and pulling others who are behind. I then realized I had now become a part of the culture.

           So why do I code? The world I come from has diversity, mystery, and sympathy just like the codes I type. By coding, I learn to understand and accept diversity in society, I learn to acknowledge my limits and strive to broaden my perspective of the world, and I learn to cooperate with a community and absorb an attitude of life. Each moment spent in coding adds a layer to how I view the world.

           Coding is the one thing that defines my identity: a humanist philosophical coder.


Intersecting Philosophy and Text Mining - Towards Data Science


댓글