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.
댓글
댓글 쓰기