Dramatic View of Moscow's Kremlin Walls

In Brief

I studied Slavic Languages and Literatures in grad school, during which time I wrote a very fun dissertation on scandal and literature. Now I am continuing my career in the field of education as a software developer at a great EdTech company.

Some Thoughts on Language

The transition from natural languages to programming languages has been an interesting one for me. On the one hand, Russian and Polish contain tens of thousands of words, an extensive case system, and complicated syntax. The sheer size of a human language and its rules (and exceptions to the rules) dwarfs any programming language. Furthermore, natural languages exist inside a big messy framework called “culture” where, as groundbreaking 20th-century philosophers have pointed out, every utterance is intimately interconnected with both past and future utterances. The scale is unthinkably immense.

On the other hand, programming languages present their own challenges—getting from here to there efficiently often requires excellent logical and mathematical skills, while the task of modeling real-world objects within a programming language in a maximally effective manner requires a type of creativity very different than the one poets or authors exercise. In my mind, the thing that links together natural and programming languages is that they’re both incredibly fun to work with.


When I’m not writing code concisely or writing words loquaciously, my hobbies these days include playing and watching soccer, going to concerts (jazz, art rock, metal, you name it), trying to coax not-quite-awful sounds out of my guitar, hiking, traveling (because where can one hike in the Chicagoland area?), cooking, and taking pictures of stuff, including the 15th-century walls of medieval Russian fortresses as seen at the top of the desktop version of this page.