Wer fremde Sprachen nicht kennt, weiß nichts von seiner eigenen”Johann Wolfgang von Goethe

When I tell someone I’m learning French, tout de suite they ask me why. It’s hard to explain my reasons in just a few sentences. It has helped me in so many ways; it has even helped me code better. How so?

Cogito ergo sum

The Cartesian way of thinking introduced by René Descartes emphasizes reason and structure. When making a speech, for example, a French person would introduce the theme at hand, look at the different aspects, give their opinion on the matter and then conclude. This structure, drilled into children from a very young age at their écoles, coupled with their worship of reason is admirable. Anything you do must be justifiable with concrete reasons. Any action you take must be after weighing the pros and the cons.

As a programmer, you often have to take decisions on what tools to base your work on. And programmers can be zealots when it comes to their tools of choice. The mature programmer, on the other hand, knows that every job has its tool. And before deciding on the tool you use, look at what is available, what is it best for and then decide whichever tool fits your needs best. That way, you are able to justify your choices with logic and reason.


It isn’t enough to be able to decide which tool to use for your particular use case. You have to be able to justify your decisions to a whole lot of people - the rest of the engineering team, product managers and other decision makers. What you say has to be thought through and clear. There is no room for ambiguity.


In the initial days of learning a language you start with a minimal vocabulary. Conveying rational thought is a pain. You have to come up with innovative ways to convey your thoughts. As you keep learning, your vocabulary improves. You are able to convey your ideas succinctly without ambiguity. This progression is something you achieved with conscious effort as compared to your expressiveness in your mother tongue. Which is why you learn to appreciate nuances and the ability to speak with clarity.

Structure and interpretation of sentences

Grammar battle

If I were to take a quiz on the technical aspects of the grammar of my mother tongue, I would most likely fail. While I can speak it fluently, I would be unable to explain to you the sentence structure or the tenses and modes. But when it comes to French I can tell you all about passé composé and complément d’objet direct. This is because learning French took conscious effort and I based it on a study of grammar.

A side effect of this is that I’ve been able to translate this understanding of French grammar into English. A connaissance of the chemistry of words is essential to the work I do. Knowing how to analyze the sentence structure is at the heart of what we do here at Compile, and if not for my improved understanding of grammatical structures, I would’ve been at a loss here.

Challenge preconceptions

Foreign accents

Say “French” and the image that comes to your mind is that of a mustachioed guy in a striped shirt and beret, holding a baguette and a glass of wine. You assume this guy is arrogant and looks down upon you, hates that you don’t know any French yourself and is rude.

Now, if you’ve been to France you know that nothing could be farther from the truth. They’re proud of their language, but they’re quite encouraging of people who speak broken French. Above all, they are very warm and welcoming people. Totally not the snooty stereotype that was a figment of some madman’s imagination.

Programmers, like the rest of humanity, are consumers of stereotypes. Many tools have been held hostage to stereotypes, few have broken through. Javascript is a notable example of a language which developed beyond anyone’s wildest dreams despite being initially pigeonholed. As part of our trade-craft programmers tend to have thumb rules. It is essential to periodically examine them and make sure they’re current. In a field as young as computer science, being a captive of outdated preconceptions can be a costly mistake. Challenge assumptions!

Learning to learn

My favorite french teacher told us once in class that what we need to learn was not so much the language as “learning to learn”. It wasn’t just sufficient to learn conjugations and rules of grammar by heart; equally important was getting right the technique of learning.

Computer Science is unique among all engineering streams as it is still in its formative stages. Today, we are probably like the engineers of the Egyptian Pharaohs who were asked to build the great pyramids. Which is why it is critical to know what’s new. Engineers are criticized often for going after the newest shiny toy, but this behavior is for a good reason. It is how we learn. The important thing is to keep learning, and not forgetting the lessons of learning to learn.

Beyond the pleasures of learning a new tongue, there exist a myriad reasons for learning a language. So which one are you going to start with today?

Image CreditsLe Décôding, Grammar Battle and Foreign Accents by Malachi Rempen