How teaching latin has helped me code

Stefan Hodges-Kluck
codeconnector
Published in
4 min readMay 14, 2019

For the past ten months, I’ve been tutoring Latin part-time while teaching myself HTML, CSS, and JavaScript. I’ve written before about how my familiarity with language got me into coding. And yet while knowing languages — particularly languages like Latin which have fairly complicated systems of grammar, syntax, and morphology — certainly involves many of the same brain cells as programming scripts, I’ve also learned some valuable coding skills; not from my knowledge of Latin, but from my experience teaching it.

First, let me say a little about my progress as a developer. Over the past few months, I’ve started to consider myself a junior-level web developer, instead of just a guy who’s learning code in the hopes of becoming a junior dev. Within the past couple of months, I have started to do contract work for a local dev shop, thus accomplishing my primary coding goal for 2019 (getting paid to code). This contract work has been a valuable experience, including working with a team, building real-world apps, having my code reviewed by others (yikes!), and learning to use Git without deleting anything important or summoning any ancient demons (super yikes!).

This is what happens if you commit changes to the master branch.

Working with a team has also taught me just how much I still don’t know. I’m getting the hang of building components with responsive UIs, working with libraries such as Bootstrap, Angular, and jQuery, and using the Chrome debugger to adjust CSS properties. At the same time, much of the development process still feels like the work of magical internet elves to me. Thus far I have benefited from lots of help in setting up sites on my localhost, using Windows IIS and SQL. I’ve had to ask a lot of questions before making Git commits, to make sure I don’t do anything I shouldn’t (like summoning that aforementioned ancient demon). And even in the front-end styling that’s more familiar to me, I’m learning just how much more there is for me to learn. I think I can hold my own with CSS, but working on a large-scale project, with a stylesheet built out of several SCSS partials, has shown me how much of a challenge it is to modify one part of a webpage/app without accidentally modifying something else. CSS is nothing to be taken lightly!

This is what happens when you change a parent’s CSS class without knowing all its children.

This brings me back to Latin. Not to brag or anything (because really, who cares?), but I’m great at Latin. I can read most any text with little to no help from a dictionary, and I have a keen eye for catching parts of speech, noun declensions, verb moods/tenses, and all the other annoying little rules that Latin has for how to construct words. (The classic “Romans Go Home” scene in Monty Python’s Life of Brian offers a humorous look at how frustrating it can be to get all these forms down.) I’ve been reading Latin for over 15 years. I enjoy reading it. I’ve even read The Hobbit in Latin, as bedtime reading. So it makes sense that I’m so comfortable with all of the pesky little rules and forms that give Latin students so many headaches.

The students I’m teaching, however, are much less experienced. I’m chiefly teaching high school students with around 2–3 years of Latin experience. The most important part of a tutoring session, for me, is patience. Latin passages that I can read in five minutes sometimes take students an entire hour and a half session to muddle through. Vocabulary words and endings that are obvious to me are often completely obscure (dare I say foreign?) to my less experienced students. As a tutor, it’s my job to be patient, and let students work where they are, while directing them where I’d like them to be.

When I code, I often find myself in my Latin students’ position, scratching my head to figure out things that seem simple to the more experienced developers around me. Experiencing this feeling has given me a new sense of compassion for the students I work with. At the same time, I think it’s also helped me become a better coder. I’m often frustrated, confused, overwhelmed, and/or exhausted by what I can’t do as a developer. But I also know that I can do more today than I could yesterday. As long as I can be as patient with myself as I need to be with my students, and can learn from those with more experience than myself, I will continue to become a more proficient coder. This is an encouraging thought.

--

--