I'm comfortable writing C#, PHP and Javascript. Those are the languages I use professionally. While I don't consider myself an expert in any of them, I can at least say that I'm fairly proficient with them. I don't need to deliberately practice my skills at those languages anymore because I know them very well. What I will do from time to time is learn and experiment with new libraries, integrating them into my projets if they solve a problem I have.
Once you master a language, only learning new libraries will not be enough for you to advance your skills further. Sure, some library might come along and challenge the status quo, but generally you will tend to stick with the patterns you're comfortable with. You get your job done just by going through the motions, without thinking much about what you're doing.
That's where you stagnate. The last thing you want to do is fall into complacency.
Past a certain point, if you really want to push your skills further, you need to do something different. No just do "more of the same". Learning a new framework or a language that's very similar to one you already know is just a new way to do the exact same thing. It's easy to learn Java or Python when you already know C# or Javascript. You will feel right at home after a couple weeks.
You want to learn a language that will make you feel dumb at first. You need to be disoriented in order to grow as a developer. This is where you'll push the boundaries of your knowledge into new territories.
My personal suggestion would be Clojure. And that's a story for another article ;)
What would be your suggestion for a programming language that goes off the beaten paths?
Top comments (0)