The idea of a polyglot developer is quickly moving from a state of imagination to a state of reality. I 'm realizing that although there is immense job security for those who know what they are doing in a single language, there are several real benefits to being competent in several languages.
Some benefits include cross pollinating patterns and faster tool creation. However, I believe the biggest benefit is removing the thought constraints a person can have when they limit themselves to only using one language most of the time.
For many languages, it's not the syntax-sugar a language can have, but their ability to answer questions like "What if I didn't have to...?" or "If I wasn't focused on this area of the problem, would I see a different solution?"
So, how do you go about being competent in several languages? I recently surveyed a number of software developers, asking them what they prefer to do when learning a new language. This is what I heard.
- Always start by coding
- When you get stuck, follow an online tutorial
- For all the details, read a spec or the official book
- To keep it fresh in your memory, submit/merge pull requests in that language
Here are some techniques that were listed by survey responders.
- Only use what you’re learning (immersion)
- Start a new project
- Understand the wrong way to use it
- Learn it at your own pace
- Be able to apply each thing you learn
- Like it
- Practice it
I wish you the best of luck on your road to polyglot serenity.
No comments:
Post a Comment