birdman and becoming polyglot

2 minute read

Birdman is an American black comdy that features a faded Hollywood actor famous for his superhero role. While seeing the film, I kind of thought I have something in common with the character. He doesn't wanted to be labelled as Hollywood superhero junkie, but to be seen as an artist, a Broadway actor.

I like the word, "polyglot programming". I'm fascinated by people who code in different language on cross-platforms. Though I mostly use C# and .NET framework on windows at work. I strive to be polyglot. Also I want to be seen as a polyglot developer, capable of using multiple sets of language. On my linkedin profile, I proudly wrote that I've got skills of F#, javascript (includindg Node.js), Python, and Ruby. I consciously spend time to learn those languages. For my side projects, I use Node.js, express, and angular. I wrote a couple of simple android apps in Java. I spent quite bit of time learning ruby, went through Ruby Koans twice, and did one project in ruby and rails.

However, I often did so, because I loved the glorious title of "polyglot programmer." I had hope that one day I will be like a magician with spinning dishes on poles, using different languages and platforms skilfully.

At the end of the film, the actor finally accepts that he is a Birdman. Accepting the identity frees him. Working hard to be polyglot for the sake of its glory was tiring, I confess. It's like you get exhausted if you try to be cool or impressive all the time. Like the birdman, I need to accept that I might not be polyglot, if being polyglot has minimum requirements, like you have to know at least 4 different major languages on different platforms. If the word, "polyglot", enslaves you, I must fell. I don't have to cool or awesome. I just want to be a programmer, who is good at what he's doing. I don't have to a guru. I'm happy to be a journeyman

A good developer would eventually be polyglot. You need a right tool for the job, and if you know more tools, and then you can do the job much better more effectively, For example,

"Using Java to solve a clearly functional problem, when Clojure would be simpler. Or building a Rails app when your users want the kind of fluid interface a single page JavaScript framework can give them."(

So, to be polyglot for the sake of being polyglot doesn't give you much benefit. It may make you rather arrogant. Just try to know different languages, tools, and environments enough that you can decide which would be the best tool for the job you have now. Use the language and tool for job and deepen your understanding and knowledge along. Don't be afraid of using different toolsets. Then along the journey, at some point, you will find you have become truly polyglot.

Being polyglot can't be the purpose. It's the end result you become, when you try to be good at your job.