The First Puzzle Piece: Why I Started Programming

Dylan | May 20, 2019

Post Thumbnail

Programming hobbyists and professionals alike remember the first time they used code to solve a problem. Some of us enjoyed printing text or drawing shapes on a screen but regardless of the problem and its practicality, watching your program work was incredibly satisfying and unbelievably addicting.

I had my first experience during a year-long exchange at a university in South Korea. Human languages have always fascinated me and given the unbelievable opportunity to live abroad, I committed to learning Korean.

The Problem

The Korean language has several consonants indistinguishable from others for native English speakers. The only difference between the consonants is an increase in intensity or sharpness.

Misinterpreting one sound for another can result in an entirely new word, creating a confusing and/or embarrassing situation. As an example, only a slight change in the sharpness of an “s” stands between ordering rice and ordering flesh.

Anyone who has ever studied a foreign language knows how difficult it can be understand natural speech. It’s even trickier when several letters sound the same.

The Solution

If only there were a way to routinely practice and improve distinguishing sounds (without annoying all the Koreans around me). I knew if I could generate some sort of practice quiz, I could train my ears to accurately identify the correct sound.

I wished there was some sort of website or software that could play recordings of words and prompt the user to identify the letters. After scouring Google and coming up empty-handed, I turned to one of my friend’s studying computer science with my idea.

He kindly offered to help me write the program if I recorded the audio files so I spent a couple of days putting together a little script. The script consisted of several word-pairs with identical letters except for the one single sound that I wanted to isolate for training. I enthusiastically explained my project to a few Korean friends and thankfully three were generous enough to help.

After gathering all the audio recordings, I returned to my friend and he began hacking away using Python. He tried to explain what he was doing and I sat there nodding my head, pretending to understand more than I actually did.

Success and the Start of Something New

Roughly 90 minutes later, my little program actually existed and for my requirements, worked flawlessly. My friend’s knowledge both thrilled and fascinated me. It was incredible what he was able to create with nothing more than a laptop, Python interpreter, and half an hour. I actually incorporated this program into my daily Korean study and quickly began noticing improvement.

Python’s ability to ease my language learning challenge stuck with me and drove me to begin learning the basics. I have always enjoyed learning human languages and enjoy viewing them as giant puzzles that require years of consistent dedication to “complete”. Programming is exactly the same way and perhaps this is what makes it so irresistible.

Thanks for reading and as always we would love to hear from you! Please share your first programming experience in the comments below! Do you recall the feeling of watching your first code work?